:root{--ink:#171613;--paper:#eee9e0;--warm:#d9cdbd;--line:rgba(23,22,19,.18);--muted:#69645c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;line-height:1.45}.grain{position:fixed;inset:0;pointer-events:none;opacity:.035;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='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}.nav{height:86px;padding:20px 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(238,233,224,.92);backdrop-filter:blur(16px);z-index:10}.brand{color:var(--ink);text-decoration:none;display:flex;flex-direction:column;letter-spacing:.16em}.brand span{font-family:'Playfair Display',serif;font-size:20px;letter-spacing:.11em}.brand small{font-size:9px;letter-spacing:.34em;margin-top:2px}.nav nav{display:flex;gap:34px}.nav nav a,.text-link,footer a{color:inherit;text-decoration:none;font-size:11px;text-transform:uppercase;letter-spacing:.18em}.pill{display:inline-flex;align-items:center;gap:18px;padding:15px 22px;text-decoration:none;text-transform:uppercase;letter-spacing:.15em;font-size:10px;border:1px solid var(--ink);transition:.25s}.pill b{font-size:15px;font-weight:400}.pill-dark{background:var(--ink);color:var(--paper)}.pill-light{background:transparent;color:var(--ink)}.pill:hover{transform:translateY(-2px)}.hero{min-height:calc(100vh - 86px);padding:5vw 4vw 4vw;display:grid;grid-template-columns:.9fr 1.1fr;gap:5vw;align-items:center;overflow:hidden}.hero-copy{padding-left:4vw;position:relative;z-index:2}.eyebrow{font-size:10px;letter-spacing:.32em;text-transform:uppercase;margin:0 0 24px;color:var(--muted)}h1,h2{font-family:'Playfair Display',serif;font-weight:500;line-height:.95;margin:0}h1{font-size:clamp(65px,8vw,132px);letter-spacing:-.045em}h1 em,h2 em{font-weight:500}.hero .lead{max-width:440px;color:var(--muted);font-size:15px;margin:30px 0}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.hero-tags{display:flex;align-items:center;gap:12px;margin-top:70px;font-size:9px;letter-spacing:.23em}.hero-tags i{height:1px;width:22px;background:var(--ink)}.hero-collage{height:auto;position:relative;padding:0 2vw 2vw 0}.hero-collage figure{margin:0;overflow:hidden;position:relative}.hero-collage img,.masonry img,.about-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.hero-main-collage{width:100%;height:auto;border:1px solid rgba(17,17,17,.12);box-shadow:18px 18px 0 rgba(17,17,17,.035);background:#eee}.hero-main-collage img{height:auto;aspect-ratio:auto;object-fit:contain;object-position:center center}.hero-caption{position:absolute;right:0;bottom:0;background:var(--ink);color:var(--paper);padding:10px 13px;font-size:8px;letter-spacing:.2em;white-space:nowrap}.statement{background:var(--ink);color:var(--paper);padding:9vw 8vw;display:grid;grid-template-columns:.55fr 1.45fr;gap:5vw}.statement>p{font-size:10px;letter-spacing:.3em;margin:0}.statement>div{display:flex;gap:40px}.statement span{font-size:10px;letter-spacing:.2em;opacity:.5}.statement h2{font-size:clamp(42px,5vw,76px);letter-spacing:-.03em}.work,.services,.about,.reviews,.final-cta{padding:10vw 8vw}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:5vw}.section-head h2{font-size:clamp(52px,6vw,92px);letter-spacing:-.04em}.muted{max-width:340px;color:var(--muted);font-size:13px}.masonry{display:grid;grid-template-columns:1.1fr .75fr 1fr;gap:18px;align-items:start}.masonry figure{height:460px;margin:0;overflow:hidden}.masonry figure.tall{height:620px}.masonry figure.offset{margin-top:110px}.masonry figure:hover img{transform:scale(1.035)}.services{background:#e3ddd2}.service-list{border-top:1px solid var(--line)}.service-list a{display:grid;grid-template-columns:50px 1fr 120px 30px;gap:20px;align-items:center;color:inherit;text-decoration:none;padding:25px 0;border-bottom:1px solid var(--line);transition:.25s}.service-list a:hover{padding-left:12px}.service-list .num{font-size:10px;opacity:.45}.service-list h3{font-family:'Playfair Display',serif;font-size:25px;font-weight:500;margin:0 0 4px}.service-list p{font-size:12px;color:var(--muted);margin:0}.service-list strong{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:500}.service-list b{font-weight:400;font-size:17px}.menu-note{margin-top:35px;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted)}.about{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.about-image{height:680px}.about-copy h2{font-size:clamp(52px,5vw,82px);margin-bottom:35px}.about-copy p:not(.eyebrow){font-size:15px;color:var(--muted);max-width:500px;margin:0 0 20px}.signature{font-family:'Playfair Display',serif;font-style:italic;font-size:37px;margin-top:50px}.signature span{font-family:'DM Sans',sans-serif;font-style:normal;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.reviews{background:#d4c8b8}.reviews h2{font-size:clamp(60px,8vw,120px);margin-bottom:6vw;letter-spacing:-.045em}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5vw}.review-grid blockquote{margin:0;padding-top:25px;border-top:1px solid var(--ink)}.review-grid span{font-size:10px;letter-spacing:.2em}.review-grid p{font-family:'Playfair Display',serif;font-size:24px;line-height:1.2}.review-grid cite{font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--muted);font-style:normal}.final-cta{text-align:center;padding:13vw 8vw}.final-cta h2{font-size:clamp(70px,10vw,150px);letter-spacing:-.05em;margin-bottom:50px}footer{padding:35px 5vw 110px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:30px}footer>div:nth-child(2){display:flex;gap:25px}footer>small:last-child{text-align:right;font-size:9px;letter-spacing:.12em;color:var(--muted)}.mobile-book{display:none}
@media(max-width:850px){.nav{height:70px;padding:16px 5vw}.nav nav{display:none}.brand span{font-size:17px}.nav .pill{padding:12px 14px}.hero{display:flex;flex-direction:column;padding:50px 5vw 35px;min-height:auto;gap:45px}.hero-copy{padding:0}.hero h1{font-size:67px}.hero-collage{width:100%;height:auto;padding-right:0}.hero-main{inset:auto}.hero-small-one{width:40%;height:34%}.hero-small-two{width:35%;height:32%;bottom:0}.scribble{right:20%;top:48%;font-size:25px}.hero-tags{margin-top:40px;flex-wrap:wrap}.statement{padding:70px 8vw;display:block}.statement>p{margin-bottom:35px}.statement>div{gap:18px}.statement h2{font-size:45px}.work,.services,.about,.reviews,.final-cta{padding:80px 6vw}.section-head{display:block;margin-bottom:40px}.section-head .text-link{display:inline-block;margin-top:25px}.masonry{grid-template-columns:1fr 1fr;gap:10px}.masonry figure,.masonry figure.tall{height:300px}.masonry figure:nth-child(3),.masonry figure:nth-child(6),.masonry figure:nth-child(9){height:390px}.masonry figure.offset{margin-top:0}.service-list a{grid-template-columns:28px 1fr 75px 18px;gap:10px;padding:20px 0}.service-list h3{font-size:20px}.service-list p{font-size:11px}.service-list strong{font-size:10px}.menu-note{display:block}.menu-note .pill{margin-top:22px}.about{grid-template-columns:1fr;gap:45px}.about-image{height:520px}.review-grid{grid-template-columns:1fr;gap:35px}.final-cta h2{font-size:67px}footer{grid-template-columns:1fr;gap:25px;padding-bottom:90px}footer>small:last-child{text-align:left}.mobile-book{display:block;position:fixed;bottom:0;left:0;right:0;z-index:15;background:var(--ink)}.mobile-book a{display:flex;justify-content:space-between;color:var(--paper);text-decoration:none;padding:16px 22px;font-size:10px;letter-spacing:.2em}}

/* V5 editorial hero */
.hero-main img{object-position:center 55%;}
.hero-small-one img{object-position:center 45%;}
.hero-small-two img{object-position:center 50%;}

/* V10 — abstract colour-brush hero: no photo */
.hero-detail{grid-template-columns:1.05fr .95fr;position:relative;min-height:calc(100vh - 86px);padding-right:6vw;gap:1vw}
.hero-detail .hero-copy{padding-left:6vw;max-width:760px}
.hero-detail .hero-copy h1{font-size:clamp(72px,9vw,150px)}
.hero-detail-art{height:650px;position:relative;display:flex;align-items:center;justify-content:center}
.hero-brush-wrap{width:min(48vw,650px);height:min(48vw,650px);position:relative;display:flex;align-items:center;justify-content:center;transform:rotate(0deg);margin-right:-4vw}
.hero-brush{width:100%;height:100%;object-fit:contain;display:block;filter:saturate(.9) contrast(.98);mix-blend-mode:multiply}
.brush-word{display:none}
.detail-note{position:absolute;right:0;bottom:5%;writing-mode:vertical-rl;transform:rotate(180deg);font-size:8px;letter-spacing:.24em;color:var(--muted);z-index:3}
@media(max-width:850px){
 .hero-detail{display:flex;min-height:auto;padding:50px 5vw 55px;gap:20px}
 .hero-detail .hero-copy{padding:0}
 .hero-detail .hero-copy h1{font-size:68px}
 .hero-detail-art{height:300px;width:100%;margin-top:0}
 .hero-brush-wrap{width:100%;height:320px;margin-right:0}
 .brush-word{font-size:42px;left:18%;top:46%}
 .detail-note{right:2%;bottom:4%}
}


/* EXACT HERO COMPOSITION — matches the approved reference */
.hero-detail{position:relative;display:flex;align-items:center;min-height:calc(100vh - 86px);padding:0 4vw;overflow:hidden;background:var(--paper)}
.hero-paint-bg{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(238,233,224,1) 0%,rgba(238,233,224,.98) 28%,rgba(238,233,224,.58) 48%,rgba(238,233,224,0) 72%),url("hero-paint.png");background-size:100% 100%,auto 125%;background-position:center,right center;background-repeat:no-repeat;z-index:0}
.hero-detail .hero-copy{position:relative;z-index:2;width:50%;padding-left:2vw;max-width:690px}
.hero-detail .hero-copy .eyebrow{margin-bottom:20px}
.hero-detail .hero-copy h1{font-size:clamp(70px,8.3vw,128px);line-height:.87;letter-spacing:-.055em}
.hero-detail .hero-copy .lead{max-width:410px;font-size:13px;line-height:1.5;margin:26px 0 25px}
.hero-detail .hero-actions{gap:22px}
.hero-detail .hero-tags{margin-top:28px}
.hero-detail .hero-tags span{font-size:8px}
.hero-detail .hero-tags i{width:18px}
@media(min-width:851px){.hero-detail{padding-left:5vw}.hero-detail .hero-copy{transform:translateY(-2vh)} }
@media(max-width:850px){
 .hero-detail{min-height:calc(100vh - 70px);display:flex;align-items:flex-start;padding:70px 5vw 35px}
 .hero-paint-bg{background-image:linear-gradient(90deg,rgba(238,233,224,.98) 0%,rgba(238,233,224,.88) 45%,rgba(238,233,224,.18) 78%,rgba(238,233,224,0) 100%),url("hero-paint.png");background-size:100% 100%,auto 92%;background-position:center,right 45%;}
 .hero-detail .hero-copy{width:74%;padding:0;transform:none}
 .hero-detail .hero-copy .eyebrow{font-size:8px;letter-spacing:.27em;margin-bottom:18px}
 .hero-detail .hero-copy h1{font-size:clamp(62px,16vw,88px);line-height:.88}
 .hero-detail .hero-copy .lead{font-size:12px;max-width:300px;margin:22px 0}
 .hero-detail .hero-actions{display:block}
 .hero-detail .hero-actions .pill{padding:13px 17px;font-size:9px}
 .hero-detail .text-link{display:inline-block;margin-top:22px;font-size:9px}
 .hero-detail .hero-tags{margin-top:34px;gap:9px;max-width:330px}
 .hero-detail .hero-tags span{font-size:7px}
 .hero-detail .hero-tags i{width:13px}
}

