:root{--black:#111;--paper:#f1f0eb;--blue:#2855ff;--line:#c9c8c2;--pad:clamp(20px,4vw,64px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--black);font-family:"DM Sans",sans-serif;overflow-x:hidden}
button,a{font:inherit}
button{cursor:pointer}
.noise{position:fixed;inset:0;pointer-events:none;opacity:.045;z-index:20;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}
.nav{position:absolute;top:0;left:0;width:100%;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:24px var(--pad);color:#fff;border-bottom:1px solid #ffffff55}
.brand{color:inherit;text-decoration:none;line-height:.78;display:flex;flex-direction:column;font-size:9px;letter-spacing:.18em}
.brand strong{font:20px/1 "Archivo Black";letter-spacing:-.06em}
.nav nav{display:flex;gap:38px}
.nav nav a,.nav-book{color:inherit;text-decoration:none;text-transform:uppercase;font-size:12px;background:none;border:0}
.nav-book{border:1px solid #ffffff77;padding:13px 18px}
.nav-book span,.button span{margin-left:30px}
.menu-button{display:none;background:none;border:0}
.hero{height:100svh;min-height:700px;position:relative;color:#fff;overflow:hidden;background:#111}
.hero-photo{position:absolute;inset:-6%;background:url('https://images.unsplash.com/photo-1622286342621-4bd786c2447c?auto=format&fit=crop&w=2200&q=90') center 35%/cover;transform:scale(1.05);will-change:transform}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#080808c9 0%,#1112 60%),linear-gradient(0deg,#080808c2 0%,transparent 55%)}
.hero-copy{position:absolute;left:var(--pad);bottom:12%;z-index:2}
.eyebrow{font-size:11px;letter-spacing:.2em}
.hero h1,.story h2,.services h2,.craft h2,.booking-cta h2,.booking-intro h2{font:clamp(54px,8.7vw,142px)/.82 "Archivo Black";letter-spacing:-.075em;margin:18px 0 40px}
.hero h1 em,.craft h2 em{font-style:normal;color:var(--blue)}
.hero-actions{display:flex;gap:10px}
.button{display:inline-flex;align-items:center;justify-content:space-between;min-width:205px;padding:17px 20px;text-transform:uppercase;text-decoration:none;border:1px solid transparent;font-weight:600;font-size:12px;transition:.25s}
.button:hover{transform:translateY(-3px)}
.button.light{background:var(--paper);color:#111}
.button.outline{color:#fff;border-color:#ffffff99}
.button.dark{background:#111;color:#fff;width:100%;margin-top:15px}
.hero-index{position:absolute;right:var(--pad);top:110px;z-index:2;font-size:11px;letter-spacing:.2em}
.review-card{position:absolute;right:0;bottom:0;z-index:2;width:min(29vw,420px);background:var(--paper);color:#111;padding:32px 40px}
.review-card .stars{color:var(--blue);letter-spacing:4px}
.review-card small{color:#111;letter-spacing:0}
.review-card p{font-size:18px;line-height:1.35}
.review-card span{font-size:11px;color:#777}
.scroll-cue{position:absolute;bottom:30px;left:50%;z-index:3;width:52px;height:52px;border:1px solid #fff8;border-radius:50%;color:#fff;text-decoration:none;display:grid;place-items:center}
.marquee{overflow:hidden;background:var(--blue);color:#fff;padding:14px 0;font:22px "Archivo Black";white-space:nowrap}
.marquee div{width:max-content;animation:marquee 20s linear infinite}
.section{padding:120px var(--pad)}
.section-label{border-top:1px solid var(--line);padding-top:14px;font-size:11px;letter-spacing:.15em}
.section-label span{color:var(--blue);margin-right:5px}
.story-main{display:grid;grid-template-columns:2fr 1fr;gap:10vw;align-items:end;margin:75px 0}
.story h2,.services h2{font-size:clamp(50px,7.2vw,112px);margin:0}
.story h2 span,.services h2 span,.booking-cta h2 span,.booking-intro h2 span{color:var(--blue)}
.story-main>p,.services-head>p{font-size:17px;line-height:1.6;max-width:390px}
.story-grid{height:570px;display:grid;grid-template-columns:1.1fr .6fr .8fr;gap:18px;align-items:stretch}
.photo{background-size:cover;background-position:center;position:relative;filter:grayscale(1)}
.photo span{position:absolute;background:var(--paper);padding:8px;top:12px;left:12px;font-size:10px}
.photo-one{background-image:url('https://images.unsplash.com/photo-1599351431202-1e0f0137899a?auto=format&fit=crop&w=1200&q=85')}
.photo-two{background-image:url('https://images.unsplash.com/photo-1593702295094-aea22597af65?auto=format&fit=crop&w=1000&q=85');margin-top:100px}
.stat{background:var(--blue);color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:28px}
.stat strong{font:clamp(42px,6vw,90px) "Archivo Black";letter-spacing:-.08em}
.stat span{font-size:12px;text-transform:uppercase}
.services{background:#e3e2dd}
.services-head{display:flex;align-items:end;justify-content:space-between;margin:75px 0}
.service-row{width:100%;display:grid;grid-template-columns:50px 2.1fr 1.3fr 100px 40px;gap:15px;align-items:center;text-align:left;padding:28px 0;border:0;border-top:1px solid #aaa;background:transparent;transition:.25s}
.service-row:last-child{border-bottom:1px solid #aaa}
.service-row:hover{background:var(--blue);color:#fff;padding-left:20px;padding-right:20px}
.service-row b{font-size:11px;color:var(--blue)}
.service-row:hover b{color:#fff}
.service-row h3{font:clamp(20px,2.2vw,34px) "Archivo Black";letter-spacing:-.05em;margin:0}
.service-row p{color:#6a6a68;font-size:13px}
.service-row:hover p{color:#fff}
.service-row>strong{text-align:right}
.service-row>span{text-align:right}
.price-note{font-size:10px;color:#777;margin-top:20px}
.craft{min-height:1100px;background:#111;color:#fff;position:relative;overflow:hidden;padding:140px var(--pad)}
.clipper-wrap{position:absolute;left:40%;top:40px;width:min(36vw,440px);height:850px;display:flex;justify-content:center;filter:drop-shadow(0 40px 50px #000);will-change:transform}
.clipper{width:100%;transform:rotate(-15deg)}
.craft-copy{position:relative;z-index:2;width:58%}
.craft h2{font-size:clamp(60px,8.5vw,130px);margin:30px 0}
.craft-copy>p:last-child{max-width:410px;line-height:1.6;color:#bbb}
.craft-gallery{position:absolute;right:var(--pad);bottom:70px;display:flex;align-items:end;gap:15px}
.craft-gallery figure{margin:0;background-size:cover;background-position:center;filter:grayscale(1)}
.photo-three{width:240px;height:330px;background-image:url('https://images.unsplash.com/photo-1503951914875-452162b0f3f1?auto=format&fit=crop&w=800&q=85')}
.photo-four{width:300px;height:430px;background-image:url('https://images.unsplash.com/photo-1621605815971-fbc98d665033?auto=format&fit=crop&w=800&q=85')}
.booking-cta{background:var(--blue);color:#fff;text-align:center}
.booking-cta h2{font-size:clamp(55px,9vw,142px);margin:40px 0}
.booking-cta h2 span{color:#111}
.button.big{min-width:280px}
footer{background:#111;color:#fff;padding:80px var(--pad) 30px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px}
.footer-brand strong{font-size:clamp(34px,5vw,70px)}
footer>div{display:flex;flex-direction:column;gap:10px}
footer small{color:#777;margin-bottom:15px}
footer a,footer p{color:#fff;text-decoration:none;font-size:13px;margin:0}
.copyright{grid-column:1/-1;border-top:1px solid #444;padding-top:20px!important;color:#777!important}
.booking-modal{width:min(1060px,94vw);max-height:90vh;border:0;padding:0;background:var(--paper);overflow:auto}
.booking-modal::backdrop{background:#000c;backdrop-filter:blur(7px)}
.modal-close{position:absolute;right:20px;top:15px;border:0;background:none;font-size:34px;z-index:3}
.booking-modal{grid-template-columns:1fr 1fr}
.booking-modal[open]{display:grid;animation:modalIn .45s cubic-bezier(.2,.8,.2,1)}
.booking-intro{background:#111;color:#fff;padding:70px 45px}
.booking-intro h2{font-size:clamp(48px,6vw,90px);margin:35px 0}
.booking-intro>p{font-size:13px;line-height:1.6;max-width:360px}
.booking-modal form{padding:70px 45px;display:flex;flex-direction:column;justify-content:space-between}
.form-step{display:none}
.form-step.active{display:block;animation:fadeUp .35s}
.form-step label{font-size:11px;letter-spacing:.15em}
.choices,.date-choices{display:grid;gap:8px;margin-top:25px}
.choices button,.date-choices button{display:flex;justify-content:space-between;background:transparent;border:1px solid #aaa;padding:17px;text-align:left;transition:.2s}
.choices button:hover,.date-choices button:hover{background:var(--blue);color:#fff;border-color:var(--blue)}
.form-step input{width:100%;border:0;border-bottom:1px solid #999;background:transparent;padding:20px 0;font-size:16px;outline:0}
.form-step input:focus{border-color:var(--blue)}
.booking-progress{margin-top:40px;font-size:10px}
.booking-progress>div{height:2px;background:#ccc;margin-top:10px}
.booking-progress i{display:block;background:var(--blue);height:100%;width:33%;transition:.4s}
.toast{position:fixed;z-index:40;bottom:30px;left:50%;transform:translate(-50%,120px);background:#111;color:#fff;padding:16px 24px;font-size:13px;transition:.4s}
.toast.show{transform:translate(-50%,0)}
.reveal{opacity:0;transform:translateY(50px);transition:opacity .8s,transform .8s}
.reveal.visible{opacity:1;transform:none}
@keyframes marquee{to{transform:translateX(-50%)}
}
@keyframes modalIn{from{opacity:0;transform:translateY(50px) scale(.98)}
}
@keyframes fadeUp{from{opacity:0;transform:translateY(15px)}
}

@media(max-width:800px){.nav{padding-top:18px}
.nav nav,.nav-book{display:none}
.nav.open{position:fixed;height:100svh;background:#111;align-items:flex-start}
.nav.open nav{display:flex;position:absolute;left:20px;top:120px;flex-direction:column;gap:18px}
.nav.open nav a{font:38px "Archivo Black";letter-spacing:-.05em}
.nav.open .nav-book{display:block;position:absolute;left:20px;bottom:35px}
.menu-button{display:block}
.menu-button i{display:block;width:28px;height:1px;background:#fff;margin:8px;transition:.25s}
.nav.open .menu-button i:first-child{transform:translateY(4.5px) rotate(45deg)}
.nav.open .menu-button i:last-child{transform:translateY(-4.5px) rotate(-45deg)}
.hero{min-height:720px}
.hero-photo{inset:0;background-position:58% center}
.hero-copy{bottom:16%;right:20px}
.hero h1{font-size:clamp(52px,15vw,80px)}
.hero-index{top:90px}
.hero-actions{flex-direction:column;align-items:flex-start}
.review-card{display:none}
.scroll-cue{left:auto;right:20px}
.section{padding:80px 20px}
.story-main,.services-head{display:block;margin:55px 0}
.story-main>p,.services-head>p{margin-top:35px}
.story-grid{height:700px;grid-template-columns:1.2fr .8fr;grid-template-rows:1fr 1fr}
.photo-one{grid-row:1/3}
.photo-two{margin-top:0}
.stat{padding:18px}
.service-row{grid-template-columns:32px 1fr 60px 24px;padding:20px 0}
.service-row p{display:none}
.service-row h3{font-size:20px}
.service-row:hover{padding-left:10px;padding-right:10px}
.craft{min-height:1000px;padding:90px 20px}
.craft-copy{width:100%}
.clipper-wrap{left:37%;top:240px;width:70vw;opacity:.7}
.craft-gallery{right:20px;bottom:40px}
.photo-three{width:34vw;height:260px}
.photo-four{width:46vw;height:350px}
footer{grid-template-columns:1fr 1fr;padding:60px 20px 25px}
.footer-brand{grid-column:1/-1}
.booking-modal[open]{display:block}
.booking-intro{padding:50px 25px 35px}
.booking-intro h2{font-size:52px}
.booking-modal form{padding:35px 25px}
.modal-close{color:#fff}
.booking-progress{margin-top:30px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
.marquee div{animation:none}
.reveal{opacity:1;transform:none;transition:none}
.hero-photo,.clipper-wrap{transform:none!important}
}


/* V2 , refined editorial system */
body{font-family:"Manrope",sans-serif;background:#f2f0e9}
.brand strong,.hero h1,.story h2,.services h2,.craft h2,.booking-cta h2,.booking-intro h2,.service-row h3,.stat strong{font-family:"Space Grotesk",sans-serif;font-weight:700}
.noise{opacity:.025}
.nav{top:20px;left:var(--pad);right:var(--pad);width:auto;padding:0;border:0;display:grid;grid-template-columns:1fr auto 1fr}
.nav nav{gap:7px;padding:6px;border:1px solid #ffffff2e;border-radius:50px;background:#0b0c0d73;backdrop-filter:blur(16px)}
.nav nav a{padding:11px 16px;border-radius:30px;font-size:10px;font-weight:700;letter-spacing:.08em;transition:.25s}
.nav nav a:hover{background:#fff;color:#111}
.nav-book{justify-self:end;background:var(--blue);border:0;padding:16px 19px;font-size:10px;font-weight:700;letter-spacing:.08em}
.hero-photo{inset:-3%;transform:scale(1.035)}
.hero-shade{background:linear-gradient(90deg,#080808d4 0%,#1111 68%),linear-gradient(0deg,#080808c8 0%,transparent 55%)}
.hero h1,.story h2,.services h2,.craft h2,.booking-cta h2,.booking-intro h2{line-height:.84}
.button{font-size:11px;font-weight:700;transition:transform .35s cubic-bezier(.2,.8,.2,1),background .2s}
.button:hover{transform:translateY(-2px)}
.scroll-cue{display:none}
.marquee{padding:15px 0;font:700 21px "Space Grotesk";overflow:hidden}
.marquee .marquee-track{display:flex;width:max-content;animation:marquee 22s linear infinite;will-change:transform}
.marquee-track span{display:block;flex:none}
.marquee i{font-style:normal;color:#a9bbff;margin:0 14px}
.reveal{transform:translateY(18px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}


.manifesto{background:#111;color:#fff}
.manifesto .section-label{border-color:#3b3b3d}
.manifesto-kicker{margin:65px 0 22px;font-size:11px;letter-spacing:.2em;color:#9a9a9d}
.manifesto h2{margin:0;font:700 clamp(54px,8.5vw,136px)/.84 "Space Grotesk";letter-spacing:-.075em}
.manifesto h2 em{color:var(--blue);font-style:normal}
.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#343437;margin-top:90px}
.principles article{background:#111;padding:34px;min-height:260px;display:flex;flex-direction:column}
.principles b{font-size:10px;color:var(--blue)}
.principles h3{margin:auto 0 16px;font:700 32px "Space Grotesk";letter-spacing:-.05em}
.principles p{margin:0;color:#aaa;font-size:13px;line-height:1.6;max-width:300px}


.craft{min-height:980px;background:radial-gradient(circle at 72% 40%,#25272c 0,#151619 32%,#0b0c0e 68%);padding:150px var(--pad)}
.craft:before{content:"03";position:absolute;right:-3vw;bottom:-10vw;font:700 38vw/.8 "Space Grotesk";letter-spacing:-.1em;color:#ffffff05}
.craft-copy{width:52%;pointer-events:none}
.craft-copy>p:last-child{line-height:1.7}
.craft-gallery,.clipper-wrap{display:none}


.experience{background:#17181b;color:#fff}
.light-label{border-color:#3b3c40}
.experience-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:10vw;align-items:end;margin:70px 0}
.experience-grid>div>p{font-size:10px;letter-spacing:.2em;color:#888}
.experience h2{font:700 clamp(60px,9vw,140px)/.83 "Space Grotesk";letter-spacing:-.08em;margin:20px 0 0}
.experience h2 em{font-style:normal;color:var(--blue)}
.experience-grid>p{color:#b1b1b3;line-height:1.75;max-width:420px}
.experience-images{display:grid;grid-template-columns:1.1fr .7fr .8fr;height:600px;gap:14px}
.experience-images figure{margin:0;background-size:cover;background-position:center;filter:grayscale(1)}
.exp-one{background-image:url('https://images.unsplash.com/photo-1503951914875-452162b0f3f1?auto=format&fit=crop&w=1400&q=85')}
.exp-two{background-image:url('https://images.unsplash.com/photo-1585747860715-2ba37e788b70?auto=format&fit=crop&w=1000&q=85');transform:translateY(70px)}
.exp-three{background-image:url('https://images.unsplash.com/photo-1621605815971-fbc98d665033?auto=format&fit=crop&w=1000&q=85')}


.voices{background:#e5e3dd}
.voices-head{display:flex;justify-content:space-between;align-items:end;margin:70px 0}
.voices h2{font:700 clamp(54px,7.8vw,120px)/.84 "Space Grotesk";letter-spacing:-.075em;margin:0}
.voices h2 span{color:var(--blue)}
.rating{display:flex;align-items:center;gap:16px}
.rating strong{font:700 54px "Space Grotesk"}
.rating span{font-size:10px;line-height:1.7;color:var(--blue)}
.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#bdbcb7}
.quote-grid blockquote{margin:0;background:#e5e3dd;padding:35px;min-height:330px;display:flex;flex-direction:column}
.quote-grid blockquote>span{font:700 60px/1 "Space Grotesk";color:var(--blue)}
.quote-grid blockquote p{font-size:20px;line-height:1.45}
.quote-grid blockquote footer{margin-top:auto;background:none;padding:0;display:block;color:#707070;font-size:10px;letter-spacing:.1em}


@keyframes marquee{to{transform:translateX(-50%)}
}

@media(max-width:800px){.nav{top:18px;left:20px;right:20px;display:flex}
.nav.open{left:0;right:0;top:0}
.nav nav,.nav-book{display:none}
.nav.open nav{border:0;border-radius:0;background:none;backdrop-filter:none;padding:0}
.nav.open nav a{font-family:"Space Grotesk"}
.hero-photo{inset:0}
.manifesto,.experience,.voices{padding:85px 20px}
.principles{grid-template-columns:1fr;margin-top:55px}
.principles article{min-height:210px}
.craft{min-height:980px}
.craft-copy{width:100%}
.craft h2{font-size:clamp(54px,15vw,76px)}
.experience-grid{display:block;margin:55px 0}
.experience-grid>p{margin-top:35px}
.experience-images{height:680px;grid-template-columns:1.15fr .85fr;grid-template-rows:1fr 1fr}
.exp-one{grid-row:1/3}
.exp-two{transform:none}
.exp-three{display:none}
.voices-head{display:block;margin:55px 0}
.rating{margin-top:35px}
.quote-grid{grid-template-columns:1fr}
.quote-grid blockquote{min-height:270px}
.marquee{font-size:17px}
.review-card{display:none}
}

@media(prefers-reduced-motion:reduce){.marquee .marquee-track{animation-play-state:paused}
.hero-photo{transform:scale(1.035)!important}
}




.craft{overflow:visible;isolation:isolate}
.services{position:relative;z-index:2}
.experience{position:relative;z-index:2}

@media(max-width:800px){.craft{overflow:hidden}
}


/* Performance, journal and rebuilt mobile layout */
.manifesto,.services,.craft,.experience,.voices,.journal,.booking-cta,footer{content-visibility:auto;contain-intrinsic-size:900px}
.marquee .marquee-track{animation-name:marqueeV3;animation-duration:24s}
.journal{background:#f2f0e9}
.journal-head{display:flex;justify-content:space-between;align-items:end;margin:70px 0}
.journal h2{font:700 clamp(52px,7.5vw,116px)/.85 "Space Grotesk";letter-spacing:-.075em;margin:0}
.journal h2 span{color:var(--blue)}
.journal-head>a{color:#111;text-decoration:none;border-bottom:1px solid #111;padding:0 0 8px;font-size:12px}
.journal-head b{margin-left:25px}
.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.journal-grid>a{color:#111;text-decoration:none}
.journal-grid figure{height:390px;margin:0 0 22px;background-size:cover;background-position:center;filter:grayscale(1);transition:filter .3s,transform .4s}
.journal-grid>a:hover figure{filter:grayscale(0);transform:translateY(-5px)}
.journal-grid small{font-size:9px;letter-spacing:.12em;color:#777}
.journal-grid h3{font:700 25px/1.08 "Space Grotesk";letter-spacing:-.04em;margin:12px 0}
.journal-grid p{font-size:13px;line-height:1.6;color:#656565}
.journal-one{background-image:url('https://images.unsplash.com/photo-1621605815971-fbc98d665033?auto=format&fit=crop&w=900&q=80')}
.journal-two{background-image:url('https://images.unsplash.com/photo-1599351431202-1e0f0137899a?auto=format&fit=crop&w=900&q=80')}
.journal-three{background-image:url('https://images.unsplash.com/photo-1593702295094-aea22597af65?auto=format&fit=crop&w=900&q=80')}
@keyframes marqueeV3{to{transform:translate3d(-50%,0,0)}
}

@media(max-width:800px){body{font-size:14px}
.nav{z-index:30}
.hero{height:100svh;min-height:680px}
.hero-photo{background-position:61% center}
.hero-shade{background:linear-gradient(0deg,#070707ef 0%,#0909095c 65%),linear-gradient(90deg,#06060691,transparent)}
.hero-copy{left:20px;right:20px;bottom:36px}
.hero .eyebrow{font-size:8px}
.hero h1{font-size:clamp(48px,14vw,66px);line-height:.86;margin:14px 0 28px}
.hero-index{display:none}
.hero-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
.hero-actions .button{min-width:0;width:100%;padding:15px 13px;font-size:9px}
.hero-actions .button span{margin-left:10px}
.brand strong{font-size:18px}
.marquee{padding:12px 0;font-size:14px}
.marquee i{margin:0 9px}
.section{padding:78px 20px}
.section-label{font-size:9px}
.story-main{margin:48px 0}
.story h2,.services h2{font-size:clamp(44px,13vw,62px)}
.story-main>p,.services-head>p{font-size:14px}
.story-grid{height:540px;grid-template-columns:1fr 1fr;gap:8px}
.stat strong{font-size:34px}
.manifesto h2{font-size:clamp(44px,13vw,62px)}
.principles article{padding:24px;min-height:180px}
.principles h3{font-size:26px}
.services-head{margin:48px 0}
.service-row{grid-template-columns:26px 1fr 52px 16px;gap:8px}
.service-row h3{font-size:17px}
.service-row>strong{font-size:12px}
.craft{min-height:760px;padding:76px 20px}
.craft-copy{position:relative;z-index:4}
.craft-copy>p:last-child{max-width:280px}
.experience-grid{margin:45px 0}
.experience h2{font-size:clamp(48px,14vw,68px)}
.experience-images{height:500px;gap:8px}
.voices h2{font-size:clamp(46px,13vw,64px)}
.quote-grid blockquote{padding:26px;min-height:235px}
.quote-grid blockquote p{font-size:17px}
.journal-head{display:block;margin:50px 0}
.journal h2{font-size:clamp(45px,13vw,64px)}
.journal-head>a{display:inline-block;margin-top:28px}
.journal-grid{grid-template-columns:1fr;gap:45px}
.journal-grid figure{height:330px}
.journal-grid h3{font-size:23px}
.booking-cta h2{font-size:clamp(46px,13vw,68px)}
footer{grid-template-columns:1fr;padding:55px 20px 24px;gap:38px}
footer>div{border-top:1px solid #333;padding-top:25px}
.booking-modal{width:100vw;max-height:100svh;height:100svh}
.booking-modal[open]{margin:0}
.booking-intro{padding:55px 22px 28px}
.booking-intro h2{font-size:46px;margin:24px 0}
.booking-modal form{padding:30px 22px}
.choices button,.date-choices button{padding:14px}
.modal-close{position:fixed;right:14px;top:10px}
.manifesto,.services,.craft,.experience,.voices,.journal,.booking-cta,footer{contain-intrinsic-size:700px}
}

@media(prefers-reduced-motion:reduce){.marquee .marquee-track{animation-duration:45s}
}

.craft{min-height:1180px;overflow:hidden}.craft-copy{width:58%;position:relative;z-index:3}.craft-visuals{position:absolute;left:34%;right:var(--pad);top:330px;height:760px;display:grid;grid-template-columns:1.35fr .65fr;gap:12px}.craft-visuals figure{margin:0;background-size:cover;background-position:center;filter:grayscale(1);position:relative}.craft-visuals figcaption{position:absolute;left:14px;top:14px;background:#f2f0e9;color:#111;padding:8px 10px;font-size:9px;letter-spacing:.1em}.craft-main{background-image:url('https://images.unsplash.com/photo-1622286342621-4bd786c2447c?auto=format&fit=crop&w=1400&q=82')}.craft-side{display:grid;grid-template-rows:1.4fr .6fr;gap:12px}.craft-detail{background-image:url('https://images.unsplash.com/photo-1599351431202-1e0f0137899a?auto=format&fit=crop&w=900&q=82')}.craft-facts{background:var(--blue);display:grid;grid-template-columns:repeat(3,1fr);color:#fff}.craft-facts span{padding:18px 14px;border-right:1px solid #ffffff35;font-size:8px;line-height:1.5;display:flex;flex-direction:column;justify-content:end}.craft-facts b{font:700 25px Space Grotesk;letter-spacing:-.06em}.craft-facts span:last-child{border:0}
@media(max-width:800px){.craft{min-height:1040px}.craft-copy{width:100%}.craft-visuals{left:20px;right:20px;top:390px;height:570px;grid-template-columns:1fr}.craft-side{grid-template-columns:1fr;grid-template-rows:200px 115px}.craft-main{min-height:240px}.craft-facts span{padding:12px 9px}.craft-facts b{font-size:20px}}

/* Mobile type rhythm, stable vector icons and full-screen booking */
.icon-arrow{border:0!important;width:14px;height:14px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M5 19 19 5M9 5h10v10'/%3E%3C/svg%3E") center/contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M5 19 19 5M9 5h10v10'/%3E%3C/svg%3E") center/contain no-repeat}
.icon-arrow:after{display:none}.icon-arrow.icon-down{transform:rotate(135deg)}
@media(max-width:800px){
.hero h1,.story h2,.manifesto h2,.services h2,.craft h2,.experience h2,.voices h2,.journal h2,.booking-cta h2,.booking-intro h2{line-height:.94;letter-spacing:-.045em}
.booking-modal{box-sizing:border-box;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;inset:0;border:0;border-radius:0;overflow-y:auto;overflow-x:hidden}
.booking-modal[open]{display:flex;flex-direction:column}
.booking-intro{flex:0 0 auto;min-height:260px;padding:54px 22px 26px}
.booking-intro h2{font-size:42px;margin:20px 0 18px}
.booking-modal form{flex:1;padding:28px 22px 38px;justify-content:flex-start}
.booking-progress{margin-top:auto;padding-top:28px}
.modal-close{position:fixed;right:12px;top:10px;width:44px;height:44px;padding:0;display:grid;place-items:center;color:#fff;line-height:1}
}

/* Consistent vector arrows and mobile boundary fixes */
.icon-arrow{display:inline-block;width:10px;height:10px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;position:relative;flex:0 0 auto;margin-left:30px}
.icon-arrow:after{content:"";position:absolute;width:13px;height:1.5px;background:currentColor;right:-2px;top:3px;transform:rotate(-45deg);transform-origin:right center}
.icon-arrow.icon-down{transform:rotate(135deg)}
.text-arrow{display:flex;align-items:center;gap:8px}.text-arrow .icon-arrow{width:8px;height:8px;margin-left:0}.text-arrow .icon-arrow:after{width:10px}
.journal-head>a{display:inline-flex;align-items:center}.journal-head>a .icon-arrow{margin-left:25px}
.service-row>.icon-arrow{justify-self:end;margin-left:0}
@media(max-width:800px){
html,body,main{max-width:100%;overflow-x:clip}
.story h2{font-size:clamp(40px,11.5vw,52px)}
.quote-grid{grid-template-columns:minmax(0,1fr)}
.quote-grid blockquote{min-width:0;max-width:100%;overflow-wrap:anywhere}
.hero-actions .icon-arrow{margin-left:8px}
}

/* Final vector icon override */
.icon-arrow{border:0!important;width:14px;height:14px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M5 19 19 5M9 5h10v10'/%3E%3C/svg%3E") center/contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M5 19 19 5M9 5h10v10'/%3E%3C/svg%3E") center/contain no-repeat}
.icon-arrow:after{display:none!important}.icon-arrow.icon-down{transform:rotate(135deg)}
