/* v11: scope is limited to the header and the first screen. */
.header .header-inner{gap:38px}
.header .brand{font-size:32px;font-weight:300;flex:none;line-height:1;transform:translateY(-2px)}
.header .brand-full{display:none}
.header-contact{margin-left:auto;flex:none;min-height:48px;padding:12px 22px;font-size:14px;gap:14px;white-space:nowrap}
.header .desktop-nav{gap:24px;white-space:nowrap}
.header.is-fixed{position:fixed;inset:0 0 auto;z-index:60;background:rgb(15 11 20 / 78%);border-bottom:1px solid #eacb7c38;box-shadow:0 12px 35px #0004;backdrop-filter:blur(24px) saturate(140%);-webkit-backdrop-filter:blur(24px) saturate(140%);animation:header-arrive .32s cubic-bezier(.16,1,.3,1)}
.header.is-fixed .header-inner{padding-block:26px;gap:30px}
.header.is-fixed .brand{font-size:26px}
.header.is-fixed .brand-short{display:none}
.header.is-fixed .brand-full{display:inline}
.hero .hero-role{max-width:620px;font-size:32px;line-height:1.42}
.hero .hero-bottom{max-width:540px;margin-top:30px}
.hero .hero-bottom>p{font-size:21px;line-height:1.6;color:#e3d9e9;max-width:100%}
.hero .hero-actions{margin-top:28px}
 .hero-socials{display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px;margin-top:22px}
.hero-socials .social-glass{display:inline-flex;align-items:center;gap:10px;min-height:48px;color:#fff;text-decoration:none;background:none;border:0;padding:0;box-shadow:none;backdrop-filter:none;transition:transform .2s}
.hero-socials .social-glass svg{width:48px;height:48px;flex:none;overflow:visible;filter:drop-shadow(0 2px 3px #0005) drop-shadow(0 0 2px #edc66d20);transition:filter .2s}.social-handle{font-size:19px;line-height:1.4;font-weight:400}
.hero-socials .social-glass:hover{transform:translateY(-2px)}.hero-socials .social-glass:hover svg{filter:brightness(1.18) drop-shadow(0 0 6px #edc66d99)}
.hero .scroll-link{display:none}
@keyframes header-arrive{from{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}
@media(max-width:1280px){.header .header-inner{gap:24px}.header .brand{font-size:28px}.header.is-fixed .brand{font-size:23px}.header .desktop-nav{gap:18px;font-size:15px}.header-contact{padding:12px 17px}}
@media(max-width:1100px){
 .header .desktop-nav{display:none}
 .header .menu-toggle{display:flex;align-items:center;gap:9px;min-height:44px;border:0;background:transparent;padding:8px;color:var(--text)}
 .header .menu-toggle svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.5}
 .header .mobile-nav:not([hidden]){display:flex;flex-direction:column;padding:12px 32px 24px;background:rgb(15 11 20 / 96%);border-top:1px solid #eacb7c28;gap:4px;max-height:calc(100dvh - 150px);overflow-y:auto}
 .header .mobile-nav a{padding:12px 0}
 .hero .hero-role{font-size:28px;max-width:480px}
 .hero .hero-bottom{max-width:400px}
}
@media(max-width:850px){.hero .hero-role{font-size:25px;max-width:420px}.hero .hero-bottom{max-width:350px}.hero-socials{gap:12px}.hero-socials .social-glass svg{width:44px;height:44px}}
@media(max-width:600px){
 .header .header-inner{display:grid;grid-template-columns:1fr auto;gap:8px 12px;padding:16px 20px}
 .header .brand{font-size:28px;grid-column:1;grid-row:1}
 .header .menu-toggle{grid-column:2;grid-row:1;font-size:13px;padding-right:0}
 .header .header-contact{grid-column:1/-1;grid-row:2;justify-self:start;margin:0;min-height:42px;font-size:12px;padding:9px 17px}
 .header.is-fixed .header-inner{padding-block:20px;gap:9px 12px}
 .header.is-fixed .brand{font-size:21px}
 .header .mobile-nav:not([hidden]){padding-inline:20px}
 .hero .hero-inner{padding-top:153px}
 .hero .hero-role{font-size:24px;max-width:100%}
 .hero .hero-bottom{max-width:100%;margin-top:0}
 .hero .hero-bottom>p{font-size:19px;max-width:100%}
 .hero-socials{margin-top:20px}
 section[id],article[id]{scroll-margin-top:166px}
}
@media(max-width:360px){.header .header-inner{padding-inline:16px}.header .brand{font-size:25px}.header.is-fixed .brand{font-size:18px}.hero .hero-role{font-size:22px}}
@media(prefers-reduced-motion:reduce){.header.is-fixed{animation:none}.hero-socials .social-glass{transition:none}.hero-socials .social-glass:hover{transform:none}}

/* v12: selected MacBook portrait, cropped at the section edge. */
.hero-socials{width:max-content;max-width:680px}
.hero .hero-photo{width:820px;height:1080px;bottom:-220px;right:-65px}
section[id],article[id]{scroll-margin-top:130px}
@media(min-width:1700px){.hero .hero-photo{width:870px;height:1150px;bottom:-235px;right:-55px}}
@media(max-width:1150px){.hero .hero-photo{width:650px;height:975px;bottom:-210px;right:-55px}}
@media(max-width:850px){.hero .hero-photo{width:510px;height:850px;bottom:-190px;right:-35px}.hero-socials{gap:10px 18px;max-width:100%;width:auto}.social-handle{font-size:18px}}
@media(max-width:600px){.hero .hero-photo{height:clamp(430px,132vw,560px);width:100%;right:auto;bottom:auto}.hero .hero-photo img{width:120%;top:0;bottom:auto;transform:translateX(-50%)}.hero-socials{gap:10px 18px}.hero-socials .social-glass svg{width:46px;height:46px}section[id],article[id]{scroll-margin-top:166px}}

/* v13: type balance and contour-following glass lens. */
.hero h1{font-size:clamp(80px,8.1vw,120px)}
.hero-socials .social-glass svg{width:60px;height:60px}
.social-rim{fill:#ffffff06;stroke:#d9c59d85;stroke-width:.45;filter:none}
.social-shine{transform:translateX(-10px) skewX(-18deg);transition:none}
.social-glass:is(:hover,:focus-visible) .social-shine{transform:translateX(78px) skewX(-18deg);transition:transform .75s cubic-bezier(.2,.65,.3,1)}
@media(min-width:1700px){.hero h1{font-size:128px}}
@media(max-width:1150px){.hero h1{font-size:88px}}
@media(max-width:850px){.hero h1{font-size:59px}.hero-socials .social-glass svg{width:56px;height:56px}.hero .hero-bottom>p{font-size:19px}}
@media(max-width:600px){.hero h1{font-size:clamp(43px,11.8vw,68px)}.hero-socials{gap:12px 18px}}
@media(max-width:360px){.hero h1{font-size:42px}.hero-socials{column-gap:14px}.social-handle{font-size:18px}}
@media(prefers-reduced-motion:reduce){.social-shine{display:none}}
.hero-note{position:absolute;right:8px;bottom:145px;width:350px;z-index:4;color:#fff;filter:drop-shadow(0 6px 18px #0003)}
.hero-note>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:#ffffff30;stroke:#ffffffd9;stroke-width:1.2;vector-effect:non-scaling-stroke}
.hero-note p{position:relative;margin:0;padding:44px 25px 24px;font-size:19px;line-height:1.5;font-weight:400;text-shadow:0 2px 5px #24152cd9}
.hero-note strong{display:block;margin-bottom:6px;font-weight:600}
.hero-note:before{content:"";position:absolute;inset:25px 2px 2px;border-radius:28px;background:#281a3888;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.hero .hero-note p{color:#fff;font-weight:400;text-shadow:none}
.header:not(.is-fixed):after{content:"";position:absolute;left:0;bottom:0;width:min(100%,calc(var(--header-line-end,52vw) + 70px));height:1px;pointer-events:none;background:linear-gradient(90deg,#eadfc866 0%,#eadfc866 48%,#eadfc844 65%,#eadfc822 80%,#eadfc80b 92%,#eadfc800 100%)}
@media(max-width:1150px){.hero-note{width:300px;right:0;bottom:100px}.hero-note p{font-size:17px;padding:38px 22px 20px}}
@media(max-width:850px){.hero-note{width:270px;right:-5px;bottom:75px}.hero-note p{font-size:16px}}
@media(max-width:600px){.hero-note{width:min(290px,95%);right:0;bottom:20px}.hero-note p{padding:36px 20px 18px;font-size:16px}}

/* v14: calm borders and deliberate text rhythm. */
.hero-socials{margin-top:26px;gap:16px 24px}.hero-socials .social-glass{gap:12px}.hero-note strong{font-weight:500;margin-bottom:8px}
@media(max-width:600px){.hero .hero-bottom{margin-top:18px}.hero-socials{gap:16px 20px;margin-top:24px}.hero .hero-actions{margin-top:24px}}
/* v16: owner-requested desktop visual trial. */
.hero h1 span,.hero .hero-glyphs{color:#fff;background:none;-webkit-text-fill-color:#fff;-webkit-text-stroke:0;filter:none;text-shadow:none}
.hero h1 span:before,.hero h1 span:after{display:none}
@media(min-width:851px){.hero .hero-photo{width:1120px;height:1680px;bottom:-790px;right:-180px}}
@media(min-width:1700px){.hero .hero-photo{width:1200px;height:1800px;bottom:-850px;right:-190px}}
@media(min-width:851px) and (max-width:1150px){.hero .hero-photo{width:920px;height:1380px;bottom:-640px;right:-190px}}

/* v17: light first-screen visual trial; lower sections retain their palette. */
.hero{color:#142238;background:radial-gradient(ellipse at 82% 48%,#186dc4a6 0%,#2b87db52 25%,#68b5ef1a 48%,transparent 67%),#fff}
.hero:before{opacity:.025}
.hero h1{font-size:clamp(56px,5.67vw,84px)}
.hero h1 span,.hero .hero-glyphs{color:#15243a;-webkit-text-fill-color:#15243a}
.hero .hero-role,.hero .hero-role p{color:#24364d}
.hero .hero-bottom>p{font-size:23px;color:#304258;line-height:1.6}
.hero .hero-bottom{max-width:540px;margin-top:30px}
.hero .button,.header:not(.is-fixed) .header-contact{color:#213650;background:linear-gradient(130deg,#fff9,#e6eef888);border-color:#68829b80;box-shadow:inset 0 1px 2px #fff9,0 4px 14px #193b5a10}
.hero .button-quiet{background:#ffffff54}
.hero .social-glass{color:#20364f}
.hero .social-handle{font-size:21px}
.hero-socials .social-glass svg{width:68px;height:68px;filter:drop-shadow(0 3px 4px #244c6e20)}
.hero-socials{max-width:720px;gap:18px 22px}
.hero .social-rim{stroke:#6b819880;fill:#ffffff20}
.header:not(.is-fixed){color:#20334b}
.header:not(.is-fixed) .brand,.header:not(.is-fixed) .desktop-nav,.header:not(.is-fixed) .menu-toggle{color:#20334b}
.header:not(.is-fixed) .desktop-nav a[aria-current]{color:#175fa6}
.header:not(.is-fixed):after{background:linear-gradient(90deg,#38668e66 0%,#38668e66 45%,#38668e33 70%,#38668e10 88%,transparent 100%)}
@media(min-width:1700px){.hero h1{font-size:89.6px}}
@media(max-width:1150px){.hero h1{font-size:61.6px}}
@media(max-width:850px){.hero h1{font-size:41.3px}.hero .hero-bottom>p{font-size:21px}.hero .social-handle{font-size:20px}}
@media(max-width:600px){.hero h1{font-size:clamp(30px,8.26vw,47.6px)}.hero .hero-bottom>p{font-size:21px}.hero-socials .social-glass svg{width:64px;height:64px}}
@media(max-width:360px){.hero h1{font-size:29.4px}}
.hero-socials{max-width:620px}
/* v18: stronger blue accent and larger desktop identity. */
.hero{background:radial-gradient(ellipse 44% 49% at 3% 96%,#48d8e080 0%,#48d8e04d 28%,#48d8e01a 57%,transparent 82%),radial-gradient(ellipse 84% 96% at 90% 32%,#1868c0e6 0%,#247fd3a1 25%,#65abe74d 49%,#b2d8f51a 70%,transparent 84%),#fff}
.hero h1{font-size:clamp(61.6px,6.237vw,92.4px);font-weight:750}
.header .brand{font-size:36px;font-weight:400}
.header.is-fixed .brand{font-size:29px;font-weight:400}
.header .desktop-nav{font-size:19px;gap:24px}
.header .header-inner{gap:34px}
@media(min-width:851px){.hero .hero-photo{right:-210px}}
@media(min-width:1700px){.hero h1{font-size:98.56px}.hero .hero-photo{right:-220px}}
@media(min-width:851px) and (max-width:1150px){.hero h1{font-size:67.76px}.hero .hero-photo{right:-220px}}
@media(max-width:850px){.hero h1{font-size:45.43px}.header .brand{font-size:30px}.header.is-fixed .brand{font-size:23px}}
@media(max-width:600px){.hero h1{font-size:clamp(33px,9.086vw,52.36px)}.header .header-inner{gap:9px 12px}.header.is-fixed .brand{font-size:21px}}

/* v20: complete sleeves; anchor to the content container like the earlier portraits. */
@media(min-width:851px){
 .hero .hero-photo{width:clamp(810px,70.14vw,1010px);height:auto;aspect-ratio:1530/1269;bottom:-2px;right:-194px;transform:none}
 .hero .hero-photo img{width:100%;height:100%;transform:none;mask-image:none}
}
@media(min-width:851px) and (max-width:1150px){.hero .hero-photo{right:-170px}}
