@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&family=Instrument+Serif:ital@0;1&display=swap');

:root{
  --ivory:#f3efe7;--ivory-2:#e9e2d7;--ink:#1a1c1a;--graphite:#353833;--sage:#6d7c70;
  --sage-deep:#48564d;--coral:#cf604d;--coral-deep:#a94436;--line:rgba(26,28,26,.18);--white:#fff;
  --pad:clamp(20px,3.6vw,58px);--header:78px;--serif:'Instrument Serif',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--mono:'IBM Plex Mono',monospace;
  --ease:cubic-bezier(.22,.8,.2,1)
}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ivory)}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}img{display:block;max-width:100%}button{cursor:pointer}.skip{position:fixed;left:12px;top:-60px;background:var(--ink);color:var(--ivory);padding:10px 14px;z-index:200}.skip:focus{top:12px}.micro{font:400 10px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--sage-deep)}
.site-header{height:var(--header);position:fixed;inset:0 0 auto;z-index:50;padding:0 var(--pad);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid transparent;transition:background .3s,border-color .3s}.site-header.is-scrolled,.site-header.solid{background:rgba(243,239,231,.93);backdrop-filter:blur(18px);border-bottom-color:var(--line)}.brand{display:inline-flex;flex-direction:column;align-items:flex-start;width:max-content}.brand strong{font-size:22px;line-height:1;letter-spacing:-.04em}.brand small{margin-top:5px;font:400 7px/1 var(--mono);letter-spacing:.14em;color:var(--sage-deep)}.desktop-nav{display:flex;gap:30px;align-items:center;font-size:12px}.desktop-nav a{position:relative}.desktop-nav a:after{content:'';position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:currentColor;transition:right .25s}.desktop-nav a:hover:after,.desktop-nav a[aria-current=page]:after{right:0}.header-action{justify-self:end;display:inline-flex;align-items:center;gap:18px;border:1px solid var(--ink);border-radius:999px;padding:11px 15px;font:500 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;transition:.25s}.header-action:hover{background:var(--ink);color:var(--ivory)}.menu-trigger{display:none;background:none;border:0;padding:12px;font:500 10px/1 var(--mono)}.mobile-menu{position:fixed;inset:var(--header) 0 0;background:var(--ivory);z-index:45;padding:44px var(--pad);display:flex;flex-direction:column;transform:translateY(-110%);transition:transform .5s var(--ease);visibility:hidden}.mobile-menu[aria-hidden=false]{transform:none;visibility:visible}.mobile-menu a{font:400 clamp(42px,11vw,64px)/1 var(--serif);padding:12px 0;border-bottom:1px solid var(--line)}.mobile-menu .menu-meta{margin-top:auto;display:flex;justify-content:space-between;gap:20px}
.pill{display:inline-flex;align-items:center;justify-content:center;gap:18px;background:var(--ink);color:var(--ivory);border:1px solid var(--ink);border-radius:999px;padding:14px 18px;font:500 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;transition:transform .25s,background .25s,color .25s}.pill:hover{transform:translateY(-2px);background:transparent;color:var(--ink)}.pill.light{border-color:rgba(255,255,255,.65);background:transparent}.pill.light:hover{background:var(--ivory);color:var(--ink)}.arrow-link{display:inline-flex;gap:28px;align-items:center;font:500 11px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;padding-bottom:9px;border-bottom:1px solid currentColor}.arrow-link span{transition:transform .25s}.arrow-link:hover span{transform:translate(3px,-3px)}
.hero{min-height:100svh;padding:calc(var(--header) + 64px) var(--pad) 32px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:clamp(28px,5vw,82px);align-items:stretch}.hero-copy{display:flex;flex-direction:column;min-width:0}.hero h1{font:400 clamp(72px,7.5vw,136px)/.83 var(--serif);letter-spacing:-.055em;margin:34px 0 42px;max-width:7.8ch}.hero h1 em{font-style:italic;color:var(--coral)}.hero-lede{max-width:460px;font-size:17px;line-height:1.65;color:var(--graphite)}.hero-actions{display:flex;gap:24px;align-items:center;margin-top:34px;flex-wrap:wrap}.hero-foot{margin-top:auto;padding-top:40px;display:flex;justify-content:space-between;gap:20px;align-items:end}.hero-media{position:relative;min-height:680px;background:var(--ivory-2);overflow:hidden}.hero-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.76) contrast(1.02)}.hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(16,18,16,.32),transparent 40%);pointer-events:none}.hero-media figcaption{position:absolute;z-index:2;left:22px;right:22px;bottom:18px;color:var(--ivory);display:flex;justify-content:space-between;gap:10px;font:400 9px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.section{padding:clamp(90px,11vw,170px) var(--pad);border-top:1px solid var(--line)}.section-head{display:grid;grid-template-columns:1.2fr .55fr;gap:80px;align-items:end}.section-head h2{font:400 clamp(54px,6vw,102px)/.89 var(--serif);letter-spacing:-.048em;margin:28px 0 0}.section-head p:last-child{max-width:420px;color:var(--graphite);line-height:1.7}.manifesto-grid{display:grid;grid-template-columns:1.25fr .6fr;gap:clamp(48px,10vw,160px);align-items:end}.manifesto-grid h2{font:400 clamp(62px,7.3vw,126px)/.84 var(--serif);letter-spacing:-.055em;margin:30px 0 0;max-width:7.4ch}.manifesto-copy{display:flex;flex-direction:column;gap:26px;color:var(--graphite);line-height:1.75}.manifesto-copy .note{padding-top:20px;border-top:1px solid var(--line)}
.signature{background:var(--ink);color:var(--ivory);padding:clamp(44px,5vw,76px) var(--pad);display:grid;grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr);gap:clamp(32px,5vw,76px)}.signature-copy{display:flex;flex-direction:column;min-height:760px}.signature h2{font:400 clamp(60px,6vw,104px)/.87 var(--serif);letter-spacing:-.05em;margin:30px 0 28px;max-width:6.2ch}.signature-intro{color:#c6c0b6;max-width:34ch;line-height:1.75}.phase-list{margin-top:auto;border-top:1px solid rgba(255,255,255,.18)}.phase{width:100%;display:grid;grid-template-columns:42px 1fr auto;align-items:center;background:none;color:var(--ivory);border:0;border-bottom:1px solid rgba(255,255,255,.18);padding:16px 0;text-align:left}.phase b{font:400 9px/1 var(--mono);color:#8e928d}.phase span{font:500 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase}.phase i{font-style:normal;opacity:0;transition:.25s}.phase.is-active{color:var(--coral)}.phase.is-active i,.phase:hover i{opacity:1}.signature-hint{margin-top:24px;color:#7f837f}.relationship-stage{position:relative;min-height:760px;border:1px solid rgba(255,255,255,.14);overflow:hidden;background:radial-gradient(circle at 50% 48%,#31362f 0,#20231f 45%,#161815 76%);perspective:1100px}.relationship-stage:before{content:'RELATIONSHIP FIELD / NODO';position:absolute;top:18px;left:20px;z-index:4;font:400 8px/1 var(--mono);letter-spacing:.13em;color:#8c928c}.relationship-stage:after{content:'';position:absolute;inset:10%;border:1px solid rgba(255,255,255,.06);border-radius:50%;pointer-events:none}.relationship-svg{position:absolute;inset:0;width:100%;height:100%;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) scale(.88);transition:transform .55s var(--ease);transform-style:preserve-3d}.relationship-stage.is-dragging .relationship-svg{transition:none}.relationship-svg .layer{transition:opacity .45s,filter .45s,transform .55s var(--ease);transform-origin:center}.relationship-svg .alignment{opacity:1}.relationship-svg .function{opacity:.25}.relationship-svg .structure{opacity:.2}.relationship-svg .surface{opacity:.16}.relationship-stage[data-phase='2'] .alignment{opacity:.35}.relationship-stage[data-phase='2'] .function{opacity:1;filter:drop-shadow(0 0 10px rgba(207,96,77,.35))}.relationship-stage[data-phase='3'] .alignment{opacity:.22}.relationship-stage[data-phase='3'] .function{opacity:.35}.relationship-stage[data-phase='3'] .structure{opacity:1}.relationship-stage[data-phase='4'] .alignment{opacity:.18}.relationship-stage[data-phase='4'] .function{opacity:.25}.relationship-stage[data-phase='4'] .structure{opacity:.35}.relationship-stage[data-phase='4'] .surface{opacity:1;filter:drop-shadow(0 0 11px rgba(190,225,203,.25))}.stage-caption{position:absolute;z-index:5;left:20px;right:20px;bottom:16px;display:flex;justify-content:space-between;gap:10px;font:400 8px/1.3 var(--mono);letter-spacing:.1em;color:#a7aaa5;text-transform:uppercase}.relation-node{animation:pulse 3.6s ease-in-out infinite;transform-origin:center}@keyframes pulse{50%{opacity:.48}}
.treatments-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:72px}.treatment-card{min-height:430px;padding:26px;display:flex;flex-direction:column;justify-content:space-between;background:var(--ivory-2);transition:transform .3s var(--ease),background .3s}.treatment-card:nth-child(2){background:var(--sage);color:var(--ivory)}.treatment-card:hover{transform:translateY(-7px)}.treatment-card h3{font:400 34px/1 var(--serif);letter-spacing:-.035em;margin:0;max-width:8ch}.treatment-card p{font-size:13px;line-height:1.6;max-width:25ch}.treatment-card .micro{color:inherit;opacity:.7}
.first-visit{background:var(--ivory-2)}.first-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(60px,11vw,180px)}.first-grid h2{font:400 clamp(56px,6vw,104px)/.9 var(--serif);letter-spacing:-.05em;margin:28px 0 0}.steps{border-top:1px solid var(--line)}.step{display:grid;grid-template-columns:48px 1fr;gap:22px;padding:22px 0;border-bottom:1px solid var(--line);align-items:start}.step h3{font-size:15px;margin:0;font-weight:500}.step p{grid-column:2;margin:6px 0 0;color:var(--graphite);font-size:13px;line-height:1.6}
.human{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr);gap:clamp(48px,9vw,130px);align-items:center}.human-media{min-height:640px;background:var(--sage);overflow:hidden}.human-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.72)}.human-copy h2{font:400 clamp(56px,6vw,100px)/.9 var(--serif);letter-spacing:-.05em;margin:28px 0}.human-copy p{max-width:520px;font-size:17px;line-height:1.75;color:var(--graphite)}
.closing{background:var(--coral);color:var(--ivory);padding:clamp(80px,10vw,150px) var(--pad);display:grid;grid-template-columns:1fr .7fr;gap:80px;align-items:center}.closing h2{font:400 clamp(68px,7vw,124px)/.84 var(--serif);letter-spacing:-.055em;margin:0}.closing p{max-width:480px;line-height:1.7}.closing .pill{margin-top:26px;background:var(--ink)}
.footer{background:var(--ink);color:var(--ivory);padding:62px var(--pad) 32px}.footer-top{display:grid;grid-template-columns:1.25fr repeat(3,.5fr);gap:50px}.footer-brand{font:400 clamp(72px,9vw,150px)/.8 var(--serif);letter-spacing:-.06em}.footer h4{font:500 9px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#8c928c;margin:0 0 18px}.footer a,.footer p{font-size:13px;margin:7px 0;color:#d4cec4}.footer-bottom{margin-top:70px;padding-top:20px;border-top:1px solid rgba(255,255,255,.15);display:flex;justify-content:space-between;gap:20px;color:#838781;font:400 8px/1.4 var(--mono);letter-spacing:.07em;text-transform:uppercase}
.inner-hero{padding:calc(var(--header) + 90px) var(--pad) 100px;min-height:72svh;display:grid;grid-template-columns:1.1fr .7fr;gap:80px;align-items:end}.inner-hero h1{font:400 clamp(76px,8vw,142px)/.84 var(--serif);letter-spacing:-.055em;margin:28px 0 0}.inner-hero .side{font-size:17px;line-height:1.75;color:var(--graphite);max-width:520px}.inner-hero.media-hero{grid-template-columns:.9fr 1.1fr;align-items:stretch}.inner-photo{min-height:620px;background:var(--ivory-2);overflow:hidden}.inner-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.74)}.table-list{margin-top:72px;border-top:1px solid var(--line)}.table-row{display:grid;grid-template-columns:90px 1fr 1fr auto;gap:28px;padding:26px 0;border-bottom:1px solid var(--line);align-items:start}.table-row h3{font:400 30px/1.05 var(--serif);margin:0}.table-row p{margin:0;color:var(--graphite);line-height:1.65}.table-row .arrow{font-size:22px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(60px,9vw,140px);align-items:start}.detail-grid h2{font:400 clamp(56px,6vw,100px)/.9 var(--serif);letter-spacing:-.05em;margin:28px 0}.assessment{border-top:1px solid var(--line)}.assessment-row{display:grid;grid-template-columns:48px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.journey{background:var(--sage);color:var(--ivory)}.journey-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:64px}.journey-step{padding-top:18px;border-top:1px solid rgba(255,255,255,.35)}.journey-step h3{font:400 28px/1 var(--serif);margin:24px 0 14px}.journey-step p{color:#e0ddd5;font-size:13px;line-height:1.65}
.studio-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:70px}.studio-photo{min-height:680px;background:var(--ivory-2)}.studio-photo img{width:100%;height:100%;object-fit:cover}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:68px}.principle{background:var(--ivory-2);padding:28px;min-height:310px;display:flex;flex-direction:column;justify-content:space-between}.principle h3{font:400 30px/1 var(--serif);margin:0}.principle p{font-size:13px;line-height:1.65;color:var(--graphite)}
.contact-hero{padding:calc(var(--header) + 72px) var(--pad) 60px;display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}.contact-copy{position:sticky;top:calc(var(--header) + 40px);height:max-content}.contact-copy h1{font:400 clamp(64px,6.5vw,112px)/.87 var(--serif);letter-spacing:-.05em;margin:28px 0}.contact-copy p{max-width:470px;color:var(--graphite);line-height:1.7}.flow{background:var(--ivory-2);padding:clamp(28px,4vw,52px);min-height:900px}.flow-step{display:none}.flow-step.is-active{display:block}.flow h2{font:400 clamp(42px,4vw,68px)/.95 var(--serif);letter-spacing:-.035em;margin:28px 0 42px}.choice-grid{display:grid;gap:10px}.choice{width:100%;min-height:72px;border:1px solid var(--line);background:var(--ivory);display:flex;align-items:center;justify-content:space-between;padding:16px 18px;text-align:left;transition:.2s}.choice:hover,.choice.is-selected{border-color:var(--ink);background:var(--ink);color:var(--ivory)}.choice span:last-child{font:400 9px/1 var(--mono)}.flow-actions{display:flex;justify-content:space-between;align-items:center;margin-top:42px}.flow-progress{display:flex;gap:5px}.flow-progress i{width:24px;height:2px;background:rgba(26,28,26,.18)}.flow-progress i.on{background:var(--coral)}.field{display:flex;flex-direction:column;gap:8px;margin:18px 0}.field label{font:500 10px/1 var(--mono);letter-spacing:.07em;text-transform:uppercase}.field input,.field textarea{border:0;border-bottom:1px solid var(--ink);background:transparent;padding:14px 0;outline:none}.field textarea{min-height:120px;resize:vertical}.demo-note{margin-top:28px;padding-top:20px;border-top:1px solid var(--line);font-size:12px;color:var(--graphite)}.success{padding:50px 0}.success h2{font-size:62px}
.error-page{min-height:100svh;background:var(--ink);color:var(--ivory);display:flex;flex-direction:column;justify-content:space-between;padding:40px var(--pad)}.error-page h1{font:400 clamp(90px,15vw,260px)/.74 var(--serif);letter-spacing:-.07em;margin:0}.error-page .error-link{align-self:flex-end}
@media(max-width:1050px){.desktop-nav{display:none}.site-header{grid-template-columns:1fr auto}.site-header .header-action{display:none}.menu-trigger{display:block}.hero{grid-template-columns:1fr 1fr;gap:28px}.hero h1{font-size:clamp(66px,8vw,96px)}.signature{grid-template-columns:1fr}.signature-copy{min-height:auto}.phase-list{margin-top:50px}.relationship-stage{min-height:680px}.treatments-grid{grid-template-columns:1fr 1fr}.human{grid-template-columns:1fr 1fr}.contact-hero{grid-template-columns:.8fr 1.2fr}}
@media(max-width:760px){:root{--header:64px;--pad:18px}.site-header{height:var(--header)}.brand strong{font-size:20px}.hero{display:flex;flex-direction:column;padding-top:calc(var(--header) + 44px);gap:34px}.hero h1{font-size:clamp(58px,16vw,76px);margin:28px 0}.hero-lede{font-size:15px}.hero-foot{display:none}.hero-media{min-height:500px;height:64svh}.section{padding:84px var(--pad)}.manifesto-grid,.section-head,.first-grid,.human,.closing,.inner-hero,.inner-hero.media-hero,.detail-grid,.contact-hero{grid-template-columns:1fr;gap:46px}.manifesto-grid h2{font-size:58px}.signature{padding:56px var(--pad) 18px}.signature h2{font-size:56px}.relationship-stage{min-height:520px}.phase-list{margin-top:44px}.treatments-grid{grid-template-columns:1fr}.treatment-card{min-height:250px}.first-grid h2{font-size:56px}.human-media{min-height:520px}.closing h2{font-size:64px}.footer-top{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1;font-size:86px}.footer-bottom{flex-direction:column}.inner-hero{padding-top:calc(var(--header) + 60px);min-height:auto}.inner-hero h1{font-size:68px}.inner-photo{min-height:520px}.table-row{grid-template-columns:44px 1fr auto}.table-row p{grid-column:2}.journey-grid,.principles{grid-template-columns:1fr}.studio-grid{grid-template-columns:1fr}.studio-photo{min-height:520px}.contact-hero{padding-top:calc(var(--header) + 50px)}.contact-copy{position:static}.flow{padding:28px 20px;min-height:720px}.relationship-svg{transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) scale(.98)}}
@media(max-width:390px){.hero h1{font-size:56px}.manifesto-grid h2,.signature h2,.first-grid h2{font-size:51px}.relationship-stage{min-height:470px}.closing h2{font-size:58px}.footer-brand{font-size:76px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.relationship-svg{transform:none!important}}