/* FINAL MOBILE STABILITY OVERRIDES — preserve approved hero composition */
@media(max-width:850px){
  .nav{height:70px;padding:16px 5vw;}
  .nav nav{display:flex;gap:0;position:absolute;left:0;right:0;top:70px;height:62px;align-items:center;justify-content:space-around;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(238,233,224,.96);backdrop-filter:blur(16px);z-index:11;}
  .nav nav a{font-size:10px;letter-spacing:.16em;}
  .hero-detail{min-height:calc(100vh - 132px);padding:92px 5vw 35px;display:flex;align-items:flex-start;gap:0;}
  .hero-paint-bg{background-size:100% 100%,auto 92%;background-position:center,right 45%;}
  .hero-detail .hero-copy{width:74%;padding:0;}
  .hero-detail .hero-copy h1{font-size:clamp(62px,16vw,88px);line-height:.88;}
  .hero-detail .hero-copy .lead{font-size:12px;max-width:300px;margin:22px 0;}
  .hero-detail .hero-actions{display:block;}
  .hero-detail .hero-actions .text-link{display:inline-block;margin-top:22px;font-size:9px;}
  .hero-detail .hero-tags{margin-top:34px;gap:9px;max-width:330px;}
  .mobile-book{display:block;}
}

/* Keep UI arrows as monochrome text on iOS/Safari — never emoji */
.pill b,.service-list b,.mobile-book span{font-family:Arial,Helvetica,sans-serif;font-variant-emoji:text;font-weight:400;color:inherit;}

.location-note{margin-top:28px;padding-top:20px;border-top:1px solid rgba(0,0,0,.14);font-size:14px;line-height:1.6}.location-note strong{font-size:11px;letter-spacing:.14em;text-transform:uppercase}.location-note span{opacity:.7}
