/*
Theme Name: Eman Ayaz - Deep Ocean (Elementor Ready)
Theme URI: https://emanayyaz.online
Author: Eman Ayaz
Author URI: https://emanayyaz.online
Description: A premium cinematic deep-ocean portfolio & blog theme for AI Creators. Fully editable with Elementor. Add projects with images, write blog posts (Ocean Log), and edit all text/links from the WordPress Customizer. Bioluminescent animations, jellyfish, whale silhouette, seahorses, starfish, shells & pearls.
Version: 3.1.0
Requires at least: 5.5
Tested up to: 6.6
Requires PHP: 7.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ocean-eman
Tags: portfolio, blog, dark, one-page, elementor, custom-colors, custom-menu, featured-images, full-width-template, theme-options
*/

:root{
  --c0:#020617; --c1:#041C32; --c2:#04293A; --c3:#064663;
  --biolum:#3fd0ff; --aqua:#5ee0d6; --emerald:#34e0a1; --purple:#8b7bff;
  --pearl:#EAF4F4; --gold:#E8C97A; --beige:#dcc9a6;
  --text:#eaf4f4; --muted:#9fc0c4; --dim:#6f9498; --faint:#46666b;
  --serif:'Cormorant Garamond',serif; --display:'Syne',sans-serif; --body:'Inter',sans-serif;
}
*{box-sizing:border-box;-webkit-font-smoothing:antialiased;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:var(--body);color:var(--text);overflow-x:hidden;line-height:1.6;
  background:linear-gradient(180deg,#063a5e 0%,#04293A 18%,#041C32 45%,#020617 75%,#01030a 100%);background-attachment:fixed;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;height:auto;display:block;}
::selection{background:var(--biolum);color:#01030a;}
::-webkit-scrollbar{width:8px;}::-webkit-scrollbar-track{background:#020617;}
::-webkit-scrollbar-thumb{background:#0d3744;border-radius:8px;}::-webkit-scrollbar-thumb:hover{background:var(--biolum);}
.serif{font-family:var(--serif);}.display{font-family:var(--display);}
.glow-text{background:linear-gradient(135deg,var(--aqua) 0%,var(--biolum) 45%,var(--gold) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.glass{background:rgba(63,208,255,0.04);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(94,224,214,0.16);box-shadow:inset 0 1px 0 rgba(234,244,244,0.05);}
.wrap{max-width:1240px;margin:0 auto;padding:0 28px;}
.section{padding:clamp(70px,11vw,150px) 28px;max-width:1240px;margin:0 auto;position:relative;z-index:3;}
.eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:18px;font-size:11px;letter-spacing:4px;color:var(--biolum);font-weight:600;text-transform:uppercase;}
.eyebrow .star{font-size:18px;filter:drop-shadow(0 0 8px var(--gold));animation:spin 18s linear infinite;}
.eyebrow.center{justify-content:center;}
@keyframes spin{to{transform:rotate(360deg);}}
.reveal{opacity:0;transform:translateY(30px);transition:opacity 1s cubic-bezier(.22,1,.36,1),transform 1s cubic-bezier(.22,1,.36,1);}
.reveal.in{opacity:1;transform:none;}
h1,h2,h3{font-family:var(--display);}
h2.title{font-weight:700;letter-spacing:-1px;margin:0 0 16px;font-size:clamp(34px,5vw,64px);}

/* OCEAN FX */
.ocean-fx{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
.caustic{position:absolute;inset:-20%;background:radial-gradient(circle at 20% 8%,rgba(94,224,214,.10),transparent 38%),radial-gradient(circle at 82% 24%,rgba(63,208,255,.07),transparent 42%),radial-gradient(circle at 50% 92%,rgba(139,123,255,.06),transparent 50%);animation:drift 24s ease-in-out infinite alternate;}
@keyframes drift{100%{transform:translate(-34px,-22px) scale(1.08);}}
.bubble{position:absolute;bottom:-50px;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(234,244,244,.45),rgba(94,224,214,.10) 60%,transparent 75%);border:1px solid rgba(234,244,244,.14);animation:rise linear infinite;}
@keyframes rise{0%{transform:translateY(0) translateX(0);opacity:0;}12%{opacity:.7;}88%{opacity:.45;}100%{transform:translateY(-115vh) translateX(40px);opacity:0;}}
.creature{position:absolute;animation:sway 10s ease-in-out infinite;}
@keyframes sway{0%,100%{transform:translateY(0) rotate(-3deg);}50%{transform:translateY(-26px) rotate(3deg);}}
.jelly{position:absolute;width:70px;height:90px;opacity:.5;animation:jellyfloat 16s ease-in-out infinite;filter:drop-shadow(0 0 18px var(--biolum));}
.jelly .bell{width:62px;height:46px;border-radius:50% 50% 42% 42%;background:radial-gradient(circle at 50% 30%,rgba(139,123,255,.55),rgba(63,208,255,.25) 70%,transparent);}
.jelly .tent{position:absolute;top:40px;left:50%;width:2px;height:46px;background:linear-gradient(rgba(94,224,214,.7),transparent);animation:tent 3s ease-in-out infinite;}
@keyframes jellyfloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-50px);}}
@keyframes tent{0%,100%{transform:translateX(-50%) scaleY(1);}50%{transform:translateX(-50%) scaleY(1.25);}}
.whale{position:fixed;top:18%;left:-40vw;width:46vw;max-width:680px;opacity:.10;z-index:1;animation:swim 60s linear infinite;filter:drop-shadow(0 0 30px rgba(63,208,255,.3));}
@keyframes swim{0%{left:-50vw;}100%{left:120vw;}}
.fish{position:absolute;font-size:13px;opacity:.3;animation:schoolSwim linear infinite;}
@keyframes schoolSwim{0%{transform:translateX(-10vw);}100%{transform:translateX(110vw);}}
#depth-overlay{position:fixed;inset:0;z-index:0;pointer-events:none;background:#020617;opacity:0;transition:opacity .3s;}

/* LOADER */
#loader{position:fixed;inset:0;z-index:10000;background:linear-gradient(180deg,#04293A,#020617);display:flex;align-items:center;justify-content:center;flex-direction:column;transition:opacity 1s ease;}
#loader.hide{opacity:0;pointer-events:none;}
#loader .ic{font-size:56px;margin-bottom:16px;animation:sway 4s ease-in-out infinite;filter:drop-shadow(0 0 22px var(--biolum));}
#loader .name{font-family:var(--serif);font-size:clamp(40px,8vw,82px);font-weight:600;letter-spacing:2px;}
#loader .bar{width:200px;height:1.5px;background:rgba(234,244,244,.1);margin-top:26px;overflow:hidden;border-radius:2px;}
#loader .bar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,transparent,var(--biolum),var(--aqua));transform:translateX(-100%);animation:load 2s ease-in-out forwards;}
@keyframes load{to{transform:translateX(0);}}
#loader .sub{margin-top:18px;color:var(--faint);letter-spacing:6px;font-size:10px;text-transform:uppercase;}

/* NAV */
#nav{position:fixed;top:0;left:0;right:0;z-index:600;padding:24px 0;transition:all .4s ease;}
#nav.scrolled{padding:13px 0;background:rgba(2,6,23,.7);backdrop-filter:blur(18px);border-bottom:1px solid rgba(94,224,214,.12);}
#nav .inner{display:flex;align-items:center;justify-content:space-between;}
#nav .logo{font-family:var(--serif);font-size:24px;font-weight:600;letter-spacing:1px;display:flex;align-items:center;gap:8px;}
#nav .links{display:flex;gap:30px;align-items:center;list-style:none;margin:0;padding:0;}
#nav .links a{color:#bfdcde;font-size:13px;letter-spacing:.5px;transition:color .3s;}
#nav .links a:hover{color:var(--biolum);}
#nav .btn{padding:9px 20px;border:1px solid var(--biolum);border-radius:40px;color:var(--biolum)!important;font-size:13px;}
#nav .burger{display:none;background:none;border:none;color:var(--pearl);cursor:pointer;font-size:22px;}
#mm{position:fixed;inset:0;z-index:800;background:rgba(2,6,23,.97);backdrop-filter:blur(22px);display:none;flex-direction:column;align-items:center;justify-content:center;gap:26px;}
#mm.open{display:flex;}#mm a{font-family:var(--serif);color:var(--pearl);font-size:32px;}
#mm .close{position:absolute;top:26px;right:26px;background:none;border:none;color:var(--pearl);cursor:pointer;font-size:30px;}

/* HERO */
#hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;}
.lightray{position:absolute;top:-15%;width:140px;height:130%;background:linear-gradient(to bottom,rgba(94,224,214,.16),transparent 70%);transform-origin:top;animation:rayPulse 9s ease-in-out infinite;}
@keyframes rayPulse{0%,100%{opacity:.25;}50%{opacity:.6;}}
.glowcoral{position:absolute;bottom:-2px;font-size:clamp(60px,12vw,150px);opacity:.5;filter:drop-shadow(0 0 24px var(--emerald));animation:sway 11s ease-in-out infinite;}
.hero-vig{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 130%,transparent,#020617 80%);}
#hero .content{position:relative;z-index:4;max-width:1240px;margin:0 auto;padding:120px 28px 90px;width:100%;}
.badge{display:inline-flex;align-items:center;gap:9px;padding:8px 16px;border-radius:40px;font-size:12px;color:var(--pearl);letter-spacing:2px;margin-bottom:30px;}
#hero h1{font-size:clamp(40px,7.4vw,98px);line-height:1.0;font-weight:800;margin:0;max-width:1050px;letter-spacing:-1.5px;text-shadow:0 0 50px rgba(63,208,255,.2);}
#hero h1 span{display:block;}
#hero p{color:var(--muted);font-size:clamp(15px,1.4vw,19px);line-height:1.75;max-width:620px;margin-top:30px;font-weight:300;}
.cta-row{display:flex;gap:16px;margin-top:42px;flex-wrap:wrap;}
.btn-primary{display:inline-flex;align-items:center;gap:10px;padding:16px 32px;border-radius:44px;background:linear-gradient(135deg,var(--aqua),var(--biolum));color:#01151c;font-weight:600;font-size:15px;transition:transform .3s,box-shadow .3s;box-shadow:0 8px 32px rgba(63,208,255,.3);}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 14px 44px rgba(63,208,255,.5);}
.btn-ghost{display:inline-flex;align-items:center;gap:10px;padding:16px 32px;border-radius:44px;color:var(--pearl);font-weight:500;font-size:15px;}
.scroll-ind{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);z-index:4;text-align:center;animation:bob 2s infinite;}
@keyframes bob{0%,100%{transform:translateX(-50%) translateY(0);}50%{transform:translateX(-50%) translateY(10px);}}
.scroll-ind .l{color:var(--faint);font-size:10px;letter-spacing:3px;}
.scroll-ind .line{width:1px;height:38px;background:linear-gradient(var(--biolum),transparent);margin:8px auto 0;}

.divider{display:flex;align-items:center;justify-content:center;gap:18px;padding:30px 0;position:relative;z-index:3;}
.divider .ln{height:1px;width:120px;background:linear-gradient(90deg,transparent,rgba(94,224,214,.5),transparent);}
.divider .sh{font-size:34px;filter:drop-shadow(0 0 12px var(--biolum));animation:sway 7s ease-in-out infinite;}

/* ABOUT */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,90px);align-items:center;}
.cave{aspect-ratio:4/5;border-radius:26px;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 40%,rgba(6,70,99,.7),rgba(2,6,23,.95) 75%);border:1px solid rgba(94,224,214,.18);}
.cave img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.cave .arch{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 120%,transparent 30%,#020617 60%);z-index:1;}
.cave .ea{font-family:var(--serif);font-size:clamp(80px,14vw,170px);font-weight:600;z-index:1;}
.cave .seah{position:absolute;top:20px;right:22px;font-size:34px;opacity:.6;z-index:2;animation:sway 6s ease-in-out infinite;}
.cave .loc{position:absolute;bottom:22px;left:24px;color:var(--biolum);font-size:13px;display:flex;align-items:center;gap:7px;z-index:2;}
.cave .enter{position:absolute;top:24px;left:24px;font-size:11px;letter-spacing:3px;color:var(--muted);z-index:2;}
.about p{color:var(--muted);font-size:17px;line-height:1.8;margin:0 0 18px;font-weight:300;}
.about .quote{font-family:var(--serif);font-size:28px;color:var(--pearl);font-style:italic;line-height:1.4;margin:12px 0 0;}
.pearls{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px;}
.pearl-stat{display:flex;align-items:center;gap:12px;padding:14px 20px;border-radius:40px;}
.pearl-orb{width:24px;height:24px;border-radius:50%;background:radial-gradient(circle at 32% 28%,#fff,var(--aqua) 55%,var(--c3));box-shadow:0 0 14px var(--aqua);flex-shrink:0;}
.pearl-stat .n{font-family:var(--display);font-weight:700;font-size:18px;color:var(--pearl);}
.pearl-stat .l{font-size:12px;color:var(--dim);}

/* WORK / REEF */
.reef-bg{position:absolute;bottom:0;left:0;right:0;height:200px;z-index:0;pointer-events:none;display:flex;justify-content:space-around;align-items:flex-end;opacity:.35;}
.reef-bg span{font-size:clamp(40px,7vw,90px);filter:drop-shadow(0 0 16px var(--emerald));animation:sway 12s ease-in-out infinite;}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:44px;}
.filter{padding:9px 18px;border-radius:40px;font-size:13px;cursor:pointer;border:1px solid rgba(94,224,214,.2);background:transparent;color:var(--muted);transition:all .3s;font-family:var(--body);}
.filter.active{border-color:var(--biolum);background:var(--biolum);color:#01151c;font-weight:600;}
.work-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px;position:relative;z-index:2;}
.card{cursor:pointer;border-radius:20px;overflow:hidden;border:1px solid rgba(94,224,214,.16);position:relative;aspect-ratio:4/3;transition:transform .45s,box-shadow .45s;display:block;}
.card:hover{transform:translateY(-10px);box-shadow:0 22px 56px rgba(63,208,255,.25);}
.card .grad{position:absolute;inset:0;background-size:cover;background-position:center;}
.card .shine{position:absolute;inset:0;background:radial-gradient(circle at 70% 18%,rgba(94,224,214,.24),transparent 60%);}
.card .ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(2,6,23,.85),transparent 65%);}
.card .body{position:absolute;inset:0;padding:24px;display:flex;flex-direction:column;justify-content:space-between;z-index:2;}
.card .tag{align-self:flex-start;padding:5px 13px;border-radius:30px;font-size:11px;color:var(--aqua);letter-spacing:1px;}
.card h3{color:var(--text);font-size:23px;margin:0 0 8px;font-weight:700;}
.card p{color:#cfe6e6;font-size:14px;margin:0;line-height:1.5;font-weight:300;}
.card .more{display:flex;align-items:center;gap:7px;color:var(--biolum);font-size:13px;margin-top:14px;font-weight:500;}
.card .shell{position:absolute;bottom:14px;right:16px;font-size:30px;opacity:.4;transition:.4s;z-index:2;}
.card:hover .shell{opacity:.85;transform:scale(1.15) rotate(-8deg);}

/* PHILOSOPHY */
#philosophy{padding:clamp(90px,13vw,170px) 28px;text-align:center;overflow:hidden;position:relative;z-index:3;}
#philosophy .pg{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,rgba(63,208,255,.1),transparent 60%);}
#philosophy .in{max-width:980px;margin:0 auto;position:relative;}
#philosophy .whaleicon{font-size:48px;margin-bottom:20px;display:inline-block;opacity:.8;animation:sway 9s ease-in-out infinite;filter:drop-shadow(0 0 18px var(--biolum));}
#philosophy h2{font-family:var(--serif);font-size:clamp(36px,6vw,80px);line-height:1.1;font-weight:500;margin:0 0 36px;}
#philosophy p{color:var(--muted);font-size:clamp(17px,1.6vw,21px);line-height:1.8;max-width:720px;margin:0 auto;font-weight:300;}

/* TOOLS */
.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px;}
.tool{padding:28px 20px;border-radius:16px;text-align:center;transition:transform .3s,border-color .3s,box-shadow .3s;}
.tool:hover{transform:translateY(-7px);border-color:var(--biolum);box-shadow:0 14px 38px rgba(63,208,255,.2);}
.tool .ic{width:46px;height:46px;margin:0 auto 14px;border-radius:12px;background:linear-gradient(135deg,rgba(94,224,214,.3),rgba(63,208,255,.06));display:flex;align-items:center;justify-content:center;font-size:20px;}
.tool .nm{color:var(--pearl);font-size:15px;font-weight:500;}

/* JOURNEY */
.journey-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,80px);}
.timeline{position:relative;padding-left:30px;}
.timeline .rail{position:absolute;left:6px;top:6px;bottom:6px;width:1px;background:linear-gradient(var(--biolum),transparent);}
.tl-item{position:relative;margin-bottom:38px;}
.tl-item .dot{position:absolute;left:-29px;top:4px;width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 32% 28%,#fff,var(--aqua) 55%,var(--c3));box-shadow:0 0 14px var(--aqua);}
.tl-item .yr{color:var(--biolum);font-size:13px;letter-spacing:1px;margin-bottom:6px;}
.tl-item h3{color:var(--text);font-size:22px;margin:0 0 3px;font-weight:600;}
.tl-item .org{color:var(--pearl);font-size:15px;margin-bottom:8px;}
.tl-item p{color:var(--dim);font-size:14px;line-height:1.6;margin:0;font-weight:300;}
.edu-card{padding:26px;border-radius:18px;margin-bottom:24px;display:flex;gap:18px;align-items:flex-start;}
.edu-card .ic,.cert .ic{width:44px;height:44px;flex-shrink:0;border-radius:12px;background:linear-gradient(135deg,rgba(94,224,214,.3),rgba(63,208,255,.06));display:flex;align-items:center;justify-content:center;font-size:18px;}
.edu-card h3{color:var(--text);font-size:20px;margin:0 0 3px;font-weight:600;}
.edu-card .yr{color:var(--biolum);font-size:12px;letter-spacing:1px;margin-bottom:5px;}
.edu-card .sub{color:var(--dim);font-size:14px;}
.certs{display:grid;gap:14px;}
.cert{padding:16px 22px;border-radius:14px;display:flex;gap:14px;align-items:center;transition:transform .3s;}
.cert:hover{transform:translateX(6px);}.cert .pearl-orb{width:18px;height:18px;}
.cert .t{color:var(--pearl);font-size:15px;font-weight:500;}.cert .s{color:var(--dim);font-size:13px;}

/* BLOG / OCEAN LOG */
.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;}
.post-card{border-radius:20px;overflow:hidden;border:1px solid rgba(94,224,214,.16);transition:transform .4s,box-shadow .4s;display:flex;flex-direction:column;}
.post-card:hover{transform:translateY(-8px);box-shadow:0 20px 50px rgba(63,208,255,.2);}
.post-card .thumb{aspect-ratio:16/10;background-size:cover;background-position:center;position:relative;}
.post-card .thumb .ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(2,6,23,.6),transparent);}
.post-card .pc-body{padding:24px;flex:1;display:flex;flex-direction:column;}
.post-card .date{color:var(--biolum);font-size:12px;letter-spacing:1px;margin-bottom:10px;}
.post-card h3{color:var(--text);font-size:21px;margin:0 0 10px;font-weight:600;line-height:1.3;}
.post-card p{color:var(--dim);font-size:14px;line-height:1.6;margin:0 0 16px;font-weight:300;flex:1;}
.post-card .read{color:var(--biolum);font-size:13px;font-weight:500;display:flex;align-items:center;gap:6px;}

