
/* DIAL THEO / Edition 02 — standalone landing page. No JS or framework dependencies. */
:root{--ink:#101511;--ink-soft:#1b241c;--cream:#f5f4ee;--bone:#e9eae2;--muted:#69736a;--acid:#d9f48b;--line:rgba(16,21,17,.16);--light-line:rgba(245,244,238,.18);--page:1440px;--gutter:clamp(22px,5.1vw,88px);--ease:cubic-bezier(.19,1,.22,1);--sans:'DM Sans',Inter,'Arial Nova',Arial,sans-serif;--serif:'Instrument Serif',Georgia,serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;background:var(--cream);color:var(--ink);font:450 16px/1.5 var(--sans);-webkit-font-smoothing:antialiased}
body.locked{overflow:hidden}
a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}
svg{display:block}button,a{-webkit-tap-highlight-color:transparent}
::selection{color:var(--ink);background:var(--acid)}:focus-visible{outline:2px solid #78a518;outline-offset:5px}
.wrap{max-width:var(--page);padding-inline:var(--gutter);margin-inline:auto}
.icon{width:19px;height:19px;flex:none;stroke-width:1.65}
.eyebrow{font:750 10px/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase}
.serif{font-family:var(--serif);font-weight:400;font-style:italic;letter-spacing:-.055em}
.rule{height:1px;background:var(--line)}
.skip{position:fixed;top:-100px;left:12px;background:var(--acid);color:var(--ink);padding:12px;z-index:150}.skip:focus{top:12px}
/* NAV */
.nav-shell{position:absolute;top:0;left:0;right:0;z-index:35;color:var(--cream)}
.nav{height:88px;display:flex;align-items:center;gap:40px;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.15)}
.logo{display:flex;align-items:center;gap:11px;white-space:nowrap;font-size:22px;font-weight:800;letter-spacing:-.085em;line-height:1}
.logo-mark{width:30px;height:30px;border:1px solid currentColor;border-radius:50%;position:relative;display:grid;place-items:center}
.logo-mark svg{width:15px;height:15px;stroke-width:2}
.logo .terminal{color:var(--acid)}
.nav-links{display:flex;align-items:center;gap:clamp(20px,2.8vw,42px);font-size:12px;font-weight:650}
.nav-links>a:not(.nav-button){opacity:.7;transition:opacity .2s}.nav-links>a:not(.nav-button):hover{opacity:1}
.nav-button{border-radius:4px;color:var(--ink);background:var(--acid);padding:13px 16px;display:flex;align-items:center;gap:14px;transition:background .25s,transform .25s var(--ease)}
.nav-button:hover{background:#e9ffa8;transform:translateY(-2px)}.nav-button .icon{width:16px;height:16px}
.menu-toggle{display:none;color:var(--cream);background:none;border:1px solid rgba(255,255,255,.25);border-radius:5px;padding:9px;align-items:center;justify-content:center}
/* BUTTONS */
.button{appearance:none;display:inline-flex;justify-content:space-between;align-items:center;gap:26px;min-height:58px;padding:16px 17px 16px 22px;border-radius:4px;border:1px solid transparent;text-align:left;font-size:13px;font-weight:750;letter-spacing:-.01em;transition:transform .35s var(--ease),background .3s,border-color .3s,box-shadow .3s}
.button:hover{transform:translateY(-3px)}.button .icon{width:20px;height:20px;transition:transform .35s var(--ease)}.button:hover .icon{transform:translate(3px,-3px)}
.button-acid{background:var(--acid);color:var(--ink)}.button-acid:hover{background:#e6ff9b;box-shadow:0 8px 30px rgba(217,244,139,.13)}
.button-outline{background:transparent;border-color:rgba(255,255,255,.35);color:var(--cream)}.button-outline:hover{border-color:var(--acid);background:rgba(255,255,255,.045)}
.button-dark{background:var(--ink);color:var(--cream)}.button-dark:hover{background:#29362a}
/* HERO */
.hero{min-height:826px;position:relative;overflow:hidden;background:var(--ink);color:var(--cream);isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 75% 45%,rgba(150,172,106,.12),transparent 50%),linear-gradient(95deg,#101511 24%,#151c15 100%)}
.hero::after{content:"";position:absolute;inset:0;opacity:.10;z-index:-1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.55' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.21'/%3E%3C/svg%3E")}
.hero-layout{position:relative;min-height:826px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(360px,.7fr);align-items:center;gap:30px;padding-top:143px;padding-bottom:116px}
.hero-copy{position:relative;z-index:4;padding-top:8px}.hero-overline{display:flex;align-items:center;gap:14px;color:#d6dbd0;margin-bottom:44px}.hero-overline .line{height:1px;width:34px;background:#879484}.hero-overline .locale{opacity:.54;margin-left:4px}
.hero h1{font-size:clamp(56px,6.4vw,98px);line-height:1.02;letter-spacing:-.09em;word-spacing:.09em;font-weight:800;margin:0 0 35px;max-width:960px}
.hero h1 span{display:block;white-space:nowrap}.hero h1 .br-m{display:none}.hero h1 .last{color:var(--acid);display:flex;align-items:baseline;gap:.14em}.hero h1 .serif{font-size:1.1em;font-weight:400;letter-spacing:-.07em;line-height:.9;color:var(--acid)}
.hero-desc{max-width:440px;font-size:17px;font-weight:450;line-height:1.65;color:#bdc6b8;margin:0 0 32px}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:25px}.hero-actions .button{min-width:228px}
.hero-note{font-size:11px;color:#9eaa9c;letter-spacing:.02em;line-height:1.6}.hero-note b{display:block;color:var(--cream);font-size:12px;font-weight:650}
.hero-viz{position:relative;align-self:stretch;display:flex;align-items:center;justify-content:center;min-height:500px;isolation:isolate}
.hero-viz::before{content:"";position:absolute;width:min(720px,67vw);aspect-ratio:1;border-radius:50%;left:50%;top:45%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(176,203,131,.12),transparent 63%);z-index:-1;filter:blur(28px)}
.viz-canvas{position:relative;width:min(100%,540px);aspect-ratio:1;display:grid;place-items:center;transform:translate(10%,1%)}
.orbit{position:absolute;border-radius:50%;border:1px solid rgba(207,228,188,.19);inset:1%;animation:orbitFloat 30s linear infinite}
.orbit.two{inset:12%;border-color:rgba(214,233,191,.24);animation-direction:reverse;animation-duration:38s}
.orbit.three{inset:24%;border-color:rgba(214,233,191,.35);animation-duration:23s}
.orbit.four{inset:39%;background:rgba(217,244,139,.055);border-color:rgba(217,244,139,.5);box-shadow:0 0 90px rgba(217,244,139,.06);animation:none}
.orbit.one::before,.orbit.three::before{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:var(--acid);top:14%;left:14%;box-shadow:0 0 24px rgba(217,244,139,.8)}
.orbit.three::before{top:auto;bottom:10%;left:auto;right:11%;width:5px;height:5px;opacity:.6}
.viz-cross{position:absolute;width:10px;height:10px;top:22%;right:14%;opacity:.45}.viz-cross::before,.viz-cross::after{content:"";position:absolute;left:50%;top:0;height:100%;width:1px;background:var(--cream)}.viz-cross::after{transform:rotate(90deg)}
.viz-center{font:500 11px/1.2 var(--sans);letter-spacing:.25em;color:#d9f48b;text-align:center}
.viz-top{position:absolute;top:4%;left:4%;font-size:10px;color:#bbc5af;letter-spacing:.12em}
.viz-side{position:absolute;right:-4%;top:50%;writing-mode:vertical-rl;font-size:9px;letter-spacing:.2em;color:#98a795;transform:translateY(-50%)}
.hero-bottomline{position:absolute;left:0;right:0;bottom:0;border-top:1px solid rgba(255,255,255,.18)}
.hero-bottomline .wrap{display:grid;grid-template-columns:1fr 1fr 1fr;min-height:68px;align-items:center}
.hero-bottomline span{font-size:10px;font-weight:650;letter-spacing:.1em;color:#a9b5a5;text-transform:uppercase}
.hero-bottomline span:nth-child(2){text-align:center}.hero-bottomline span:nth-child(3){text-align:right}
@keyframes orbitFloat{to{transform:rotate(360deg)}}
/* INDEX */
.index-strip{background:var(--acid)}.index-grid{min-height:91px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.index-item{display:flex;align-items:center;gap:18px;padding:18px 30px;border-left:1px solid rgba(16,21,17,.23)}.index-item:first-child{border-left:0;padding-left:0}
.index-item .num{font-size:10px;letter-spacing:.1em;font-weight:800;opacity:.54}.index-item strong{font-size:13px;letter-spacing:-.02em;font-weight:750}
/* GENERIC SECTIONS */
.section-kicker{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.17em;font-weight:800;text-transform:uppercase}.section-kicker::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
.section-title{font-size:clamp(49px,6.2vw,90px);font-weight:750;line-height:1.05;letter-spacing:-.085em;margin:0}
.section-title .serif{font-size:1.13em;line-height:.78}
/* EXPERTISE */
.expertise{padding:150px 0 155px}
.expertise-head{display:grid;grid-template-columns:1.5fr .5fr;align-items:end;gap:65px;margin:40px 0 84px}
.expertise-head .section-title{max-width:850px}.expertise-head .section-title .serif{color:#819176}
.expertise-head p{max-width:290px;margin:0 0 8px;color:#616d63;font-size:15px;line-height:1.65}
.service-list{border-top:1px solid var(--line)}
.service{display:grid;grid-template-columns:70px minmax(0,.94fr) minmax(0,1fr) 48px;gap:24px;align-items:center;min-height:222px;padding:30px 5px;border-bottom:1px solid var(--line);transition:background .35s}
.service:hover{background:#eceee4}.service-id{align-self:start;padding-top:12px;font-size:11px;color:#7f8b7d;font-weight:750}
.service-title{font-size:clamp(30px,3.4vw,49px);font-weight:750;line-height:1.12;letter-spacing:-.065em;margin:0}
.service-copy{max-width:370px;color:#5f6b60;line-height:1.68;font-size:14px;margin:0}
.service-copy b{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#283728;margin-bottom:12px}
.service-arrow{width:39px;height:39px;border:1px solid #cbd0c3;border-radius:50%;display:grid;place-items:center;transition:background .25s,transform .35s var(--ease)}
.service:hover .service-arrow{background:var(--acid);transform:rotate(45deg)}.service-arrow .icon{width:19px;height:19px}
/* STATEMENT */
.manifesto{background:#d9f48b;color:var(--ink);padding:124px 0 132px;position:relative;overflow:hidden}
.manifesto::before{content:"";position:absolute;right:-8%;top:-45%;width:750px;aspect-ratio:1;border:1px solid rgba(16,21,17,.16);border-radius:50%;pointer-events:none}
.manifesto .section-kicker{margin-bottom:52px}
.manifesto-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(45px,7vw,125px)}
.manifesto h2{margin:0;max-width:780px;font-size:clamp(54px,6.7vw,105px);font-weight:760;line-height:1.02;letter-spacing:-.095em}
.manifesto h2 .serif{font-size:1.11em}
.manifesto-content{padding-top:10px}.manifesto-content>p{max-width:430px;margin:0 0 38px;font-size:18px;line-height:1.65}
.manifesto-step{display:flex;gap:24px;align-items:baseline;border-top:1px solid rgba(16,21,17,.24);padding:19px 0}
.manifesto-step:last-of-type{border-bottom:1px solid rgba(16,21,17,.24)}
.manifesto-step .n{font-size:11px;letter-spacing:.08em;opacity:.57;font-weight:800;flex:none}
.manifesto-step b{display:block;font-size:15px;letter-spacing:-.02em;font-weight:750;margin-bottom:6px}
.manifesto-step p{margin:0;font-size:13px;color:#485740;line-height:1.55}
.manifesto-content .button{margin-top:30px}
/* ABOUT */
.about{background:#e9ebe4;padding:143px 0}
.about-grid{display:grid;grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr);gap:clamp(55px,8vw,140px);align-items:center}
.identity-card{position:relative;background:#19251c;aspect-ratio:.94;max-height:585px;overflow:hidden;isolation:isolate;padding:28px;color:var(--acid);display:flex;flex-direction:column;justify-content:space-between}
.identity-card::before{content:"";position:absolute;inset:-15%;pointer-events:none;z-index:-1;background:repeating-radial-gradient(circle at 58% 46%,transparent 0,transparent 41px,rgba(217,244,139,.15) 42px,transparent 43px);transform:rotate(-23deg)}
.identity-card::after{content:"";position:absolute;right:-35%;top:-33%;width:90%;aspect-ratio:1;border:1px solid rgba(217,244,139,.4);border-radius:50%;filter:blur(.1px)}
.identity-head,.identity-bottom{display:flex;justify-content:space-between;gap:18px;align-items:center;z-index:1;font-size:9px;font-weight:750;text-transform:uppercase;letter-spacing:.16em;color:#bed4a5}
.identity-letters{z-index:1;font-size:clamp(115px,17vw,245px);font-weight:750;letter-spacing:-.15em;line-height:.9;white-space:nowrap;margin-left:-.04em}
.identity-letters span{font-family:var(--serif);font-weight:400;font-style:italic;margin-left:.05em}
.about-content .section-kicker{margin-bottom:43px}.about-content .section-title{margin-bottom:24px}
.about-content .intro{font-size:18px;line-height:1.65;color:#4a584b;max-width:640px;margin:0 0 36px}
.credentials{display:grid;grid-template-columns:1fr 1fr;gap:0 27px;margin-bottom:35px}
.credential{border-top:1px solid var(--line);padding:17px 0 20px}.credential small{display:block;font-size:10px;letter-spacing:.1em;font-weight:800;color:#829180;margin-bottom:8px}.credential b{display:block;max-width:255px;font-size:13px;font-weight:700;line-height:1.5}
/* PRICING */
.pricing{background:var(--ink);color:var(--cream);padding:142px 0 148px;position:relative;overflow:hidden}
.pricing-grid{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:clamp(55px,7vw,140px)}
.pricing .section-kicker{color:var(--acid);margin-bottom:43px}.pricing .section-title{max-width:790px}
.pricing .section-title .serif{color:var(--acid)}
.pricing-text{max-width:395px;margin:32px 0 0;font-size:17px;line-height:1.7;color:#b9c4b6}
.reservation-card{background:#f1f1e9;color:var(--ink);padding:clamp(27px,3vw,42px);border-radius:6px;box-shadow:0 36px 100px rgba(0,0,0,.2);position:relative}
.reservation-card::before{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.15);border-radius:6px;pointer-events:none}
.res-card-head{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding-bottom:22px}
.res-card-head span{font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.res-tag{background:#e2e8d2;border:1px solid #d4dec4;border-radius:100px;font-size:9px!important;padding:7px 10px;white-space:nowrap}
.res-price{display:flex;align-items:baseline;gap:13px;margin:28px 0 0}.res-price strong{font-size:clamp(80px,8.4vw,126px);line-height:1;letter-spacing:-.1em;font-weight:760}.res-price span{font-size:24px;font-weight:650}
.res-meta{font-size:11px;color:#697667;margin:3px 0 30px}
.res-list{list-style:none;padding:0;margin:0 0 29px;border-top:1px solid var(--line)}
.res-list li{display:flex;align-items:flex-start;gap:13px;padding:13px 0;border-bottom:1px solid var(--line);font-size:13px;font-weight:600}
.res-list .icon{color:#3a6331;width:15px;height:15px;margin-top:2px}
.reservation-card .button{width:100%}
.res-small{color:#798578;font-size:11px;line-height:1.6;margin:17px 0 0}
/* FAQ */
.faq{padding:128px 0 137px;background:var(--cream)}.faq-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(45px,7vw,130px)}
.faq .section-kicker{margin-bottom:43px}.faq .section-title{max-width:400px}
.accordions{border-top:1px solid var(--line)}
.accordions details{border-bottom:1px solid var(--line)}
.accordions summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 0;font-size:15px;font-weight:750;letter-spacing:-.025em}
.accordions summary::-webkit-details-marker{display:none}
.acc-icon{width:22px;height:22px;display:grid;place-items:center;flex:none;transition:transform .25s}.acc-icon .icon{width:17px;height:17px}
.accordions details[open] .acc-icon{transform:rotate(45deg)}.accordions details p{color:#5f6b5e;font-size:14px;line-height:1.7;max-width:535px;margin:0 35px 26px 0}
/* FOOTER */
.footer{background:#172119;color:var(--cream);padding:72px 0 32px}
.footer-top{display:flex;justify-content:space-between;align-items:start;gap:30px;margin-bottom:105px}.footer-top p{max-width:325px;font-size:15px;line-height:1.6;color:#adbaab;margin:0}
.footer-big{font-size:clamp(77px,16.6vw,245px);line-height:.78;letter-spacing:-.105em;font-weight:800;white-space:nowrap;max-width:100%;margin-left:-.04em;user-select:none}
.footer-line{height:1px;background:rgba(255,255,255,.15);margin:72px 0 23px}
.footer-bottom{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;color:#a7b4a5;font-size:10px;letter-spacing:.04em}
.service-title a{color:inherit;text-decoration:none}.service-title a:hover{color:var(--muted)}
.footer-links{display:flex;align-items:center;gap:27px;flex-wrap:wrap}.footer-links a:hover{color:var(--acid)}
/* MODAL */
.modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;background:rgba(5,10,6,.74);backdrop-filter:blur(9px);padding:14px;overscroll-behavior:contain}
.modal.is-open{display:flex}
.dialog{display:flex;flex-direction:column;width:min(100%,570px);max-height:min(94vh,890px);max-height:min(92dvh,890px);overflow:hidden;background:var(--cream);color:var(--ink);border-radius:6px;box-shadow:0 30px 120px rgba(0,0,0,.29);position:relative;outline:0}
.dialog-head{flex:none;display:flex;justify-content:flex-end;padding:16px 16px 0}
.dialog-body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:0 clamp(25px,4vw,48px) clamp(25px,4vw,48px)}
.close-modal{position:static;flex:none;display:grid;place-items:center;border:1px solid #ced3c8;background:var(--cream);border-radius:50%;width:39px;height:39px;color:var(--ink)}.close-modal .icon{width:19px;height:19px}
.dialog h2{font-size:clamp(37px,5vw,60px);letter-spacing:-.085em;line-height:1.05;margin:27px 0 14px;font-weight:760}
.dialog>p{font-size:14px;color:#626f60;line-height:1.65;margin-bottom:26px}.form-row{margin-bottom:15px}
.form-row label{display:block;margin-bottom:8px;font-size:10px;text-transform:uppercase;font-weight:800;letter-spacing:.11em}
.form-row input,.form-row textarea{width:100%;border:1px solid #bdc5b9;border-radius:3px;background:#fff;color:var(--ink);padding:12px 14px;outline:none;font-size:14px}
.form-row input:focus,.form-row textarea:focus{border-color:#466c28;box-shadow:0 0 0 3px rgba(217,244,139,.5)}.form-row textarea{min-height:100px;resize:vertical}
.form-submit{width:100%;margin:5px 0 7px}.form-hint{font-size:11px;line-height:1.6;color:#798579;margin:0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
altcha-widget{display:block;margin:2px 0 14px}
.altcha-checkbox input{accent-color:#101511}
.form-status{font-size:13px;line-height:1.5;margin:10px 0 0;min-height:1px}
.form-status.ok{color:#3f6b1f}.form-status.err{color:#a63a1e}
/* LEGAL */
.legal{margin-top:4px}
.legal-date{font-size:12px;color:#798579;margin:0 0 22px}
.legal h3{font-size:15px;letter-spacing:-.02em;margin:26px 0 10px;font-weight:750;line-height:1.3}
.legal h3:first-of-type{margin-top:18px}
.legal h4{font-size:13px;font-weight:800;letter-spacing:.01em;margin:19px 0 7px;color:var(--ink)}
.legal p{font-size:14px;line-height:1.65;color:#4f5c50;margin:0 0 12px}
.legal ul{margin:0 0 14px;padding-left:19px}
.legal li{font-size:13.5px;line-height:1.6;color:#4f5c50;margin-bottom:5px}
.legal a{text-decoration:underline;text-underline-offset:2px}
.legal strong{font-weight:750;color:var(--ink)}
/* MOTION */
.reveal{opacity:1;transform:none}.reveal.in-view{animation:rise .7s var(--ease) both}
@keyframes rise{from{opacity:.65;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
/* TABLET */
@media(max-width:1140px){
 .hero-layout{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:0}.hero h1{font-size:clamp(64px,7.6vw,100px)}
 .viz-canvas{transform:translate(26%,1%);width:430px} .expertise-head{grid-template-columns:1.25fr .75fr}.about-grid{gap:50px}
}
@media(max-width:900px){
 :root{--gutter:32px}.nav{height:76px}.nav-shell{z-index:50}
 .nav-links{display:none;position:absolute;top:76px;left:0;right:0;padding:17px var(--gutter) 24px;background:var(--ink);flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid rgba(255,255,255,.2)}.nav-links.open{display:flex}
 .nav-links a{padding:16px 0;font-size:15px}.nav-links .nav-button{margin-top:14px;padding:17px}
 .menu-toggle{display:flex}
 .hero{min-height:740px}.hero-layout{min-height:740px;grid-template-columns:1fr;padding-top:151px;padding-bottom:130px}
 .hero h1{font-size:clamp(74px,11vw,108px)}.hero-copy{max-width:710px}.hero-viz{position:absolute;inset:0 0 0 auto;z-index:0;opacity:.35;min-height:0;width:64%;pointer-events:none}.hero-copy{z-index:2}.viz-canvas{width:640px;transform:translate(42%,7%)}.viz-top,.viz-side{display:none}
 .expertise{padding:105px 0}.expertise-head{grid-template-columns:1fr;gap:25px;margin-bottom:50px}.expertise-head p{max-width:530px}
 .service{grid-template-columns:42px minmax(0,.9fr) minmax(0,1fr) 34px;gap:12px;min-height:190px}
 .manifesto{padding:100px 0}.manifesto-grid{grid-template-columns:minmax(0,1fr);gap:45px}.manifesto-content{max-width:650px}.manifesto h2{max-width:700px}
 .about{padding:105px 0}.about-grid{grid-template-columns:.83fr 1.17fr;gap:35px}.identity-card{aspect-ratio:.75}.identity-letters{font-size:clamp(90px,15vw,150px)}
 .pricing{padding:105px 0}.pricing-grid{grid-template-columns:1fr;gap:60px}.pricing .section-title{max-width:700px}.reservation-card{max-width:610px}
 .faq-grid{grid-template-columns:1fr;gap:50px}
}
@media(max-width:620px){
 :root{--gutter:22px}
 .logo{font-size:21px}.nav{height:72px}.nav-links{top:72px}
 .hero{min-height:745px}.hero-layout{min-height:745px;padding-top:142px;padding-bottom:135px;align-items:start}
 .hero-overline{margin-bottom:40px;font-size:9px;gap:10px}
 .hero h1{font-size:clamp(58px,13.5vw,86px);margin-bottom:30px;line-height:.98;letter-spacing:-.055em;word-spacing:.05em}
 .hero h1 span{white-space:normal}
 .hero h1 .br-m{display:inline}
 .hero h1 .last{display:block}.hero h1 .serif{display:inline;font-size:1.06em;line-height:.7}
 .hero-desc{max-width:335px;font-size:15px;line-height:1.68;margin-bottom:27px}
 .hero-actions{align-items:flex-start;gap:18px;flex-direction:column}.hero-actions .button{min-height:56px;min-width:245px}.hero-note{font-size:10px}
 .hero-viz{inset:0 0 0 auto;opacity:.26;width:100%}.viz-canvas{width:580px;transform:translate(58%,24%)}
 .hero-bottomline .wrap{grid-template-columns:1fr 1fr;min-height:64px}.hero-bottomline span:nth-child(2){display:none}.hero-bottomline span:nth-child(3){text-align:right}
 .index-grid{grid-template-columns:1fr;min-height:auto;padding-block:6px}.index-item{min-height:57px;padding:13px 2px;border-left:0;border-bottom:1px solid rgba(16,21,17,.22)}.index-item:last-child{border-bottom:0}.index-item .num{width:40px}
 .section-title{font-size:clamp(48px,11.8vw,70px)}
 .expertise{padding:91px 0 99px}.expertise-head{margin:34px 0 48px}.expertise-head p{font-size:14px}
 .service{grid-template-columns:28px minmax(0,1fr) 34px;align-items:start;column-gap:14px;row-gap:13px;padding:29px 0;min-height:auto}
 .service-id{padding-top:9px}.service-title{font-size:33px}.service-copy{grid-column:2 / 3;font-size:13px;line-height:1.6}.service-arrow{grid-column:3;grid-row:1;align-self:start;width:34px;height:34px}
 .service-copy b{font-size:9px;margin-bottom:7px}
 .manifesto{padding:86px 0 93px}.manifesto .section-kicker{margin-bottom:36px}.manifesto h2{font-size:clamp(51px,12vw,77px)}
 .manifesto-content>p{font-size:16px}.manifesto-grid{gap:34px}
 .about{padding:89px 0}.about-grid{grid-template-columns:1fr;gap:50px}.identity-card{width:100%;max-height:440px;aspect-ratio:1.28}.identity-letters{font-size:clamp(136px,35vw,200px)}.about-content .section-kicker{margin-bottom:32px}.about-content .intro{font-size:16px}.credentials{gap:0 17px}.credential b{font-size:12px}
 .pricing{padding:88px 0 96px}.pricing-grid{gap:44px}.pricing .section-kicker{margin-bottom:37px}.pricing .section-title{font-size:clamp(52px,12vw,72px)}.pricing-text{font-size:16px}
 .reservation-card{padding:24px}.res-price strong{font-size:91px}.res-card-head span{font-size:9px}.res-tag{font-size:8px!important}
 .faq{padding:86px 0 100px}.faq-grid{gap:42px}.faq .section-kicker{margin-bottom:34px}.accordions summary{font-size:14px}
 .footer{padding:64px 0 28px}.footer-top{flex-direction:column;gap:25px;margin-bottom:86px}.footer-big{font-size:16vw}.footer-line{margin:54px 0 22px}.footer-bottom{gap:20px}.footer-links{gap:15px 22px}
}
@media(max-width:350px){.manifesto h2{font-size:46px}.hero h1{font-size:55px}.hero-overline .locale{display:none}.identity-letters{font-size:120px}.section-title{font-size:47px}}
/* MODALES PLEIN ÉCRAN SUR MOBILE */
@media(max-width:620px){
 .modal{padding:0;align-items:stretch}
 .dialog{width:100%;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;border-radius:0;box-shadow:none}
 .dialog-head{padding:calc(10px + env(safe-area-inset-top)) 12px 0}
 .dialog-body{padding:0 20px calc(26px + env(safe-area-inset-bottom))}
 .dialog h2{margin:14px 0 12px}
 .legal h3{margin:24px 0 9px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal.in-view{animation:none}}
/* --- liens vers les pages d'expertise (cartes) --- */
.service-link{display:inline-flex;align-items:center;gap:9px;margin-top:16px;font-size:11px;font-weight:750;
  letter-spacing:.1em;text-transform:uppercase;color:var(--ink);text-decoration:none;
  border-bottom:1px solid var(--acid);padding-bottom:3px;transition:gap .2s var(--ease)}
.service-link:hover{gap:15px}
.service-link .icon{width:13px;height:13px}
a.service-arrow{color:inherit;text-decoration:none}
.button-ghost{background:transparent;color:var(--ink);border-color:rgba(16,21,17,.28)}
.button-ghost:hover{background:#fff;border-color:var(--ink)}

/* --- menu mobile : mêmes retraits que les pages intérieures --- */
/* home.css est chargé après chrome.css et redéfinissait le padding des liens
   du panneau mobile : l'accueil gardait donc l'ancien alignement. */
@media (max-width: 900px) {
  .nav-links { padding: 17px calc(var(--gutter) - 12px) 24px; }
  .nav-links a,
  .nav-links .nav-sub a { padding: 15px 12px; font-size: 15px; }
  .nav-links .nav-sub { padding: 0; }
  .nav-links .nav-button { margin: 14px 12px 0; padding: 17px; }
}
