:root{--paper:#f4f0ea;--ink:#131313;--muted:#7d7872;--red:#c7244b;--dark:#111;--line:rgba(19,19,19,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}.site-header{position:fixed;z-index:50;top:0;left:0;width:100%;display:flex;justify-content:space-between;align-items:center;padding:23px 3.8vw;mix-blend-mode:multiply;transition:padding .45s cubic-bezier(.2,.75,.2,1)}.site-header.compact{padding-top:14px;padding-bottom:14px}.brand img{width:138px;display:block}.site-header nav{display:flex;gap:28px}.site-header a{font-size:10px;color:inherit;text-decoration:none}.light-section,.dark-section{position:relative}.dark-section{background:var(--dark);color:#fff}.index{position:absolute;top:34px;left:2vw;font-size:9px;letter-spacing:.18em;color:#8d8881}.kicker{font-size:9px;letter-spacing:.22em;color:#817d77;margin:0 0 22px}.dark-section .kicker{color:#777}
.hero{min-height:100vh;padding:20vh 4vw 10vh;display:block;overflow:hidden;background:linear-gradient(115deg,#f7f4ef 0%,#f3eee7 55%,#eee8df 100%)}
.hero-paper-grain{position:absolute;inset:0;pointer-events:none;opacity:.10;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E")}
.hero-copy{z-index:10;max-width:560px;position:relative;width:34vw;min-width:450px}.hero h1{font-size:clamp(36px,3.55vw,52px);line-height:1.08;letter-spacing:-.05em;font-weight:400;margin:0}.subcopy{margin-top:28px;color:#77716b;font-size:12px}
.hero-scene-wrap{position:absolute;z-index:2;right:0;top:0;width:61%;height:100%;overflow:hidden;pointer-events:none}.hero-scene{position:absolute;inset:-5% -5% -5% -3%;width:108%;height:110%;object-fit:cover;object-position:center center;filter:saturate(.94) contrast(1.01);transform-origin:center}.hero-scene-fade{position:absolute;inset:0;background:linear-gradient(90deg,#f4f0ea 0%,rgba(244,240,234,.88) 8%,rgba(244,240,234,.35) 23%,rgba(244,240,234,0) 42%)}
.scroll-cue{position:absolute;z-index:12;left:4vw;bottom:38px;text-decoration:none;color:#6f6963;font-size:9px;letter-spacing:.14em;display:flex;align-items:center;gap:11px}.scroll-cue span{display:inline-block;width:28px;height:28px;border:1px solid rgba(19,19,19,.28);border-radius:50%;position:relative}.scroll-cue span:after{content:'↓';position:absolute;inset:0;display:grid;place-items:center;font-size:12px;color:#2f2d2a}
.disciplines{height:295vh}.discipline-sticky{position:sticky;top:0;height:100vh;padding:13vh 5vw 7vh;display:grid;grid-template-columns:44% 56%;gap:4vw}.disc-head{position:relative}.disc-head .index{position:static;display:block;margin-bottom:14vh}.disc-head h2{font-size:clamp(38px,4.25vw,61px);line-height:1.03;letter-spacing:-.05em;font-weight:400;margin:0}.discipline-list{align-self:end;border-top:1px solid rgba(255,255,255,.15)}.discipline-row{--reveal:0;display:grid;grid-template-columns:48px 1fr 1.25fr;align-items:center;padding:28px 0;border-bottom:1px solid rgba(255,255,255,.15);opacity:calc(.09 + var(--reveal)*.91);transform:translate3d(calc((1 - var(--reveal))*38px),calc((1 - var(--reveal))*22px),0);filter:blur(calc((1 - var(--reveal))*6px));will-change:transform,opacity,filter}.discipline-row span{font-size:9px;color:#777}.discipline-row h3{font-size:clamp(25px,2.65vw,38px);font-weight:400;letter-spacing:-.04em;margin:0}.discipline-row p{font-size:12px;line-height:1.55;color:#a6a6a6;margin:0;max-width:430px}
/* v11 — balanced approach scene */
.approach{height:190vh;position:relative;overflow:clip;background:var(--paper)}
.approach-sticky{position:sticky;top:0;height:100vh;padding:11vh 5.2vw 6vh;display:grid;grid-template-rows:auto 1fr auto;gap:4vh}
.approach-top{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.62fr);gap:10vw;align-items:end}
.approach-heading{position:relative}.approach-heading .index{position:static;display:block;margin-bottom:6vh;color:#8d8881}.approach-heading .kicker{margin-bottom:2.2vh}
.approach-line{--reveal:0;margin:0;font-size:clamp(39px,4.35vw,68px);line-height:.98;letter-spacing:-.055em;font-weight:400;opacity:calc(.15 + var(--reveal)*.85);transform:translate3d(0,calc((1 - var(--reveal))*34px),0);filter:blur(calc((1 - var(--reveal))*4px));will-change:transform,opacity,filter}.approach-line+.approach-line{margin-top:.15em}.approach-line.muted{color:#a8a29a}
.approach-side{--reveal:0;max-width:390px;align-self:end;padding-bottom:.4em;opacity:var(--reveal);transform:translateY(calc((1 - var(--reveal))*26px))}.approach-side p{margin:0 0 11px;font-size:12px;line-height:1.65;color:#5e5953}.approach-side p:first-child{font-size:14px;color:#22201e;letter-spacing:-.01em}
.approach-axis{position:relative;align-self:center;height:1px;background:rgba(19,19,19,.13);overflow:visible}.approach-axis:before{content:"";position:absolute;left:0;top:-4px;width:9px;height:9px;border-radius:50%;background:var(--red)}.approach-axis span{display:block;height:100%;width:var(--axisProgress,0%);background:#1b1b1b;transition:none}
.approach-steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(19,19,19,.12);border-bottom:1px solid rgba(19,19,19,.12)}
.approach-step{--reveal:0;min-height:22vh;padding:24px 28px 26px 0;border-right:1px solid rgba(19,19,19,.12);opacity:calc(.12 + var(--reveal)*.88);transform:translate3d(0,calc((1 - var(--reveal))*28px),0);filter:blur(calc((1 - var(--reveal))*3px));will-change:transform,opacity,filter}.approach-step:last-child{border-right:0;padding-left:28px}.approach-step:not(:first-child){padding-left:28px}.approach-step>span{font-size:9px;letter-spacing:.14em;color:#9a958e}.approach-step h3{font-size:clamp(24px,2.2vw,36px);font-weight:400;letter-spacing:-.04em;margin:26px 0 12px}.approach-step p{font-size:11px;line-height:1.55;color:#716b64;max-width:230px;margin:0}
.approach-signature{--reveal:0;position:absolute;right:5.2vw;bottom:5.5vh;display:flex;align-items:center;gap:14px;opacity:var(--reveal);transform:translateY(calc((1 - var(--reveal))*16px))}.approach-signature img{width:28px;height:28px;object-fit:contain}.approach-signature span{font-size:9px;letter-spacing:.18em;color:#77716b;text-transform:uppercase}
.process{min-height:118vh;padding:18vh 6vw;display:grid;grid-template-columns:38% 62%;align-items:center}.process-copy h2,.studio h2,.contact h2{font-size:clamp(40px,4.45vw,64px);line-height:1.03;letter-spacing:-.055em;font-weight:400;margin:0}.process-visual{position:relative;height:72vh}.process-main{position:absolute;width:45%;height:61%;right:14%;top:6%;object-fit:cover}.process-card{position:absolute;left:8%;bottom:7%;background:#171717;color:#fff;padding:26px 31px;width:260px;font-size:11px;line-height:2.4}.process-card span{display:inline-block;width:34px;color:#777}.process-card strong{font-size:15px;font-weight:400}
.work{min-height:113vh;padding:18vh 6vw;display:grid;grid-template-columns:63% 37%;align-items:center}.work-visual{height:63vh;overflow:hidden}.work-visual img{width:100%;height:100%;object-fit:cover}.work-copy{padding-left:7vw}.work-copy h2{font-size:clamp(40px,4.3vw,62px);font-weight:400;letter-spacing:-.05em;margin:0 0 16px}.work-copy p{color:#777;font-size:12px}.work-copy a{display:inline-block;margin-top:38px;font-size:11px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:5px}
.studio{min-height:108vh;padding:16vh 6vw;display:grid;grid-template-columns:36% 64%;align-items:center;gap:3vw}.studio-copy{max-width:470px;align-self:center}.studio-copy .kicker{margin-bottom:24px}.studio-copy p:last-child{font-size:12px;line-height:1.7;color:#a1a1a1;max-width:390px;margin-top:30px}.studio-visuals{position:relative;height:70vh;margin-left:2vw}.studio-image{position:absolute;overflow:hidden}.studio-image img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}.studio-image-main{left:7%;top:4%;width:66%;height:76%}.studio-image-small{right:1%;bottom:2%;width:34%;height:40%;border:1px solid rgba(255,255,255,.14)}.studio-image-small img{filter:grayscale(.3);object-position:center}.studio-visuals:after{content:"PRODUCTION";position:absolute;right:1%;top:6%;font-size:9px;letter-spacing:.24em;color:#686868;writing-mode:vertical-rl;text-orientation:mixed}
.contact{min-height:92vh;padding:19vh 6vw 8vh;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.contact-copy h2{max-width:650px}.contact-copy a{display:inline-block;margin-top:40px;color:var(--ink);font-size:16px;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:5px}.contact-mark{position:absolute;right:6vw;top:27%;width:17vw;max-width:240px;filter:blur(7px);opacity:.14}.contact footer{position:absolute;left:6vw;right:6vw;bottom:36px;display:flex;justify-content:space-between;color:#726d67;font-size:9px}
.parallax-layer,.reveal-block{will-change:transform,opacity}.reveal-block{opacity:var(--sectionReveal,.15);transform:translateY(calc((1 - var(--sectionReveal,.15))*34px))}
@media(max-width:900px){.site-header{padding:18px 20px}.brand img{width:124px}.site-header nav{display:none}.hero{padding:15vh 24px 9vh;min-height:100vh}.hero-copy{width:auto;min-width:0;max-width:90%}.hero h1{font-size:38px}.glass-scene{left:12vw;right:-18vw;top:44vh;bottom:4vh}.red-orb{width:42vw;left:34%;top:27%}.glass-panel{width:31%;height:62%}.panel-back{left:4%;top:12%}.panel-mid{left:31%;top:27%}.panel-front{left:59%;top:16%}.scene-shadow{bottom:3%}.scroll-cue{left:24px;bottom:26px}.disciplines{height:auto}.discipline-sticky{position:relative;height:auto;padding:120px 24px 80px;grid-template-columns:1fr}.disc-head .index{margin-bottom:70px}.discipline-list{margin-top:70px}.discipline-row{grid-template-columns:36px 1fr;opacity:1;transform:none;filter:none}.discipline-row p{grid-column:2;margin-top:10px}.process,.work,.studio{padding:120px 24px 80px;grid-template-columns:1fr}.process-visual{height:55vh;margin-top:50px}.work{gap:45px}.work-visual{height:48vh}.work-copy{padding-left:0}.studio-visuals{height:58vh;margin:52px 0 0}.studio-image-main{left:0;top:0;width:78%;height:72%}.studio-image-small{right:0;bottom:0;width:44%;height:42%}.studio-visuals:after{display:none}.index{left:20px}.contact{padding:120px 24px 80px}.contact footer{left:24px;right:24px}.contact-mark{right:-60px;width:45vw;opacity:.1}}

@media(max-width:900px){.hero-final{padding:15vh 24px 9vh}.hero-final .hero-copy{max-width:92%;width:auto;min-width:0}.hero-final .hero-scene-wrap{left:0;right:0;top:46vh;width:100%;height:54vh}.hero-final .hero-scene{inset:-8% -10%;width:120%;height:116%;object-position:62% center}.hero-final .hero-scene-fade{background:linear-gradient(180deg,#f4f0ea 0%,rgba(244,240,234,.55) 14%,transparent 38%)}.hero-final .scroll-cue{z-index:15}}
/* v9 — live crystal hero */
.hero-final{background:#f3efe8;isolation:isolate}
.hero-final .hero-copy{z-index:8}
.crystal-stage{position:absolute;z-index:1;inset:0;overflow:hidden;pointer-events:none}
#crystal-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.crystal-vignette{position:absolute;inset:0;background:linear-gradient(90deg,#f3efe8 0%,rgba(243,239,232,.98) 25%,rgba(243,239,232,.65) 39%,rgba(243,239,232,.12) 52%,rgba(243,239,232,0) 66%);mix-blend-mode:normal}
.crystal-caption{position:absolute;right:3.8vw;bottom:3.3vh;font-size:8px;letter-spacing:.24em;color:rgba(20,20,20,.38)}
.hero-final:after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;opacity:.05;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.34'/%3E%3C/svg%3E")}
@media(max-width:900px){.crystal-stage{top:34vh}.crystal-vignette{background:linear-gradient(180deg,#f3efe8 0%,rgba(243,239,232,.72) 16%,rgba(243,239,232,.10) 40%,transparent 58%)}.crystal-caption{display:none}}

/* v10 — editorial discipline rows with image parallax */
.disciplines{height:320vh}
.discipline-sticky{position:sticky;top:0;height:100vh;padding:6.5vh 4.6vw 4.5vh;display:flex;flex-direction:column;gap:3vh;overflow:hidden}
.disc-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,320px);align-items:end;gap:5vw;min-height:23vh}
.disc-title-block{position:relative;padding-left:0}.disc-title-block .index{position:static;display:block;margin-bottom:2.5vh;color:#8a8a8a}.disc-head .kicker{margin:0 0 2vh;color:#6f6f6f}.disc-head h2{font-size:clamp(42px,4.6vw,74px);line-height:.95;letter-spacing:-.055em;font-weight:300;margin:0}.disc-sub{font-size:clamp(16px,1.45vw,24px);line-height:1.25;color:#aaa;margin:1.4vh 0 0;letter-spacing:-.025em}.disc-intro{font-size:12px;line-height:1.6;color:#aaa;margin:0 0 1.2vh;max-width:320px}
.discipline-list{flex:1;display:grid;grid-template-rows:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.18);min-height:0}
.discipline-row{--reveal:0;position:relative;display:grid;grid-template-columns:54px minmax(300px,.95fr) 72px minmax(420px,1.25fr);gap:18px;align-items:center;border-bottom:1px solid rgba(255,255,255,.17);padding:0;min-height:0;overflow:hidden;opacity:calc(.24 + var(--reveal)*.76);transform:none;filter:none;transition:background .35s ease}
.discipline-row:hover{background:rgba(255,255,255,.022)}
.disc-no{font-size:9px;color:#777;align-self:center}.disc-copy{position:relative;z-index:2;transform:translate3d(calc((1 - var(--reveal))*20px),calc((1 - var(--reveal))*10px),0);opacity:calc(.25 + var(--reveal)*.75);transition:none}.disc-copy h3{font-size:clamp(28px,2.55vw,45px);font-weight:300;letter-spacing:-.045em;margin:0 0 8px}.disc-copy p{font-size:11px;line-height:1.5;color:#a7a7a7;margin:0;white-space:normal;max-width:420px}.disc-arrow{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.6);display:grid;place-items:center;color:white;text-decoration:none;font-size:21px;position:relative;z-index:3;opacity:calc(.25 + var(--reveal)*.75);transform:scale(calc(.86 + var(--reveal)*.14));transition:border-color .25s ease,background .25s ease}.disc-arrow:hover{background:#fff;color:#111;border-color:#fff}
.disc-image{height:calc(100% - 10px);min-height:0;overflow:hidden;position:relative;align-self:center;opacity:calc(.08 + var(--reveal)*.92);transform:translate3d(calc((1 - var(--reveal))*42px),0,0);clip-path:inset(0 calc((1 - var(--reveal))*24%) 0 0);will-change:transform,opacity,clip-path}.disc-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,17,17,.1),transparent 30%);pointer-events:none}.disc-image img{width:100%;height:125%;object-fit:cover;display:block;transform:translate3d(0,calc((.5 - var(--reveal))*-11%),0) scale(1.025);filter:saturate(.86) contrast(1.03);will-change:transform}
@media(max-width:1100px){.discipline-row{grid-template-columns:42px minmax(240px,.9fr) 52px minmax(320px,1.15fr)}.disc-image{height:calc(100% - 14px)}.disc-copy p{font-size:10px}.disc-arrow{width:36px;height:36px}.disc-head{min-height:21vh}}
@media(max-width:760px){.disciplines{height:auto}.discipline-sticky{position:relative;height:auto;padding:100px 24px 70px;gap:44px;overflow:visible}.disc-head{display:block;min-height:0}.disc-intro{margin-top:26px}.discipline-list{display:block}.discipline-row{display:grid;grid-template-columns:30px 1fr 42px;gap:12px;padding:24px 0 0;min-height:270px}.disc-image{grid-column:2/4;height:150px;margin-top:14px;opacity:1;transform:none;clip-path:none}.disc-image img{height:112%;transform:none}.disc-copy{transform:none;opacity:1}.disc-arrow{opacity:1;transform:none}.disc-title-block .index{margin-bottom:28px}.disc-head h2{font-size:48px}.disc-sub{font-size:18px}}

@media(max-width:900px){
  .approach{height:auto;min-height:0;overflow:visible}.approach-sticky{position:relative;height:auto;padding:110px 24px 80px;display:block}.approach-top{display:block}.approach-heading .index{margin-bottom:42px}.approach-line{font-size:42px;opacity:1;transform:none;filter:none}.approach-side{margin-top:34px;opacity:1;transform:none}.approach-axis{margin:54px 0 0}.approach-steps{grid-template-columns:1fr 1fr;margin-top:0}.approach-step,.approach-step:not(:first-child),.approach-step:last-child{min-height:210px;padding:24px 18px;border-right:1px solid rgba(19,19,19,.12);opacity:1;transform:none;filter:none}.approach-step:nth-child(2n){border-right:0}.approach-step:nth-child(n+3){border-top:1px solid rgba(19,19,19,.12)}.approach-signature{position:static;margin-top:34px;opacity:1;transform:none}.approach-signature img{width:24px;height:24px}
}

/* v14 — conversational inquiry */
.inquiry{min-height:100vh;padding:15vh 6vw 8vh;display:block;position:relative;overflow:hidden}
.inquiry-shell{min-height:70vh;display:grid;grid-template-columns:minmax(280px,.78fr) minmax(520px,1.22fr);gap:9vw;align-items:start}
.inquiry-intro{padding-top:7vh;position:sticky;top:12vh}
.inquiry-intro h2{font-size:clamp(42px,4.8vw,76px);line-height:.98;letter-spacing:-.055em;font-weight:400;margin:18px 0 26px;max-width:650px}
.inquiry-intro>p:last-child{max-width:410px;font-size:14px;line-height:1.65;color:#77716a}
.inquiry-form{padding-top:2vh;min-height:620px;display:flex;flex-direction:column}
.inquiry-progress{display:grid;grid-template-columns:28px 1fr 28px;align-items:center;gap:15px;font-size:9px;letter-spacing:.15em;color:#88817a;margin-bottom:10vh}
.progress-track{height:1px;background:#d6d0c8;position:relative}.progress-track i{display:block;width:20%;height:1px;background:#161616;transition:width .6s cubic-bezier(.22,.78,.2,1)}
.form-step{display:none;opacity:0;transform:translateY(18px)}
.form-step.is-active{display:block;animation:stepIn .55s cubic-bezier(.22,.78,.2,1) forwards}
@keyframes stepIn{to{opacity:1;transform:none}}
.step-eyebrow{font-size:9px;letter-spacing:.23em;color:#9a948d;margin:0 0 22px}
.form-step h3{font-size:clamp(34px,3.5vw,56px);font-weight:400;letter-spacing:-.045em;line-height:1.02;margin:0 0 18px}
.step-note,.submit-note{font-size:12px;line-height:1.6;color:#8c867f;margin-bottom:34px}
.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #d4cec6;margin-top:34px}
.choice{appearance:none;border:0;border-bottom:1px solid #d4cec6;background:transparent;color:#171717;text-align:left;padding:24px 10px 24px 0;font:inherit;font-size:17px;cursor:pointer;position:relative;transition:padding-left .3s,color .3s,background .3s}
.choice:nth-child(odd){border-right:1px solid #d4cec6}.choice:nth-child(even){padding-left:24px}.choice.wide{grid-column:1/-1;border-right:0;padding-left:0}
.choice:after{content:'+';position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:18px;font-weight:300;color:#a9a39c}
.choice.is-selected{background:#171717;color:#fff;padding-left:18px}.choice.is-selected:after{content:'×';color:#fff}.choice:nth-child(even).is-selected{padding-left:34px}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px 34px;margin-top:38px}.field-grid label{display:flex;flex-direction:column;gap:10px}.field-grid label.full{grid-column:1/-1}.field-grid span{font-size:9px;letter-spacing:.18em;color:#8e8880;text-transform:uppercase}
.field-grid input,.field-grid textarea{border:0;border-bottom:1px solid #bbb4ab;background:transparent;border-radius:0;padding:11px 0 13px;font:inherit;font-size:17px;color:#171717;outline:0;resize:none}.field-grid input:focus,.field-grid textarea:focus{border-color:#171717}.field-grid ::placeholder{color:#b6b0a8}
.form-actions{margin-top:auto;padding-top:56px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.form-actions button{border:0;background:none;padding:0;font:inherit;font-size:11px;letter-spacing:.08em;cursor:pointer}.form-back{color:#817b74}.form-back:disabled{opacity:.25;cursor:default}.form-next,.form-submit{background:#171717!important;color:#fff!important;padding:16px 22px!important;min-width:132px;text-align:center}
.inquiry-summary{border-top:1px solid #ccc5bd;margin-top:40px}.inquiry-summary>div{display:grid;grid-template-columns:140px 1fr;gap:20px;border-bottom:1px solid #d8d1c9;padding:18px 0}.inquiry-summary span{font-size:9px;letter-spacing:.16em;color:#938d86;text-transform:uppercase}.inquiry-summary strong{font-size:14px;font-weight:400;line-height:1.45}
.inquiry-success{min-height:62vh;display:flex;flex-direction:column;justify-content:center;max-width:720px}.inquiry-success h2{font-size:clamp(52px,6vw,92px);font-weight:400;letter-spacing:-.06em;line-height:.96;margin:16px 0 28px}.inquiry-success p:last-child{color:#77716a;max-width:480px;line-height:1.6}
.inquiry footer{position:relative;left:auto;right:auto;bottom:auto;margin-top:10vh;display:flex;justify-content:space-between;color:#726d67;font-size:9px}
@media(max-width:900px){.inquiry{padding:110px 24px 46px}.inquiry-shell{grid-template-columns:1fr;gap:54px}.inquiry-intro{position:relative;top:auto;padding-top:0}.inquiry-intro h2{font-size:42px}.inquiry-intro>p:last-child{font-size:13px}.inquiry-form{min-height:590px}.inquiry-progress{margin-bottom:70px}.form-step h3{font-size:34px}.choice-grid{grid-template-columns:1fr}.choice,.choice:nth-child(even),.choice.wide{grid-column:auto;border-right:0;padding-left:0}.choice.is-selected,.choice:nth-child(even).is-selected{padding-left:15px}.field-grid{grid-template-columns:1fr}.field-grid label.full{grid-column:auto}.inquiry-summary>div{grid-template-columns:100px 1fr}.inquiry footer{margin-top:80px}}

/* v15 — horizontal process journey */
.journey{height:420vh;position:relative;overflow:clip;background:#111;color:#fff}
.journey-sticky{position:sticky;top:0;height:100vh;display:grid;grid-template-columns:31vw 1fr;align-items:stretch;overflow:hidden}
.journey-intro{position:relative;z-index:3;padding:13vh 3.5vw 8vh 5.2vw;border-right:1px solid rgba(255,255,255,.10);display:flex;flex-direction:column;justify-content:center;background:#111}
.journey-intro .index{position:static;display:block;margin-bottom:7vh;color:#747474}
.journey-intro .kicker{margin-bottom:22px;color:#777}
.journey-intro h2{font-size:clamp(44px,5vw,76px);line-height:.96;letter-spacing:-.055em;font-weight:400;margin:0 0 30px}
.journey-intro>p:last-of-type{max-width:340px;color:#9d9d9d;font-size:12px;line-height:1.7;margin:0}
.journey-progress{margin-top:auto;height:1px;background:rgba(255,255,255,.15);overflow:hidden}.journey-progress i{display:block;width:var(--journeyProgress,0%);height:100%;background:#fff}
.journey-viewport{position:relative;overflow:hidden;display:flex;align-items:center}
.journey-track{display:flex;align-items:center;gap:clamp(34px,4vw,72px);padding:0 8vw 0 7vw;will-change:transform}
.journey-card{flex:0 0 auto;display:flex;flex-direction:column;justify-content:center;gap:18px;opacity:.28;transform:scale(.965);transition:opacity .35s ease,transform .35s ease;will-change:transform,opacity}
.journey-card.is-near{opacity:1;transform:scale(1)}
.journey-card figure{margin:0;overflow:hidden;background:#171717;position:relative}
.journey-card figure:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 70%,rgba(0,0,0,.2));pointer-events:none}
.journey-card img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.78) contrast(1.04);transform:scale(1.06) translateX(var(--imgShift,0px));will-change:transform}
.journey-card--wide figure{width:44vw;height:52vh}.journey-card--tall figure{width:30vw;height:66vh}.journey-card--large figure{width:50vw;height:61vh}
.journey-meta{display:grid;grid-template-columns:38px minmax(120px,220px) minmax(180px,300px);gap:16px;align-items:start;border-top:1px solid rgba(255,255,255,.13);padding-top:16px}
.journey-meta>span{font-size:9px;color:#6f6f6f;letter-spacing:.12em}.journey-meta h3{font-size:clamp(24px,2.1vw,34px);font-weight:400;letter-spacing:-.04em;margin:0}.journey-meta p{font-size:11px;line-height:1.55;color:#8f8f8f;margin:2px 0 0}
@media(max-width:900px){
  .journey{height:auto;overflow:visible}.journey-sticky{position:relative;height:auto;display:block;overflow:visible}.journey-intro{padding:110px 24px 54px;border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}.journey-intro .index{margin-bottom:40px}.journey-intro h2{font-size:48px}.journey-progress{display:none}.journey-viewport{overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:72px}.journey-track{padding:42px 24px 0;gap:20px;transform:none!important}.journey-card{opacity:1;transform:none;scroll-snap-align:start}.journey-card--wide figure,.journey-card--tall figure,.journey-card--large figure{width:78vw;height:52vh}.journey-meta{grid-template-columns:28px 1fr;gap:8px}.journey-meta p{grid-column:2}.journey-card img{transform:none!important}
}


/* v16 — monochrome reference marquee */
.references{padding:12vh 0 10vh;overflow:hidden;border-top:1px solid rgba(255,255,255,.10);border-bottom:1px solid rgba(255,255,255,.10)}
.references-head{position:relative;padding:0 5.2vw 7vh;display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:4vw}.references-head .index{position:static;grid-column:1/-1;margin-bottom:2vh;color:#747474}.references-head .kicker{margin:0}.references-head h2{justify-self:end;max-width:520px;margin:0;font-size:clamp(24px,2.8vw,40px);line-height:1.05;letter-spacing:-.045em;font-weight:400;color:#b7b7b7}
.logo-marquee{position:relative;overflow:hidden;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);padding:32px 0}.logo-marquee:before,.logo-marquee:after{content:"";position:absolute;top:0;bottom:0;width:10vw;z-index:2;pointer-events:none}.logo-marquee:before{left:0;background:linear-gradient(90deg,#111,transparent)}.logo-marquee:after{right:0;background:linear-gradient(270deg,#111,transparent)}
.logo-track{display:flex;width:max-content;animation:logoMarquee 34s linear infinite;will-change:transform}.logo-marquee:hover .logo-track{animation-play-state:paused}.logo-set{display:flex;align-items:center;gap:clamp(58px,6vw,112px);padding-right:clamp(58px,6vw,112px)}.ref-logo{display:block;flex:0 0 auto;width:clamp(92px,9vw,148px);color:#d6d6d6;opacity:.72;transition:opacity .3s ease,transform .3s ease}.ref-logo svg{display:block;width:100%;height:auto}.ref-logo:hover{opacity:1;transform:translateY(-2px)}
@keyframes logoMarquee{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media(max-width:900px){.references{padding:90px 0 72px}.references-head{padding:0 24px 48px;display:block}.references-head .index{margin-bottom:38px}.references-head h2{justify-self:auto;margin-top:18px;max-width:330px;font-size:30px}.logo-marquee{padding:24px 0}.logo-set{gap:54px;padding-right:54px}.ref-logo{width:104px}.logo-track{animation-duration:26s}}