/* SINGLE / PAGE CONTENT */
.entry{color:var(--muted);font-size:18px;line-height:1.85;font-weight:300;}
.entry h2,.entry h3{color:var(--pearl);margin:32px 0 14px;}
.entry a{color:var(--biolum);}.entry img{border-radius:14px;margin:24px 0;}
.entry blockquote{border-left:3px solid var(--biolum);padding:14px 24px;margin:24px 0;font-family:var(--serif);font-style:italic;font-size:22px;color:var(--pearl);}
.pagination{display:flex;gap:10px;flex-wrap:wrap;margin-top:46px;}
.pagination .page-numbers{padding:10px 16px;border-radius:10px;border:1px solid rgba(94,224,214,.2);color:var(--muted);}
.pagination .current{background:var(--biolum);color:#01151c;border-color:var(--biolum);}

/* TESTIMONIALS */
#testimonials{padding:clamp(80px,11vw,140px) 28px;text-align:center;position:relative;z-index:3;}
#testimonials .in{max-width:880px;margin:0 auto;}
.t-box{padding:clamp(30px,5vw,56px);border-radius:26px;min-height:240px;}
.t-box .q{font-family:var(--serif);font-size:clamp(20px,2.4vw,30px);color:var(--pearl);line-height:1.5;font-style:italic;margin:0 0 30px;transition:opacity .35s;}
.t-author{display:flex;align-items:center;justify-content:center;gap:14px;}
.t-author .av{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,var(--aqua),var(--biolum));display:flex;align-items:center;justify-content:center;color:#01151c;font-weight:700;font-size:20px;font-family:var(--display);}
.t-author .nm{color:var(--text);font-size:16px;font-weight:600;text-align:left;}
.t-author .role{color:var(--dim);font-size:13px;text-align:left;}
.t-nav{display:flex;justify-content:center;gap:14px;margin-top:28px;align-items:center;}
.t-nav button{width:44px;height:44px;border-radius:50%;border:none;color:var(--pearl);cursor:pointer;display:flex;align-items:center;justify-content:center;}
.dots{display:flex;gap:8px;}.dots span{width:8px;height:8px;border-radius:8px;cursor:pointer;background:rgba(234,244,244,.2);transition:.3s;}
.dots span.on{width:26px;background:var(--biolum);}

/* CONTACT */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,80px);align-items:start;}
.contact h2{font-size:clamp(34px,5vw,58px);line-height:1.05;}
.contact p{color:var(--muted);font-size:18px;line-height:1.7;font-weight:300;margin-bottom:34px;}
.contact .email{display:inline-flex;align-items:center;gap:10px;color:var(--biolum);font-size:17px;margin-bottom:30px;}
.socials{display:flex;gap:12px;flex-wrap:wrap;}
.socials a{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--pearl);transition:.3s;font-size:13px;font-weight:600;}
.socials a:hover{color:var(--biolum);transform:translateY(-4px);}
form.cf{padding:clamp(26px,4vw,40px);border-radius:22px;display:grid;gap:16px;}
.cf input,.cf select,.cf textarea{width:100%;padding:15px 18px;border-radius:12px;background:rgba(2,6,23,.4);border:1px solid rgba(94,224,214,.22);color:var(--text);font-size:15px;outline:none;font-family:var(--body);}
.cf input:focus,.cf select:focus,.cf textarea:focus{border-color:var(--biolum);}
.cf select option{background:#04293A;}.cf textarea{resize:vertical;}
.cf button{padding:16px;border-radius:12px;border:none;cursor:pointer;background:linear-gradient(135deg,var(--aqua),var(--biolum));color:#01151c;font-weight:600;font-size:16px;display:flex;align-items:center;justify-content:center;gap:8px;transition:transform .2s;}
.cf button:hover{transform:scale(1.02);}

/* FOOTER */
footer.site-footer{border-top:1px solid rgba(94,224,214,.14);padding:70px 28px 50px;text-align:center;position:relative;z-index:3;overflow:hidden;}
.city{display:flex;justify-content:center;align-items:flex-end;gap:8px;margin-bottom:34px;opacity:.5;height:80px;}
.city span{width:14px;border-radius:3px 3px 0 0;background:linear-gradient(rgba(63,208,255,.5),rgba(6,70,99,.3));box-shadow:0 0 12px rgba(63,208,255,.3);}
footer .deep-h{font-family:var(--serif);font-size:clamp(22px,3vw,34px);color:var(--pearl);font-style:italic;margin-bottom:10px;}
footer .deep-s{font-family:var(--display);font-size:clamp(18px,2.2vw,26px);margin-bottom:30px;}
footer .fn{font-family:var(--serif);font-size:26px;font-weight:600;margin-bottom:8px;}
footer .fc{color:#3a565a;font-size:13px;}

/* Elementor full-width compatibility */
.elementor-page .section{max-width:100%;}
.page-template-elementor_header_footer #nav{position:fixed;}

@media(max-width:880px){#nav .links{display:none;}#nav .burger{display:block;}}
@media(max-width:820px){.about-grid,.journey-grid,.contact-grid{grid-template-columns:1fr!important;}}


/* CUSTOM UPDATES: PROFILE, LINKS, TOOLS, PROJECTS */
.cave-photo{background:radial-gradient(ellipse at 50% 30%,rgba(9,90,129,.55),rgba(2,6,23,.96) 75%),linear-gradient(180deg,#041C32,#01030a);}
.about-photo{position:absolute;inset:70px 26px 56px;object-fit:cover;width:calc(100% - 52px);height:calc(100% - 126px);border-radius:24px;box-shadow:0 25px 80px rgba(2,6,23,.55);border:1px solid rgba(234,244,244,.08);}
.about .quote{font-family:var(--serif);font-size:clamp(30px,3vw,44px);line-height:1.2;margin:28px 0 22px;color:var(--pearl);font-style:italic;}
.about-bio{font-size:20px;color:#d8eded;}
.connect-row,.contact-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:28px 0 8px;}
.social-card{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:20px;min-height:84px;transition:transform .3s,box-shadow .3s;border:1px solid rgba(94,224,214,.18);}
.social-card:hover{transform:translateY(-4px);box-shadow:0 16px 42px rgba(2,6,23,.34);}
.social-card strong{display:block;color:var(--pearl);font-size:16px;line-height:1.1;}
.social-card small{display:block;margin-top:6px;color:var(--muted);font-size:12px;letter-spacing:.2px;}
.brand-mark{width:48px;height:48px;min-width:48px;border-radius:16px;display:grid;place-items:center;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 8px 24px rgba(2,6,23,.2);}
.brand-mark svg{width:24px;height:24px;display:block;}
.brand-calendly{background:linear-gradient(135deg,#0f5cff,#30c4ff);}
.brand-upwork{background:linear-gradient(135deg,#14a800,#59d772);color:#092f13;}
.brand-linkedin{background:linear-gradient(135deg,#0a66c2,#1c86ff);}
.logo-grid .tool-card{display:flex;align-items:center;gap:14px;padding:18px;border-radius:18px;min-height:86px;}
.tool-card .nm{font-size:15px;color:#eaf4f4;font-weight:600;}
.tool-mark{width:54px;height:54px;min-width:54px;border-radius:18px;display:grid;place-items:center;font-weight:800;letter-spacing:.6px;color:#fff;font-size:14px;box-shadow:0 10px 28px rgba(2,6,23,.25),inset 0 1px 0 rgba(255,255,255,.18);}
.tool-midjourney{background:linear-gradient(135deg,#7a6cff,#ae97ff);}
.tool-runway{background:linear-gradient(135deg,#00c6ff,#0072ff);}
.tool-kling{background:linear-gradient(135deg,#ff4fd8,#8d4bff);}
.tool-leonardo{background:linear-gradient(135deg,#ff9f43,#ffcd56);color:#482500;}
.tool-veo{background:linear-gradient(135deg,#2dd4bf,#14b8a6);color:#032f2d;}
.tool-chatgpt{background:linear-gradient(135deg,#10a37f,#4ee1b7);color:#073e32;}
.tool-claude{background:linear-gradient(135deg,#ff8a5b,#ffb38a);color:#542614;}
.tool-canva{background:linear-gradient(135deg,#00c4cc,#7d2ae8);}
.tool-capcut{background:linear-gradient(135deg,#111827,#374151);}
.tool-suno{background:linear-gradient(135deg,#ff577f,#ff8d5b);}
.ocean-project-body h3{font-family:var(--display);font-size:28px;margin:38px 0 16px;color:var(--pearl);}
.ocean-project-body ul{margin:0 0 24px 18px;color:var(--muted);}
.ocean-project-body li{margin-bottom:8px;}
.ocean-project-note{padding:16px 18px;border-radius:18px;margin:24px 0;color:var(--muted);}
.ocean-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px;}
.ocean-media-item{border-radius:18px;overflow:hidden;display:block;border:1px solid rgba(94,224,214,.16);}
.ocean-media-item img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/5;transition:transform .4s ease;}
.ocean-media-item:hover img{transform:scale(1.03);}
.ocean-project-video{padding:14px;border-radius:20px;margin:0 0 22px;}
.ocean-project-video video{width:100%;display:block;border-radius:14px;background:#000;max-height:580px;}
.ocean-project-video figcaption{color:var(--dim);font-size:13px;padding-top:10px;}
.entry .ocean-project-body p{font-size:18px;line-height:1.85;}
.entry blockquote,.ocean-project-body blockquote{border-left:2px solid rgba(94,224,214,.5);padding-left:18px;margin-left:0;color:var(--pearl);font-family:var(--serif);font-style:italic;}
@media (max-width:980px){
  .connect-row,.contact-links{grid-template-columns:1fr;}
  .about-photo{inset:62px 20px 50px;}
}
@media (max-width:700px){
  .ocean-media-grid{grid-template-columns:1fr;}
  .social-card{min-height:76px;}
}


/* FIXES: image fit, blog thumbnail fit, and cleaner mobile cards */
.cave-photo .arch{display:none!important;}
.cave-photo{background:#020617!important;}
.cave-photo .about-photo{
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  border-radius:0!important;
  box-shadow:none!important;
  border:0!important;
}
.cave-photo::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(to top,rgba(2,6,23,.42),transparent 30%),linear-gradient(to bottom,rgba(2,6,23,.20),transparent 22%);
}
.cave-photo .enter,.cave-photo .loc,.cave-photo .seah{z-index:2;}
.post-card .thumb{
  background-size:contain!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
  background-color:rgba(2,6,23,.82)!important;
}
@media (max-width:700px){
  .cave-photo{aspect-ratio:3/4;}
  .post-card .thumb{aspect-ratio:4/3;}
}

/* FIX: portfolio detail media should show fully inside each frame */
.ocean-static-portfolio .static-gallery .ocean-media-item{background:rgba(2,6,23,.86);display:grid;place-items:center;min-height:280px;}
.ocean-static-portfolio .static-gallery .ocean-media-item img{object-fit:contain!important;width:100%;height:100%;aspect-ratio:4/5;background:rgba(2,6,23,.88);}
.ocean-static-portfolio .ocean-project-video video{max-height:720px;object-fit:contain;background:#000;}
