/* Visual layer: original brand assets, imagery and restrained progressive motion. */
:root{--brand-blue:#0e7da3;--visual-shadow:0 24px 65px #16263d10}
.brand{letter-spacing:normal;gap:0;line-height:1}
.brand img{display:block;width:175px;height:auto}
.header .brand{max-width:175px}
[data-theme=dark] .brand{padding:8px 10px;background:#fff;border-radius:6px}
[data-theme=dark] .header .brand{max-width:195px}
.home-hero{background:radial-gradient(ellipse at 85% 0%,#0e7da308,transparent 65%);border:0;padding:56px 0 38px}
.home-hero .hero-grid{grid-template-columns:1.22fr 1fr;gap:70px;align-items:center}
.home-hero h1{font-size:clamp(2.5rem,4.4vw,4rem);max-width:20ch}
.home-hero .hero-copy h1{margin-bottom:16px}
.home-intro .lead{font-size:1.08rem;line-height:1.7;margin:0}
.home-intro .actions{gap:10px;margin-top:24px}
.home-intro .btn{font-size:.86rem;padding:11px 18px}
.location-line{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);margin:0}
.location-line span{margin:0 10px;color:var(--color-gold)}
.three-offers{padding:0 0 72px}
.three-offers .sec-head{margin-bottom:20px;max-width:none}
.three-offers .sec-head>.eyebrow{margin:0;font-size:.7rem;letter-spacing:.14em}
.three-offers .card-grid{gap:22px}
.card.visual-card{padding:0;overflow:hidden;border-radius:12px;box-shadow:0 6px 25px #16263d05;align-items:stretch}
.practice-image{position:relative;aspect-ratio:1.7;overflow:hidden;background:#06101e;isolation:isolate}
.practice-image picture,.practice-image img{display:block;width:100%;height:100%;object-fit:cover}
.practice-image img{transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.practice-image::after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#04101bd9);z-index:0}
.visual-card--ai .practice-image img{object-position:65% 50%}
.visual-card--studio .practice-image img{object-fit:contain}
.image-label{position:absolute;bottom:17px;left:22px;right:15px;z-index:1;font-size:.63rem;line-height:1.5;text-transform:uppercase;letter-spacing:.09em;color:#fff;font-weight:600}
.visual-card-body{padding:25px 25px 28px;display:flex;flex-direction:column;align-items:flex-start;flex:1}
.visual-card-body h3{font-size:1.65rem;margin:12px 0 16px;letter-spacing:-.02em;min-height:2.3em}
.visual-card-body p{font-size:.94rem;line-height:1.65;margin-bottom:26px}
.visual-card-body .btn{margin-top:auto;font-size:.85rem;min-height:44px;padding:10px 18px}
.visual-card-body .number{font-size:.7rem}
.visual-card:focus-within{border-color:var(--color-gold);box-shadow:var(--visual-shadow)}
.page-index #why{background:var(--color-surface-2)}
.page-index #why .card{background:transparent;border:0;border-top:1px solid var(--color-border);border-radius:0;padding:26px 0 0}
.page-index .founder{padding-top:88px}
.page-index .founder .split-fig{position:relative}
.page-index .founder .split-fig::before{content:'';position:absolute;inset:20px -14px -14px 22px;border:1px solid var(--color-border);border-radius:14px;z-index:-1}
.page-index .founder .split-fig img{max-height:560px}
.page-solutions .hero{background:radial-gradient(ellipse at 90% 25%,#0e7da30c,transparent 60%)}
.workflow-visual{border:1px solid var(--color-border);border-radius:16px;overflow:hidden;background:var(--color-surface);box-shadow:var(--visual-shadow)}
.workflow-cover{height:130px;position:relative;overflow:hidden;background:#12263b}
.workflow-cover picture,.workflow-cover img{width:100%;height:100%;object-fit:cover;object-position:50% 42%}
.workflow-cover::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#102338e6)}
.workflow-cover>p{position:absolute;bottom:16px;left:26px;right:20px;z-index:1;margin:0;font-size:.73rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:#fff}
.flow-content{padding:22px 26px 20px}
.flow-sources{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;position:relative;padding-bottom:24px}
.flow-sources>div{border:1px solid var(--color-border);border-radius:7px;background:var(--color-bg);padding:13px 4px 11px;text-align:center;position:relative}
.flow-sources svg{color:var(--brand-blue);margin:0 auto 6px;width:22px;height:22px}
.flow-sources span{font-size:.67rem;font-weight:600;display:block;overflow-wrap:anywhere}
.flow-sources>div::after{content:'';position:absolute;width:1px;height:13px;background:var(--color-border);bottom:-14px;left:50%}
.flow-sources::after{content:'';position:absolute;bottom:10px;left:16.6%;right:16.6%;height:1px;background:var(--color-border)}
.flow-stages{list-style:none;padding:0;position:relative}
.flow-stages::before{content:'';position:absolute;left:22px;top:0;bottom:32px;width:1px;background:var(--color-border)}
.flow-stage{display:flex;align-items:center;gap:14px;padding:14px 0;position:relative}
.flow-icon{position:relative;z-index:1;display:grid;place-items:center;flex-shrink:0;width:45px;height:45px;border-radius:50%;background:var(--color-surface-2);border:1px solid var(--color-border);color:var(--brand-blue)}
.flow-stage:nth-child(2) .flow-icon{color:var(--color-gold)}
.flow-stage:last-child .flow-icon{background:#0e7da3;color:#fff;border-color:#0e7da3}
.flow-stage strong{font-size:.94rem;font-weight:600;line-height:1.35;display:block}
.flow-stage p{font-size:.76rem;color:var(--color-text-muted);line-height:1.5;margin:4px 0 0}
.flow-step{margin-left:auto;padding-left:4px;font-size:.65rem;color:var(--color-text-muted)}
.flow-caption{border-top:1px solid var(--color-border);padding-top:13px;margin:10px 0 0;font-size:.67rem;color:var(--color-text-muted);line-height:1.5}
.estate-visual{position:relative;border-radius:16px;overflow:hidden;min-width:0;width:100%;max-width:100%;min-height:450px;height:100%;box-shadow:var(--visual-shadow);background:#22384a}
.estate-visual picture,.estate-visual img{height:100%;width:100%;object-fit:cover;position:absolute;inset:0;object-position:34% 50%}
.estate-visual::after{content:'';position:absolute;inset:30% 0 0;background:linear-gradient(transparent,#030e1bec)}
.estate-visual figcaption{position:absolute;bottom:28px;left:28px;right:28px;color:#fff;z-index:1}
.estate-visual figcaption>span{display:block;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:9px}
.estate-visual strong{font-family:var(--font-display);display:block;font-size:1.7rem;font-weight:450;line-height:1.2;max-width:15ch}
.estate-visual small{display:block;font-size:.64rem;color:#d4dce5;margin-top:12px}
.dossier-layout{display:grid;grid-template-columns:1fr 1.06fr;gap:80px;align-items:center}
.dossier-layout .sec-head{margin:0}
.dossier-layout .report{box-shadow:var(--visual-shadow)}
.dossier-topics{display:flex;gap:8px;flex-wrap:wrap;margin-top:26px}
.dossier-topics span{border:1px solid var(--color-border);padding:6px 12px;border-radius:30px;font-size:.72rem;color:var(--color-text-muted)}
.cinematic{--color-text:#f3f6fc;--color-text-muted:#c0ccdb;--color-gold:#9bd5e8;--color-button:#a6d9e9;--color-border:#334359;--color-surface:#071223;color:#f3f6fc;background:#020b18;color-scheme:dark}
.studio-hero{padding:70px 0 65px;border:0;background:radial-gradient(ellipse at 80% 60%,#0c2b45 0%,#020b18 65%)}
.studio-hero .hero-grid{grid-template-columns:1.1fr 1fr;gap:38px}
.studio-hero .hero-copy h1{font-size:clamp(2.4rem,4.3vw,3.8rem);max-width:21ch;line-height:1.12}
.studio-hero .hero-copy em{color:#a6d9e9}
.studio-hero .hero-copy .lead{font-size:1.05rem;max-width:48ch}
.studio-hero .hero-copy .eyebrow{font-size:.7rem;letter-spacing:.2em}
.studio-hero .btn-gold{background:#a6d9e9;color:#062337}
.studio-hero .btn-gold:hover{background:#d0edfa}
.studio-hero .btn-ghost:hover,.cinematic .btn-ghost:hover{color:#fff;border-color:#a6d9e9}
.studio-hero :focus-visible,.cinematic :focus-visible{outline-color:#a6d9e9}
.studio-identity{min-width:0;text-align:center}
.studio-lockup{position:relative;overflow:hidden;border-radius:16px;box-shadow:0 20px 65px #0004;border:1px solid #ffffff0c}
.studio-lockup img{width:100%;height:auto}
.studio-identity>p{font-family:var(--font-display);font-size:1.1rem;color:#bccbde;margin:22px 0 0;font-weight:400}
.cinema-teaser{padding-top:48px;border-top:1px solid #1b2d42}
.cinema-teaser .sec-head{max-width:800px}
.cinema-teaser h2{font-size:clamp(1.9rem,3vw,2.8rem)}
.cinema-teaser .film-preview{max-width:1100px}
.cinema-teaser video{border:1px solid #334359;box-shadow:0 24px 60px #0006;border-radius:10px}
.cinema-teaser .caption{color:#b9c7d8;font-size:.78rem}
.cinema-teaser .share-btn{font-size:.8rem;min-height:44px}
.page-studio #what{padding-bottom:40px}
.page-studio #method{padding-top:40px}
.page-studio #method .card{background:transparent;border:0;border-top:1px solid var(--color-border);border-radius:0;padding:28px 0 0}
.is-entered{animation:gentle-enter 650ms cubic-bezier(.2,.7,.2,1) both}
@keyframes gentle-enter{from{opacity:.7;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.flow-active .flow-stage .flow-icon{animation:node-light 950ms ease 1}
.flow-active .flow-stage:nth-child(2) .flow-icon{animation-delay:.75s}
.flow-active .flow-stage:nth-child(3) .flow-icon{animation-delay:1.5s}
@keyframes node-light{50%{box-shadow:0 0 0 7px #0e7da31c;border-color:var(--brand-blue)}}
.light-sweep::after{content:'';position:absolute;pointer-events:none;inset:-30% auto -30% -35%;width:15%;background:linear-gradient(90deg,transparent,#bcf1ff12,transparent);transform:skewX(-20deg);animation:glass-light 2.8s ease-in-out 1 forwards}
@keyframes glass-light{from{left:-35%}to{left:135%}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.visual-card:hover{border-color:var(--color-gold);box-shadow:var(--visual-shadow)}.visual-card:hover .practice-image img{transform:scale(1.035)}}
@media(max-width:1100px){.home-hero .hero-grid{gap:35px}.home-intro .actions{align-items:flex-start;flex-direction:column}.visual-card-body{padding:23px 20px}.visual-card-body h3{font-size:1.5rem}.dossier-layout{gap:40px}.studio-hero .hero-copy h1{font-size:2.9rem}.studio-hero .hero-grid{gap:30px}.flow-content{padding:20px}.image-label{left:20px;font-size:.59rem}}
@media(max-width:760px){.header .brand{max-width:150px}.brand img{width:150px}.home-hero{padding:36px 0 30px}.home-hero .hero-grid{grid-template-columns:1fr;gap:20px}.home-hero h1{font-size:clamp(2.5rem,8vw,3.7rem)}.home-hero .eyebrow{margin-bottom:14px}.home-intro .lead{font-size:1rem}.home-intro .actions{flex-direction:row;margin-top:20px}.three-offers{padding-bottom:48px}.three-offers .card-grid{gap:24px}.practice-image{aspect-ratio:1.85}.visual-card-body{padding:24px}.visual-card-body h3{min-height:0;font-size:1.8rem;margin:8px 0 13px}.visual-card-body p{font-size:1rem;margin-bottom:22px}.image-label{font-size:.65rem;left:24px}.visual-card-body .btn{margin-top:auto}.workflow-visual{max-width:540px;width:100%;margin:auto}.workflow-cover{height:140px}.flow-content{padding:22px}.flow-sources span{font-size:.68rem}.flow-stage strong{font-size:.95rem}.estate-visual{min-height:390px;aspect-ratio:1.1}.estate-visual figcaption{bottom:25px;left:25px}.dossier-layout{grid-template-columns:1fr;gap:35px}.studio-hero{padding:40px 0 38px}.studio-hero .hero-grid{grid-template-columns:1fr;gap:34px}.studio-hero .hero-copy h1{font-size:clamp(2.4rem,7.7vw,3.5rem)}.studio-identity{max-width:560px;margin:auto;width:100%}.studio-identity>p{font-size:1rem;margin-top:15px}.cinema-teaser{padding-top:40px}.cinema-teaser .sec-head{margin-bottom:24px}.cinema-teaser h2{font-size:2rem}.page-index .founder{padding-top:56px}.page-index .founder .split-fig::before{right:-8px}.flow-step{display:none}}
@media(max-width:380px){.header .brand,.header[data-theme=dark] .brand{max-width:130px}.header .brand img{width:130px}[data-theme=dark] .header .brand{max-width:136px;padding:5px}.home-intro .actions{width:100%}.home-intro .btn{width:100%}.home-hero h1{font-size:2.35rem}.flow-content{padding:18px 16px}.flow-sources{gap:6px}.flow-sources span{font-size:.6rem}.flow-stage{gap:10px}.flow-stage strong{font-size:.88rem}.flow-stage p{font-size:.72rem}.image-label{font-size:.58rem}.studio-hero .hero-copy h1{font-size:2.3rem}.visual-card-body{padding:22px}.estate-visual{min-height:350px}}
@media(prefers-reduced-motion:reduce){.is-entered,.flow-active .flow-stage .flow-icon{animation:none!important}.light-sweep::after{display:none}.practice-image img{transition:none!important}}

/* Theme variants share one silhouette and one box: no padding or layout shift. */
.brand,.header .brand,[data-theme=dark] .brand,[data-theme=dark] .header .brand{display:inline-grid;width:var(--brand-width,175px);max-width:none;padding:0;background:none;border-radius:0;line-height:1;flex-shrink:0}
.brand-art{display:block;position:relative;width:100%;aspect-ratio:350/66}
.brand .brand-art img{display:block;width:100%;height:100%;max-width:none;object-fit:contain}
.brand-steel{display:none;position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,#ffffff20 0px,#ffffff20 .35px,#15253620 .65px,transparent 1px,transparent 1.7px),linear-gradient(112deg,#8b98a6 0%,#f1f5f8 15%,#abb6c1 30%,#f9fcff 46%,#8e9da9 62%,#dfe8ef 78%,#a5b2be 100%);-webkit-mask-image:url('./assets/synaptiks-logo.png');mask-image:url('./assets/synaptiks-logo.png');-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;mask-mode:alpha}
[data-theme=dark] .brand-color{opacity:0}
[data-theme=dark] .brand-steel{display:block}
/* The three source paths join the centerline shared by every output stage. */
.flow-sources{padding-bottom:25px}
.flow-sources::after{left:calc((100% - 20px)/6);right:calc((100% - 20px)/6);bottom:11px}
.flow-sources>div::after{height:14px;bottom:-15px}
.flow-stages{display:grid;gap:20px;margin:0;padding:0;list-style:none}
.flow-stages::before{left:50%;top:-12px;bottom:auto;width:1px;height:12px;transform:translateX(-50%)}
.flow-stage{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:14px;width:90%;max-width:340px;margin:0 auto;padding:14px 16px;border:1px solid var(--color-border);border-radius:9px;background:var(--color-bg)}
.flow-stage:not(:last-child)::after{content:'';position:absolute;left:50%;bottom:-21px;width:1px;height:20px;background:var(--color-border);transform:translateX(-50%)}
.flow-icon{width:40px;height:40px}
.flow-step{display:none}
.flow-stage strong{font-size:.9rem}
.flow-stage p{font-size:.75rem}
.flow-caption{max-width:none;text-align:center;margin-top:22px}
.contact-page{padding:65px 0 85px}
.contact-layout{display:grid;grid-template-columns:1fr 1.05fr;gap:90px;align-items:start}
.contact-intro{position:sticky;top:145px}
.contact-intro h1{margin-bottom:24px;font-size:clamp(2.5rem,4.2vw,3.8rem)}
.contact-intro .lead{max-width:42ch}
.contact-intro .location-line{margin-top:30px}
.contact-form-panel{padding:32px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface);box-shadow:var(--visual-shadow);min-width:0}
.contact-form-panel h2{font-size:1.9rem;margin-bottom:15px}
.contact-form-panel .modal-done .btn{margin-top:24px}
.contact-form-panel .modal-done:focus{outline:none}
.form-response{max-width:720px;margin:8vh auto;padding:36px}
.form-response h1{margin:30px 0 20px}
.form-response .btn{margin-top:24px}
@media(max-width:1000px){.contact-layout{gap:40px}.contact-form-panel{padding:26px}.contact-intro h1{font-size:2.7rem}}
@media(max-width:760px){:root{--brand-width:150px}.contact-page{padding:40px 0 55px}.contact-layout{grid-template-columns:1fr;gap:32px}.contact-intro{position:static}.contact-intro h1{font-size:2.5rem}.contact-intro .location-line{margin-top:20px}.flow-stage{gap:12px;width:94%;padding:13px}.flow-stage p{font-size:.74rem}}
@media(max-width:380px){:root{--brand-width:130px}.flow-sources::after{left:calc((100% - 12px)/6);right:calc((100% - 12px)/6)}.flow-stage{width:100%;gap:10px;padding:12px 10px}.flow-stage strong{font-size:.85rem}.flow-stage p{font-size:.7rem}.contact-form-panel{padding:24px 18px}.contact-intro h1{font-size:2.2rem}}
