
:root{--bg:#100e0c;--bg2:#1c1713;--ink:#f0e7d8;--muted:#b5a899;--gold:#caa66b;--line:#6e584033;--paper:#ebe0d0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid #e6c589;outline-offset:4px}.serif,h1,h2,h3{font-family:Georgia,Times New Roman,serif;font-weight:400}p{line-height:1.7}.eyebrow{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);font-weight:600}.shell{max-width:1400px;margin:auto;padding:0 5vw}.header{position:relative;z-index:40;border-bottom:1px solid #ffffff28;background:#11100ed9;backdrop-filter:blur(16px)}.headrow{min-height:85px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-family:Georgia,serif;font-size:22px;line-height:.96;letter-spacing:.075em;white-space:nowrap}.brand small{font:9px Arial,sans-serif;letter-spacing:.32em;display:block;text-align:center;margin-top:7px;color:var(--gold)}.nav{display:flex;gap:20px;align-items:center}.nav a{text-transform:uppercase;letter-spacing:.12em;font-size:10px;color:#e9dcca;transition:color .25s}.nav a:hover,.nav a.current{color:var(--gold)}.menu-toggle{display:none;background:transparent;border:1px solid #aa906a;color:var(--ink);padding:12px}.btn{display:inline-flex;gap:22px;align-items:center;justify-content:space-between;padding:16px 22px;border:1px solid #c4a16c;background:var(--gold);color:#17100a;font-size:12px;text-transform:uppercase;letter-spacing:.13em;font-weight:bold;transition:background .25s,transform .25s}.btn:hover{background:#e1bd81;transform:translateY(-3px)}.btn.outline{background:transparent;color:var(--ink)}.btn.outline:hover{background:#caa66b24}.btn span{font-size:18px}.hero{height:min(88svh,900px);min-height:640px;position:relative;display:flex;align-items:center;overflow:hidden;background:#130e0b}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#100e0cf7 0%,#100e0cd4 28%,#100e0c3a 74%),linear-gradient(0deg,#100e0c 0,transparent 33%),url('hero-serpent.webp') center 48%/cover no-repeat;transform:scale(1.035);animation:ken 12s ease-out both}.herocontent{z-index:2;position:relative;max-width:740px}.hero h1{font-size:clamp(56px,7vw,118px);line-height:.99;letter-spacing:-.045em;margin:23px 0 26px}.hero h1 em{color:var(--gold);font-style:normal}.hero p{max-width:440px;color:#e0d5c8}.heroactions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.section{padding:112px 0}.section.small{padding:72px 0}.intro{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:35px}.intro h2,.pagehero h1{font-size:clamp(43px,6vw,82px);line-height:1.03;letter-spacing:-.038em;margin:10px 0}.intro p{max-width:340px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.service-card{min-height:430px;border:1px solid #c4a16c55;position:relative;overflow:hidden;display:flex;align-items:flex-end;background:#211a13}.service-card img{position:absolute;width:100%;height:100%;object-fit:cover;inset:0;transition:transform .8s ease}.service-card:hover img{transform:scale(1.075)}.service-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0b0909f4 0%,#0000 72%)}.service-card .overlay{position:relative;z-index:1;padding:30px}.service-card h3{font-size:35px;margin:0 0 10px}.service-card p{font-size:13px;color:#e3d8cb}.service-card .action{display:block;margin-top:18px;color:#f6d394;text-transform:uppercase;font-size:11px;letter-spacing:.12em}.darkalt{background:#1a1512}.split{display:grid;grid-template-columns:1.05fr .95fr;gap:5vw;align-items:center}.featureimg{width:100%;max-height:620px;object-fit:cover}.split h2{font-size:clamp(43px,5vw,80px);line-height:1.05}.split p{color:var(--muted);max-width:520px}.pagehero{padding:100px 0 83px;background:radial-gradient(ellipse at 90% 30%,#5b3c1d55,transparent 48%);border-bottom:1px solid #c5ab7933}.pagehero p{color:var(--muted);max-width:690px}.pagehero .eyebrow{display:block}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.gallery a{display:block;overflow:hidden;border:1px solid #b9996550;position:relative}.gallery img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .6s}.gallery a:hover img{transform:scale(1.07)}.gallery span{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#090807d9);padding:55px 22px 22px;font-size:21px;font-family:Georgia}.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.postcard{border-top:1px solid #ac8b5f75;padding-top:20px}.postcard img{width:100%;aspect-ratio:1.45;object-fit:cover}.postcard h3{font-size:29px;line-height:1.15;margin:14px 0}.postcard p{font-size:14px;color:var(--muted)}.postcard .read{color:var(--gold);font-size:12px;text-transform:uppercase;letter-spacing:.15em}.sitefoot{padding:65px 0 25px;border-top:1px solid #ae8c5c55}.footgrid{display:flex;justify-content:space-between;gap:35px}.sitefoot p,.fineprint{font-size:12px;color:var(--muted)}.footerlinks{display:flex;flex-wrap:wrap;gap:16px}.footerlinks a{font-size:12px}.kicker{color:var(--gold);text-transform:uppercase;font-size:12px;letter-spacing:.23em}.chapter{background:linear-gradient(110deg,#382515,#14100d);border-top:1px solid #c0a27655;border-bottom:1px solid #c0a27655}.chapterin{padding:60px 0;display:flex;justify-content:space-between;gap:36px;align-items:center}.chapter h2{font-size:clamp(35px,4.4vw,67px);margin:0}.chapter p{color:var(--muted)}.wa-fab{position:fixed;z-index:60;right:26px;bottom:24px;border:1px solid #d2b27e;border-radius:50%;width:65px;height:65px;background:#17120e;color:#dec28a;display:grid;place-items:center;box-shadow:0 0 0 9px #cba66c16;animation:breathe 4s ease-in-out infinite;font-size:26px}.wa-panel{position:fixed;z-index:61;right:25px;bottom:103px;width:min(330px,calc(100vw - 40px));padding:24px;background:#201912;border:1px solid #bd965c;box-shadow:0 15px 50px #000b;display:none}.wa-panel.open{display:block}.wa-panel strong{font-family:Georgia;font-size:26px;font-weight:400}.wa-panel p{font-size:13px;color:var(--muted)}.wa-panel a{display:block;padding:13px 0;border-bottom:1px solid #b99c6840;font-size:13px}.wa-panel a:hover{color:var(--gold)}.wa-panel button{position:absolute;right:12px;top:9px;background:transparent;border:0;color:#fff;font-size:25px}.copy{max-width:820px}.copy h2{font-size:38px}.copy p,.copy li{font-size:17px;color:#cabfb1;line-height:1.85}.note{border-left:2px solid #cca368;padding:13px 19px;color:var(--muted);background:#251e1740}.breadcrumbs{font-size:12px;color:var(--muted);padding-top:30px}.breadcrumbs a{color:var(--gold)}.reveal{opacity:0;transform:translateY(27px);transition:opacity .75s,transform .75s}.reveal.seen{opacity:1;transform:none}@keyframes ken{from{transform:scale(1.12)}to{transform:scale(1)}}@keyframes breathe{50%{box-shadow:0 0 0 16px #cba66c08;transform:translateY(-3px)}}
/* full depth carousel */
.coverflow{position:relative;height:540px;perspective:1200px;overflow:hidden;touch-action:pan-y}.cf-track{position:absolute;inset:0}.cf-card{position:absolute;left:50%;top:46%;width:clamp(170px,25vw,325px);height:430px;max-height:78%;margin:0;transition:transform .72s cubic-bezier(.18,.8,.2,1),opacity .72s,filter .72s;transform-style:preserve-3d;will-change:transform,opacity;overflow:hidden;border:1px solid #d6bc9166;background:#2d2118;box-shadow:0 28px 50px #0009;cursor:pointer}.cf-card img{width:100%;height:100%;object-fit:cover;display:block}.cf-card figcaption{position:absolute;bottom:0;left:0;right:0;padding:55px 19px 20px;background:linear-gradient(transparent,#000e);font-family:Georgia;font-size:24px}.cf-card .hint{position:absolute;top:16px;left:16px;padding:8px 11px;background:#17120c91;font-size:10px;letter-spacing:.15em;text-transform:uppercase}.cf-controls{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:8px}.cf-controls button{height:52px;width:52px;background:transparent;border:1px solid #8d775d;color:#f4eee4;font-size:25px}.cf-controls button:hover{background:#6a4a2b}.cf-status{color:var(--gold);font-size:12px;letter-spacing:.14em}.cf-caption{text-align:center;font-size:13px;color:var(--muted);margin:15px 0}.cf-link{display:flex;justify-content:center;margin-top:24px}
@media(max-width:1100px){.nav{gap:11px}.nav a{font-size:9px}.brand{font-size:18px}}@media(max-width:880px){.menu-toggle{display:block}.nav{display:none;position:absolute;top:85px;left:0;right:0;padding:22px 6vw;background:#14110f;flex-direction:column;align-items:stretch;border-bottom:1px solid #876d4b}.nav.open{display:flex}.nav a{font-size:12px;padding:8px}.hero{min-height:700px}.hero:before{background-position:62% center}.cards,.journal-grid{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.shell{padding:0 20px}.hero{min-height:620px;height:84svh}.hero:before{background:linear-gradient(0deg,#100e0c 4%,#100e0c9e 45%,#100e0c48 90%),url('hero-serpent.webp') 56% center/cover no-repeat}.herocontent{align-self:flex-end;padding-bottom:72px}.hero h1{font-size:55px}.hero p{font-size:14px}.section{padding:75px 0}.intro{display:block}.intro h2{font-size:48px}.cards,.journal-grid,.gallery{grid-template-columns:1fr}.service-card{min-height:360px}.pagehero{padding:65px 0}.pagehero h1{font-size:52px}.chapterin,.footgrid{display:block}.chapterin .btn{margin-top:20px}.coverflow{height:445px}.cf-card{width:63vw;height:350px}.wa-fab{bottom:16px;right:16px;width:58px;height:58px}.wa-panel{right:15px;bottom:85px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}

/* Editorial photography-led hero V5.1 */
.hero{isolation:isolate;min-height:740px;height:min(93svh,940px);background:#110c09}
.hero:before{z-index:-2;background:linear-gradient(90deg,rgba(9,7,6,.92) 0%,rgba(9,7,6,.72) 30%,rgba(9,7,6,.12) 69%),linear-gradient(0deg,rgba(10,7,6,.75),transparent 35%),url('hero-serpent.webp') 68% 50%/cover no-repeat;animation:heroDrift 20s ease-in-out infinite alternate}
.hero:after{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 66% 43%,transparent 5%,rgba(9,7,6,.14) 80%);pointer-events:none}
.hero .herocontent{max-width:700px;padding-top:15px}
.hero h1{font-size:clamp(65px,8vw,136px);letter-spacing:-.055em;line-height:.92;text-shadow:0 8px 40px #0007}
.hero p{font-size:clamp(14px,1.35vw,18px);max-width:445px;text-shadow:0 4px 15px #000}
.hero .eyebrow{color:#e2bb7b}
.hero-editorial{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.editorial-frame{position:absolute;display:block;overflow:hidden;border:1px solid #cba7747a;box-shadow:0 19px 65px #0009;background:#18100b;pointer-events:auto;transition:transform .65s cubic-bezier(.2,.7,.2,1),border-color .3s}
.editorial-frame img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.editorial-frame:hover img{transform:scale(1.09)}
.editorial-frame:hover{border-color:#efca8e}
.editorial-frame span{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#090705ed);padding:44px 13px 12px;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#f3e6d1}
.editorial-one{right:6%;bottom:9%;width:clamp(125px,14vw,204px);aspect-ratio:3/3.35;transform:rotate(4deg);animation:floatEditorial 9s ease-in-out infinite alternate}
.editorial-two{right:24%;bottom:7%;width:clamp(115px,11vw,170px);aspect-ratio:3/3;transform:rotate(-6deg);animation:floatEditorial2 11s ease-in-out infinite alternate}
.hero-side-note{position:absolute;right:4.4%;top:18%;font-size:10px;color:#ead3ac;letter-spacing:.23em;writing-mode:vertical-rl;text-transform:uppercase;text-shadow:0 2px 10px #000}
.hero-scroll{position:absolute;bottom:28px;left:5vw;color:#d8b47c;text-transform:uppercase;font-size:10px;letter-spacing:.32em}
@keyframes heroDrift{from{transform:scale(1.04)}to{transform:scale(1.115) translateX(-1.3%)}}
@keyframes floatEditorial{to{transform:translateY(-17px) rotate(2deg)}}
@keyframes floatEditorial2{to{transform:translateY(13px) rotate(-4deg)}}
@media(max-width:1000px){.hero h1{font-size:clamp(65px,9vw,108px)}.editorial-one{right:3%;bottom:7%}.editorial-two{right:19%;bottom:6%}.hero:before{background-position:63% center}}
@media(max-width:700px){.hero{height:auto;min-height:760px;align-items:flex-end}.hero:before{background:linear-gradient(0deg,#100e0cf9 0%,#100e0cc7 34%,#100e0c17 74%),url('hero-serpent.webp') 59% top/auto 74% no-repeat}.hero .herocontent{padding:310px 0 150px;max-width:100%}.hero h1{font-size:clamp(55px,11vw,85px)}.hero p{max-width:95%}.hero-editorial .editorial-frame{width:118px;bottom:25px}.editorial-one{right:16px}.editorial-two{right:146px}.editorial-frame span{font-size:8px;padding:22px 8px 8px}.hero-side-note{display:none}.hero-scroll{display:none}.heroactions{gap:9px}.heroactions .btn{padding:13px 12px;letter-spacing:.06em;font-size:10px}}
@media(max-width:420px){.hero .herocontent{padding-top:280px;padding-bottom:149px}.hero h1{font-size:53px}.editorial-two{right:132px}.hero:before{background-size:auto 66%;background-position:59% top}}
@media(prefers-reduced-motion:reduce){.hero:before,.editorial-one,.editorial-two{animation:none!important}}

/* V5.2 Typography refresh: stronger editorial high-contrast display.
   Installed local font stacks keep the extracted ZIP usable offline. */
:root{--type-display:Didot,"Bodoni MT","Times New Roman",serif;--type-body:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif}
body{font-family:var(--type-body);font-weight:400;letter-spacing:.003em}
.serif,h1,h2,h3,.brand,.gallery span,.cf-card figcaption,.wa-panel strong{font-family:var(--type-display);font-weight:700}
.brand{font-size:clamp(19px,1.75vw,25px);letter-spacing:.035em;line-height:.94;font-weight:700}
.brand small{font-family:var(--type-body);font-weight:700;letter-spacing:.35em}
.nav a{font-family:var(--type-body);font-size:11px;letter-spacing:.095em;font-weight:750}
.eyebrow,.kicker{font-family:var(--type-body);font-size:11px;font-weight:750;letter-spacing:.29em}
.hero h1{font-family:var(--type-display);font-weight:700;font-size:clamp(66px,8.2vw,138px);line-height:.88;letter-spacing:-.062em;text-wrap:balance}
.hero h1 em{font-style:normal;color:#d4ae70}
.intro h2,.pagehero h1,.split h2{font-family:var(--type-display);font-weight:700;letter-spacing:-.052em;line-height:.95}
.intro h2,.pagehero h1{font-size:clamp(52px,6.7vw,95px)}
.service-card h3{font-weight:700;font-size:clamp(34px,3.15vw,48px);line-height:.96;letter-spacing:-.042em}
.postcard h3{font-weight:700;font-size:clamp(28px,2.4vw,38px);line-height:1.02;letter-spacing:-.04em}
.chapter h2{font-weight:700;letter-spacing:-.045em;line-height:.98}
.cf-card figcaption{font-size:clamp(23px,2.6vw,34px);font-weight:700;letter-spacing:-.035em;line-height:1.04}
.gallery span{font-weight:700;letter-spacing:-.028em;font-size:26px}
.btn,.service-card .action,.read{font-family:var(--type-body);font-weight:750;letter-spacing:.11em}
.hero p{font-family:var(--type-body);font-size:clamp(15px,1.4vw,18px);line-height:1.65;max-width:460px}
.pagehero p,.intro p{font-size:clamp(15px,1.2vw,18px)}
@media(max-width:700px){.hero h1{font-size:clamp(54px,11.5vw,84px);letter-spacing:-.053em;line-height:.91}.intro h2,.pagehero h1{font-size:clamp(42px,10vw,69px)}.service-card h3{font-size:34px}.nav a{font-size:12px}}
@media(max-width:420px){.hero h1{font-size:clamp(52px,12.5vw,66px)}}

/* V5.3 | Obsidian + Champagne, modern editorial typography.
   No remote fonts: offline fallback preserved. */
:root{--bg:#101010;--bg2:#1c1b19;--ink:#f2f0ea;--muted:#bcb8b0;--gold:#bda078;--line:#bda07833;--paper:#f1eee7;--type-display:"Arial Black","Helvetica Neue",Arial,sans-serif;--type-body:"Helvetica Neue",Arial,sans-serif}
body{background:var(--bg);color:var(--ink)}
.header{background:#101010e8;border-bottom-color:#f2f0ea21}
.hero{background:#101010}
.hero:before{background:linear-gradient(90deg,#101010fa 0%,#101010dc 30%,#10101030 72%),linear-gradient(0deg,#101010 0,transparent 34%),url('hero-serpent.webp') center 48%/cover no-repeat}
.darkalt{background:#191817}.chapter{background:linear-gradient(110deg,#22201d,#101010)}
.pagehero{background:radial-gradient(ellipse at 90% 30%,#54453235,transparent 48%)}
.service-card{background:#1c1b19;border-color:#bda07855}
.wa-fab{background:#151515;color:#d4bc98;border-color:#bda078;box-shadow:0 0 0 9px #bda07813}
.wa-panel{background:#1d1c1a;border-color:#bda078}
.btn{background:var(--gold);border-color:var(--gold);color:#121212}
.btn:hover{background:#d5be9f}.btn.outline:hover{background:#bda0781c}
.brand{font-family:var(--type-display);font-size:clamp(18px,1.65vw,23px);font-weight:900;letter-spacing:-.055em;text-transform:uppercase}
.serif,h1,h2,h3,.gallery span,.cf-card figcaption,.wa-panel strong{font-family:var(--type-display);font-weight:900}
.hero h1{font-size:clamp(59px,7.2vw,120px);line-height:.92;letter-spacing:-.075em;text-transform:uppercase;max-width:760px}
.hero h1 em{color:var(--gold)}
.intro h2,.pagehero h1,.split h2{letter-spacing:-.073em;line-height:.98;text-transform:uppercase;font-weight:900}
.intro h2,.pagehero h1{font-size:clamp(44px,6.1vw,88px)}
.service-card h3{font-size:clamp(32px,3vw,46px);line-height:.99;letter-spacing:-.065em;text-transform:uppercase}
.chapter h2{letter-spacing:-.065em;text-transform:uppercase}
.postcard h3{font-weight:900;letter-spacing:-.055em}
.cf-card figcaption{font-weight:900;letter-spacing:-.055em;text-transform:uppercase;font-size:clamp(21px,2.2vw,29px)}
.gallery span{font-weight:900;text-transform:uppercase;font-size:22px;letter-spacing:-.05em}
.nav a{color:#e7e5e0;font-weight:800;font-size:11px;letter-spacing:.08em}
.eyebrow,.kicker{letter-spacing:.22em;font-weight:800;color:var(--gold)}
.hero p,.pagehero p,.intro p{color:#dedbd4}
@media(max-width:700px){.hero:before{background:linear-gradient(0deg,#101010fa 0%,#101010cc 36%,#10101017 74%),url('hero-serpent.webp') 59% top/auto 74% no-repeat}.hero h1{font-size:clamp(48px,10.2vw,77px);line-height:.96;letter-spacing:-.07em}.intro h2,.pagehero h1{font-size:clamp(40px,9.4vw,67px)}}
@media(max-width:420px){.hero:before{background-size:auto 66%;background-position:59% top}.hero h1{font-size:clamp(45px,11.5vw,62px)}}

/* V5.5: vector icons rather than emoji-prone Unicode arrow characters */
.arrow-icon{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
a .arrow-icon,button .arrow-icon{pointer-events:none}
.cf-prev .arrow-icon,.cf-next .arrow-icon{width:1.35em;height:1.35em;vertical-align:middle}

/* Fixed contact icon: vector handset, never font-based symbol. */
.wa-fab .wa-phone-icon{display:block;width:28px;height:28px;flex:none;stroke:#ecd2a3;transition:transform .22s ease}
.wa-fab:hover .wa-phone-icon{transform:rotate(-10deg) scale(1.08)}
.wa-fab:focus-visible{outline:3px solid #f5ddaa;outline-offset:5px}
@media(prefers-reduced-motion:reduce){.wa-fab{animation:none!important}.wa-fab .wa-phone-icon{transition:none!important}}




/* V6: client-supplied jewellery, original Obsidian & Champagne palette, photography first */
:root{--bg:#101010;--bg2:#1c1b19;--ink:#f2f0ea;--muted:#bcb8b0;--gold:#bda078;--line:#bda07833;--paper:#f1eee7;--type-display:"Arial Black","Helvetica Neue",Arial,sans-serif;--type-body:"Helvetica Neue",Arial,sans-serif}
html,body{background:#101010;color:var(--ink)}
.header{background:#111111ef;border-bottom:1px solid #bda07831;box-shadow:none}
.brand,.brand small{color:#f2f0ea}.brand small,.nav a:hover,.nav a.current{color:var(--gold)}
.nav a{color:#e4e0d8}.menu-toggle{color:#f2f0ea;border-color:#bda078}
.btn{background:var(--gold);color:#101010;border-color:var(--gold)}.btn:hover{background:#e2c39a;color:#101010}
.btn.outline{background:transparent;border-color:#bda0789a;color:#f2f0ea}.btn.outline:hover{background:#bda07828}
.eyebrow,.kicker{color:var(--gold)}
.section{background:#101010}.section.darkalt,.darkalt{background:#191817}
.pagehero{background:radial-gradient(ellipse at 85% 10%,#4e35243d,transparent 55%),#141313;border-bottom:1px solid #bda07835}
.pagehero p,.intro p,.split p,.postcard p,.sitefoot p,.fineprint,.copy p,.copy li,.wa-panel p{color:var(--muted)}
.pagehero .eyebrow{color:var(--gold)}
.sitefoot{background:#121211;border-top:1px solid #bda07831}.footerlinks a{color:#f2f0ea}
.chapter{background:linear-gradient(110deg,#27221d,#101010);border-color:#bda07855}.chapter h2{color:#f2f0ea}.chapter p{color:var(--muted)}
.chapter .btn{background:#bda078;color:#171412}
.wa-fab{background:#171615;color:#ebd2ae;border-color:#bda078;box-shadow:0 0 0 9px #bda07818}
.wa-fab .wa-phone-icon{stroke:#f2d8a9}
.wa-panel{color:#f2f0ea;background:#1d1c1a;border-color:#bda078;box-shadow:0 16px 48px #000b}
.wa-panel strong,.wa-panel a{color:#f2f0ea}.wa-panel a{border-bottom:1px solid #bda07840}.wa-panel a:hover{color:var(--gold)}.wa-panel button{color:#f2f0ea}
.breadcrumbs,.breadcrumbs a{color:var(--gold)}.note{background:#24201a;color:#bcb8b0;border-color:#bda078}
.service-card{background:#1c1b19;border-color:#bda07855}.service-card h3,.service-card p{color:#fff}.service-card .action{color:#f1d3a2}
.coverflow{background:transparent}.cf-card{border-color:#bda0786f;background:#1d1b19;box-shadow:0 25px 50px #0009}.cf-card figcaption{color:#fff}.cf-card .hint{color:#fff;background:#161411ab}
.cf-controls button{color:#f2f0ea;border-color:#bda078}.cf-controls button:hover{background:#bda07835}.cf-caption,.cf-status{color:var(--gold)}
.gallery a{border-color:#bda07861}.gallery span{color:#f2f0ea}
.postcard{border-color:#bda0786c}.postcard .read{color:var(--gold)}
@media(max-width:880px){.nav{background:#171615;border-color:#bda07855}.nav a{color:#f2f0ea}}

/* large, photographic hero: portrait ring remains visible instead of being cropped across the full viewport */
.hero{height:min(88svh,860px);min-height:670px;background:#101010;isolation:isolate;overflow:hidden}
.hero:before{content:"";position:absolute;inset:0 0 0 34%;background: url('hero-serpent.webp') right 47%/auto 108% no-repeat;opacity:1;transform:scale(1.025);animation:ken 14s ease-out both;z-index:-2}
.hero:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#101010 4%,#101010eb 24%,#101010b3 43%,#10101029 70%,transparent 93%),linear-gradient(0deg,#1010105c,transparent 27%)}
.hero .herocontent{max-width:min(720px,61vw);z-index:3}
.hero h1,.hero h1 em{color:#f2f0ea!important;text-shadow:none!important}
.hero h1 em{color:#bda078!important}
.hero p{color:#e3dcd2;max-width:440px}
.hero .eyebrow{color:#d8b785}
.hero-side-note,.hero-scroll{color:#dfc5a3}
.hero-editorial{pointer-events:none}.hero-editorial .editorial-frame{pointer-events:auto;border:1px solid #bda07866}
.hero .btn.outline{background:#10101063;color:#f2f0ea}
.mobile-hero-image{display:none}

/* Products supplied by client: maintain natural portrait crops and crispness. */
.cf-card img,.gallery img,.service-card img,.featureimg,.postcard img{image-rendering:auto}
.cf-card img{object-position:center 48%}
.cf-card{height:455px}
.gallery{gap:18px}.gallery img{aspect-ratio:3/4;object-position:center 44%}
.gallery .gallery-label{position:absolute;bottom:0;left:0;right:0;padding:55px 18px 20px;background:linear-gradient(0deg,#0b0909eb,transparent);font-family:var(--type-body);font-weight:850;font-size:15px;text-transform:uppercase;letter-spacing:.035em}
/* Before / after images are distinct preserved client-supplied photographs. */
.results-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:26px}
.results-head h2{font-family:var(--type-display);font-size:clamp(38px,5.4vw,74px);letter-spacing:-.065em;line-height:.95;text-transform:uppercase;margin:12px 0}
.results-head p{color:var(--muted);max-width:440px}
.results-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.result-set{border:1px solid #bda0784d;padding:18px;background:#201c18}
.result-set h3{font-family:var(--type-display);font-size:clamp(20px,2vw,29px);text-transform:uppercase;letter-spacing:-.05em;margin:3px 0 14px}
.result-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.result-photos figure{margin:0;min-width:0}
.result-photos img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center 42%;border:1px solid #bda07827}
.result-photos figcaption{padding:9px 0 0;font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--gold)}
.result-set p{font-size:13px;color:var(--muted);line-height:1.6;margin:14px 0 0}
.result-set a{display:inline-flex;margin-top:18px;color:var(--gold);text-decoration:underline;text-underline-offset:4px;font-weight:650;font-size:12px}
.results-more{margin-top:24px;display:flex;justify-content:center}
/* On small screens the ring and the headline are separated, both on black. */
@media(max-width:900px){
 .header{backdrop-filter:none}.headrow{min-height:70px;gap:12px}
 .brand{font-size:clamp(16px,4.3vw,19px);line-height:1.04;letter-spacing:-.035em}.brand small{font-size:9px;margin-top:5px}
 .menu-toggle{display:block;font-family:var(--type-body);font-weight:750;letter-spacing:.06em;text-transform:uppercase;font-size:12px;padding:10px 14px;min-height:40px}
 .nav{top:70px}
 .hero{display:block;min-height:0;height:auto;background:#101010;overflow:hidden}
 .hero:before,.hero:after{display:none!important}
 .hero .mobile-hero-image{display:block;position:relative;width:100%;height:clamp(290px,86vw,460px);background:#0a0908;overflow:hidden;border-bottom:1px solid #bda0784e}
 .mobile-hero-image img{display:block;width:100%;height:100%;object-fit:contain;object-position:center 48%;filter:none;transform:none;animation:none}
 .hero-editorial,.hero-scroll,.hero-side-note{display:none!important}
 .hero .shell{width:100%!important;position:relative;z-index:2;padding:0 22px}
 .hero .herocontent{max-width:100%;width:100%;margin:0;padding:28px 0 50px;align-self:auto}
 .hero .eyebrow{display:block;font-size:10px;letter-spacing:.15em;margin:0 0 15px;color:var(--gold)!important;line-height:1.4;font-weight:800}
 .hero h1{font-family:var(--type-display);font-size:clamp(36px,9.25vw,58px)!important;font-weight:900;line-height:.98!important;letter-spacing:-.071em!important;max-width:100%;margin:0 0 18px!important;text-shadow:none!important}
 .hero h1 em{color:var(--gold)!important}
 .hero p{color:#d9d2c7!important;font-size:clamp(14px,3.55vw,16px)!important;line-height:1.57;max-width:37ch!important;margin:0}
 .heroactions{display:flex;flex-direction:column;gap:10px;margin-top:24px}
 .heroactions .btn{width:100%;min-height:48px;align-items:center;justify-content:space-between;gap:9px;font-size:11px;padding:13px 15px;letter-spacing:.05em}
 .heroactions .btn.outline{color:#f2f0ea;border-color:#bda078;background:transparent}
}
@media(max-width:720px){.results-head{display:block}.results-grid{grid-template-columns:1fr}.result-set{padding:13px}}
@media(max-width:360px){.hero .mobile-hero-image{height:280px}.hero .shell{padding:0 17px}.hero h1{font-size:35px!important;letter-spacing:-.073em!important}}
@media(max-width:600px){.cf-card{height:350px}.gallery{grid-template-columns:1fr}}
@keyframes mobileRingDrift{from{transform:scale(1)}to{transform:scale(1.025)}}
@media(max-width:700px) and (prefers-reduced-motion:no-preference){.hero .mobile-hero-image img{animation:mobileRingDrift 13s ease-in-out infinite alternate}}
@media(prefers-reduced-motion:reduce){.hero:before{animation:none!important}.mobile-hero-image img{animation:none!important}}

/* Subtle background continuation on phones: sharp foreground product, naturally extended dark environment. */
@media(max-width:900px){
 .hero .mobile-hero-image{background-color:#100d0b;background-image:linear-gradient(90deg,#100e0ce0 0%,#100e0c6e 24%,#100e0c6e 76%,#100e0ce0 100%),url('hero-serpent.webp');background-position:center 45%;background-size:cover;}
 .hero .mobile-hero-image img{position:relative;z-index:1;}
}

/* Hero photo framing for mobile viewport: retain sharp ring and avoid letterboxing. */
@media(max-width:700px){.hero .mobile-hero-image img{object-fit:cover;object-position:center 47%}}

/* V6.2: family story, franchise, dedicated transformations and contact accessibility */
.nav{gap:clamp(8px,1.3vw,18px)}.nav a{font-size:clamp(9px,.73vw,11px);letter-spacing:.07em}.brand{font-family:var(--type-display);font-weight:900;letter-spacing:-.045em;font-size:21px}.brand small{font-family:var(--type-body);font-weight:800;letter-spacing:.19em}
.text-link{display:inline-flex;align-items:center;gap:10px;color:var(--gold);font-size:12px;font-weight:800;letter-spacing:.075em;text-transform:uppercase;margin-top:12px}.text-link:hover{text-decoration:underline;text-underline-offset:4px}.text-link svg{width:15px;height:15px}
.legacy-teaser{background:#211d18!important;border-top:1px solid #bda0783d;border-bottom:1px solid #bda0783d}.legacy-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:7vw;align-items:center}.legacy-grid h2{font-family:var(--type-display);font-size:clamp(36px,5.4vw,75px);font-weight:900;line-height:1;letter-spacing:-.065em;margin:17px 0 22px}.legacy-grid h2 span{color:var(--gold)}.legacy-grid h3{font:900 clamp(24px,3.2vw,45px)/1 var(--type-display);letter-spacing:-.05em;margin:16px 0}.legacy-grid p,.franchise-intro p,.franchise-two p,.story-copy p,.story-intro p,.story-end p,.contact-info p{color:var(--muted)}.legacy-side{border-left:1px solid #bda07852;padding:16px 0 16px 38px}
.actions-row{display:flex;flex-wrap:wrap;gap:13px;margin-top:26px}.history-hero,.franchise-hero{min-height:390px;display:flex;align-items:center}.history-hero h1,.franchise-hero h1{font-family:var(--type-display);font-size:clamp(47px,6.2vw,94px);font-weight:900;letter-spacing:-.065em;line-height:.98;max-width:1000px}
.story-timeline{max-width:1100px;text-align:center}.year-block{font-family:var(--type-display);font-size:clamp(84px,15vw,200px);font-weight:900;letter-spacing:-.09em;line-height:.99;color:var(--gold)}.year-block span{display:block;font:800 11px var(--type-body);letter-spacing:.25em;text-transform:uppercase;color:var(--ink);margin:20px}.story-timeline p{max-width:690px;margin:20px auto}
.story-profile{display:grid;grid-template-columns:.85fr 1.15fr;gap:6vw;align-items:center}.story-profile.reverse .profile-visual{order:2}.profile-visual{min-height:480px;border:1px solid #bda07858;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 40% 25%,#493a2888,#1a1714 60%,#111);padding:26px}.placeholder-label{width:100%;min-height:390px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed #bda07875;gap:14px;text-align:center}.placeholder-label strong{font:900 clamp(42px,5vw,84px)/1 var(--type-display);letter-spacing:-.05em}.placeholder-label>span:last-child{font-size:12px;color:var(--muted)}.story-copy h2,.story-end h2,.franchise-intro h2,.franchise-two h2,.contact-info h2,.showcase-bridge h2{font:900 clamp(38px,4.6vw,66px)/1 var(--type-display);letter-spacing:-.065em;margin:16px 0 22px}.story-copy blockquote{font-family:Georgia,serif;font-size:clamp(22px,3vw,38px);font-style:italic;color:var(--gold);margin:28px 0}.story-end{max-width:950px}.story-end h2{font-size:clamp(39px,6vw,85px)}
.franchise-intro{max-width:1000px}.franchise-intro h2{max-width:960px}.franchise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.franchise-grid article{border:1px solid #bda07852;background:#201d19;padding:34px 25px;min-height:225px;transition:transform .3s}.franchise-grid article:hover{transform:translateY(-5px)}.franchise-grid article>span{color:var(--gold);font-weight:850;font-size:12px;letter-spacing:.2em}.franchise-grid h3{font:900 clamp(20px,2vw,28px)/1.13 var(--type-display);text-transform:uppercase;letter-spacing:-.04em;margin:18px 0 12px}.franchise-grid p,.muted-note{color:var(--muted);font-size:13px;line-height:1.65}.franchise-two{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center}.franchise-enquiry{border:1px solid #bda07866;background:#201d18;padding:35px}.franchise-enquiry h3{font:900 42px/1 var(--type-display);letter-spacing:-.06em;margin:15px 0}.franchise-enquiry .btn{width:100%;justify-content:center;margin:14px 0}
.before-card h2{font:900 27px/1 var(--type-display);letter-spacing:-.055em}.note-aside{border:1px solid #bda07866;padding:35px;background:#211c16}.note-aside strong{font:900 28px var(--type-display)}.note-aside p{color:var(--muted)}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:6vw}.contact-info{border-top:1px solid #bda0785e;padding-top:26px}.contact-info address{font-size:clamp(21px,2.3vw,33px);font-style:normal;line-height:1.5}.contact-actions{display:flex;flex-direction:column;align-items:start;gap:12px;margin-top:25px}.contact-actions .btn{max-width:100%;width:100%}.contact-info a:not(.btn){color:var(--gold);text-underline-offset:3px}.contact-info a:not(.btn):hover{text-decoration:underline}
.footerlinks{gap:12px 26px;flex-wrap:wrap}.footerlinks a{font-size:12px}.footerlinks a:hover{color:var(--gold)}
.cms-post-body{max-width:770px;margin:0 auto}.cms-post-body h1{font-size:clamp(38px,5vw,72px);font-weight:900;letter-spacing:-.05em}.cms-post-body p{font-size:17px;line-height:1.85;color:var(--ink)}.cms-post-body .article-meta{font-size:12px;color:var(--gold);letter-spacing:.1em}.cms-post-body .journal-cover{width:100%;max-height:480px;object-fit:cover;margin:24px 0 34px}.cms-post-body a{color:var(--gold)}
@media(max-width:1180px){.nav{gap:9px}.nav a{font-size:9px}.headrow{gap:12px}}
@media(max-width:980px){.legacy-grid,.franchise-two,.contact-layout{grid-template-columns:1fr}.legacy-side{border-left:0;border-top:1px solid #bda07852;padding:30px 0}.franchise-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:880px){.nav{gap:0}.nav a{font-size:13px;letter-spacing:.08em;padding:13px}.story-profile,.story-profile.reverse{grid-template-columns:1fr}.story-profile.reverse .profile-visual{order:0}.profile-visual{min-height:310px}.placeholder-label{min-height:270px}}
@media(max-width:620px){.franchise-grid{grid-template-columns:1fr}.franchise-grid article{min-height:0}.history-hero,.franchise-hero{min-height:0}.profile-visual{min-height:260px}.contact-layout{gap:52px}.cms-post-body p{font-size:15px}.legacy-grid h2{font-size:42px}.franchise-enquiry{padding:23px}}

@media(max-width:880px){.nav.open{max-height:calc(100dvh - 70px);overflow-y:auto;overscroll-behavior:contain}}

.brand .brand-since{display:block;color:#bda078;font:700 8px/1.25 var(--type-body);letter-spacing:.13em;text-align:center;margin-top:4px}.headrow .brand{min-width:160px}@media(max-width:880px){.headrow .brand{min-width:0}.brand .brand-since{font-size:7px}}


/* V6.3: approved photography placement. Dark Obsidian & Champagne identity unchanged. */
@media(min-width:701px){
  .hero:before{background:linear-gradient(90deg,rgba(16,16,16,.8) 0%,rgba(16,16,16,.1) 62%,transparent 80%),url('hero-diamond-wide.webp') center 50%/cover no-repeat!important}
}
@media(max-width:700px){
  .hero:before{background:#101010!important;opacity:0!important}
  .hero .mobile-hero-image{background:#101010!important;background-image:none!important}
  .hero .mobile-hero-image img{object-fit:contain!important;object-position:center center!important;background:#101010;animation:none!important}
}
.service-card.value-gold-card img{object-position:50% 63%}
.featureimg.valuation-feature{aspect-ratio:4/3;object-position:center 65%}
.history-hero{padding:76px 0 72px;min-height:420px;display:flex;align-items:center}
.history-hero .history-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,80px);align-items:center;width:100%}
.history-hero-copy{min-width:0}
.history-hero-copy h1{font-size:clamp(40px,5.4vw,80px);line-height:1.02;overflow-wrap:normal}
.history-shop-photo{margin:0;position:relative;overflow:hidden;border:1px solid #bda07866;background:#161412}
.history-shop-photo img{width:100%;height:auto;display:block;object-fit:cover;aspect-ratio:4/3}
.history-shop-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:35px 15px 14px;background:linear-gradient(transparent,#0d0b0ae8);font-size:10px;letter-spacing:.15em;color:#f0e7d8;font-weight:750}
.profile-visual.has-portrait{padding:0;overflow:hidden;position:relative;min-height:520px;align-self:stretch}
.profile-visual .story-portrait{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 26%}
.profile-visual::after{content:"";position:absolute;inset:48% 0 0;background:linear-gradient(transparent,rgba(5,4,4,.7));pointer-events:none}
.profile-visual .portrait-label{position:absolute;z-index:1;left:28px;bottom:25px;color:#f2f0ea;font-weight:900;font-size:clamp(25px,3vw,44px);letter-spacing:-.055em}
@media(max-width:880px){
  .history-hero{padding:46px 0 40px}
  .history-hero .history-hero-grid{grid-template-columns:1fr;gap:27px}
  .history-hero-copy h1{font-size:clamp(39px,9vw,72px)}
  .history-shop-photo{max-width:800px}
  .profile-visual.has-portrait{min-height:440px}
}
@media(max-width:600px){
  .history-shop-photo figcaption{font-size:8px;letter-spacing:.09em}
  .profile-visual.has-portrait{min-height:405px}
  .profile-visual .story-portrait{object-position:center 23%}
  .profile-visual .portrait-label{left:18px;bottom:17px}
  .featureimg.valuation-feature{aspect-ratio:1.28;object-position:center 59%}
}
@media(prefers-reduced-motion:reduce){.hero:before{animation:none!important}}

/* V6.3 composition tuning: preserve entire ring in desktop frame */
@media(min-width:701px){.hero:before{animation:heroDiamondMotion 18s ease-in-out infinite alternate!important;transform:scale(1)!important}}
@keyframes heroDiamondMotion{from{transform:scale(1)}to{transform:scale(1.012)}}
@media(prefers-reduced-motion:reduce){.hero:before{animation:none!important}}
@media(min-width:901px){.hero:before{inset:0!important}}
/* Keep the old ring out of tablet/mobile letterboxing. */
@media(max-width:900px){.hero .mobile-hero-image{background:#101010!important;background-image:none!important}.hero .mobile-hero-image img{object-fit:contain;object-position:center center}}

/* V6.3.2: Mobile-first hero polish. Do not alter locked desktop brand styling. */
@media (max-width:900px) {
  .hero .mobile-hero-image {
    width:100%;
    height:clamp(285px,80vw,410px);
    background:#100d0b!important;
    overflow:hidden;
    border-bottom:1px solid rgba(189,160,120,.22);
  }
  .hero .mobile-hero-image img {
    display:block;
    width:100%;
    height:100%;
    max-width:none;
    object-fit:cover!important;
    object-position:center 50%!important;
    background:transparent!important;
    transform:none!important;
    animation:none!important;
  }
  .hero .herocontent{padding-top:25px;padding-bottom:42px}
  .hero .eyebrow{margin-bottom:13px}
  .heroactions{margin-top:23px;gap:12px}
  .heroactions .btn{min-height:54px;padding:14px 16px}
}
@media (max-width:600px) {
  .hero .mobile-hero-image{height:clamp(272px,77vw,345px)}
  .hero .shell{padding-inline:20px!important}
  .hero .herocontent{padding-top:24px!important;padding-bottom:55px!important}
  .hero h1{font-size:clamp(36px,9.2vw,52px)!important;line-height:.97!important}
  .hero p{font-size:14px!important;line-height:1.55}
  .wa-fab{bottom:calc(18px + env(safe-area-inset-bottom,0px));right:19px;width:57px;height:57px}
  .wa-panel{bottom:calc(86px + env(safe-area-inset-bottom,0px))}
}
@media (max-width:360px) {.hero .shell{padding-inline:17px!important}.hero h1{font-size:35px!important}}
/* Floating contact icon waits until the hero has left view; the hero already offers a WhatsApp CTA. */
@media (max-width:700px){body.home-hero-visible .wa-fab:not([aria-expanded="true"]){opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px)}.wa-fab{transition:opacity .18s ease,visibility .18s,transform .18s}}
/* User-provided product photo on Repairs & Restoration, no embedded BEFORE/AFTER type. */
.featureimg.repairs-feature{aspect-ratio:1.16;max-height:620px;object-fit:cover;object-position:center 50%}
@media (max-width:650px){.featureimg.repairs-feature{aspect-ratio:1.08;object-position:center 50%}}
@media (prefers-reduced-motion:reduce){.wa-fab{transition:none!important}}

/* V6.4: socially connected, reviews and bespoke stories (existing design stays locked). */
.social-icon-links{display:flex;align-items:center;gap:12px;margin-top:17px;flex-wrap:wrap}.footerlinks .social-icon-links{width:100%;margin-top:18px}.social-icon{width:45px;height:45px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(189,160,120,.65);color:#f1eee7;background:#201d1a;transition:background .2s,border-color .2s,transform .2s}.social-icon:hover,.social-icon:focus-visible{background:#51412d;border-color:#dfbb87;transform:translateY(-2px)}.social-icon svg{width:21px;height:21px}.contact-socials{margin-top:30px;gap:16px}.contact-socials .social-icon{width:59px;height:59px}.contact-socials svg{width:27px;height:27px}
.map-section{padding-top:40px!important}.map-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:30px;flex-wrap:wrap}.map-heading h2{font:900 clamp(38px,6vw,78px)/1 var(--type-display);letter-spacing:-.055em;margin:12px 0}.map-heading p{max-width:650px;color:var(--muted)}.map-frame{width:100%;height:450px;border:1px solid #bda07873;background:radial-gradient(ellipse at 45% 45%,#3d3022,#181512 61%,#111);position:relative;overflow:hidden;isolation:isolate}.map-map-grid{position:absolute;inset:-30%;background:repeating-linear-gradient(46deg,transparent 0 67px,rgba(189,160,120,.08) 68px 70px,transparent 71px 144px),repeating-linear-gradient(132deg,transparent 0 65px,rgba(189,160,120,.06) 66px 68px,transparent 69px 155px);transform:rotate(-4deg)}.map-placeholder{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;text-align:center;height:100%;padding:28px}.map-pin{width:50px;height:50px;background:#bda078;color:#14110c;display:grid;place-items:center;border-radius:50%}.map-pin svg{width:28px;height:28px}.map-placeholder strong{font:900 clamp(30px,5vw,56px)/1 var(--type-display);letter-spacing:-.05em;color:#f1eee7}.map-placeholder p{color:#ddd3c5;margin:0 0 5px;max-width:420px}.map-placeholder small{color:#bbab91}.map-frame iframe{display:block;width:100%;height:100%;border:0;filter:grayscale(.68) sepia(.30) saturate(.65) brightness(.87) contrast(1.13)}
.review-mini-section{padding:30px 0!important;background:#1e1a16}.review-mini{display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap}.review-mini strong{display:flex;gap:15px;align-items:center;font:900 40px/1 var(--type-display);margin:12px 0}.review-mini p{color:var(--muted);font-size:13px;margin:0}.review-stars{color:#d3af79;letter-spacing:.09em;font-family:Arial,sans-serif;font-size:18px}.reviews-section{background:#181512}.review-heading{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:36px}.review-heading h2{font:900 clamp(38px,7vw,83px)/1 var(--type-display);letter-spacing:-.07em;margin:14px 0 18px}.review-heading p{color:#cbbfb0;max-width:520px}.review-score{display:grid;justify-items:end;gap:7px;min-width:180px}.review-score strong{font:900 65px/1 var(--type-display);color:#f1eee7}.review-score strong span{font-size:24px;color:#ac9b87}.review-score>span{font-size:15px;font-weight:800}.review-score small{font-size:11px;color:#a99c87}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.review-card{min-height:280px;border:1px solid rgba(189,160,120,.30);padding:25px 24px;background:#201b17;display:flex;flex-direction:column;gap:16px}.review-card:nth-child(even){background:#161412}.review-category{font-size:11px;color:#c6aa7b;letter-spacing:.16em;text-transform:uppercase;font-weight:750}.review-card blockquote{font:700 clamp(21px,2.3vw,29px)/1.2 Georgia,serif;color:#f1eee7;margin:0}.review-card p{color:#bfb5aa;font-size:14px;line-height:1.6;margin:0;flex:1}.review-author{font-size:14px;color:#ead7bc;font-weight:800;border-top:1px solid #bda07840;padding-top:13px}.review-author span{display:block;margin-top:5px;font-size:10px;font-weight:450;color:#a69781}.review-footer{display:flex;align-items:center;justify-content:space-between;gap:23px;flex-wrap:wrap;margin-top:28px}.review-footer p{max-width:630px;color:#a99c87;font-size:12px;line-height:1.6}.bespoke-hero{background:radial-gradient(ellipse at 80% 10%,#423120aa,#141110 65%);border-bottom:1px solid #bda07844}.bespoke-hero h1{font-size:clamp(66px,11vw,160px);letter-spacing:-.08em;line-height:.85}.bespoke-hero h1 span{color:#c1a37d}.bespoke-hero p{max-width:690px}.bespoke-hero .btn{margin-top:21px}.bespoke-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.bespoke-pending{height:560px;position:relative;overflow:hidden;display:flex;align-items:end;border:1px solid #bda07855;background:radial-gradient(ellipse at 65% 22%,#493723,#191410 64%)}.bespoke-pending:nth-child(2){background:radial-gradient(ellipse at 35% 35%,#493626,#121011 65%)}.bespoke-pending::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(125deg,transparent 0 55px,rgba(189,160,120,.025) 56px 57px,transparent 58px 110px)}.bespoke-number{position:absolute;top:20px;right:28px;font:900 160px/.85 var(--type-display);color:rgba(189,160,120,.12)}.bespoke-pending-content{position:relative;padding:38px;width:100%;background:linear-gradient(transparent,rgba(0,0,0,.54))}.bespoke-pending-content h3{font:900 clamp(35px,4vw,57px)/.95 var(--type-display);letter-spacing:-.055em;margin:15px 0}.bespoke-pending-content p{max-width:510px;color:#d3c5b5;line-height:1.55}.bespoke-status{display:block;letter-spacing:.1em;font-size:10px;color:#c9ae82;margin-top:25px}.bespoke-editor-note{font-size:12px;color:#a99c87;margin-top:18px}.bespoke-next{display:flex;justify-content:space-between;align-items:center;gap:35px}.bespoke-next h2{font:900 clamp(35px,5vw,60px)/1 var(--type-display);letter-spacing:-.06em;margin:15px 0}.bespoke-next p{max-width:600px;color:var(--muted)}.bespoke-entrance{margin-left:20px}
@media(max-width:850px){.review-heading{align-items:start}.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bespoke-story-grid{grid-template-columns:1fr}.bespoke-pending{height:460px}.bespoke-next{display:block}.bespoke-next .btn{margin-top:15px}}
@media(max-width:600px){.map-frame{height:385px}.map-heading{align-items:stretch}.map-heading .btn{width:100%;text-align:center}.map-placeholder{padding:20px}.review-heading{display:block}.review-score{justify-items:start;margin-top:25px}.review-grid{grid-template-columns:1fr}.review-card{min-height:235px;padding:23px}.review-footer .btn{width:100%}.bespoke-hero h1{font-size:clamp(55px,14vw,88px)}.bespoke-pending{height:410px}.bespoke-pending-content{padding:25px}.bespoke-entrance{display:block;margin:16px 0 0}.review-mini{display:block}.review-mini .btn{margin-top:18px}}
@media(prefers-reduced-motion:reduce){.social-icon{transition:none}}


/* V6.5 — Bespoke Stories: Darren's first real commission. Scoped to the page; the rest of the design remains locked. */
.darren-intro{align-items:end;margin-bottom:34px}.darren-intro h2{font:900 clamp(39px,6vw,86px)/.96 var(--type-display);letter-spacing:-.065em;margin:14px 0}.darren-intro h2 span{color:#c5a777}.darren-intro>p{max-width:350px;color:#c6bbab;line-height:1.6}
.darren-feature{display:grid;grid-template-columns:minmax(0, .94fr) minmax(0,1.06fr);gap:clamp(26px,5vw,80px);align-items:start}
.darren-lead{position:relative;margin:0;background:#181410;border:1px solid rgba(189,160,120,.35);overflow:hidden}
.darren-lead img{display:block;width:100%;height:auto;aspect-ratio:1122/1402;object-fit:cover}
.darren-lead figcaption{position:absolute;bottom:0;left:0;right:0;padding:22px 24px;font-weight:750;font-size:11px;letter-spacing:.13em;color:#f3ebde;background:linear-gradient(transparent,rgba(0,0,0,.76))}
.darren-story-copy{padding:9px 0 0}.darren-story-copy h3{font:900 clamp(35px,4.5vw,67px)/.96 var(--type-display);letter-spacing:-.065em;margin:18px 0 28px}.darren-story-copy h3 span{color:#c9ad81}.darren-story-copy p{color:#cbbfb0;line-height:1.78;font-size:clamp(15px,1.12vw,17px);margin:0 0 20px;max-width:680px}.darren-story-copy p.darren-opening{font:italic 22px/1.5 Georgia,serif;color:#f1eee7;margin:0 0 25px}.darren-story-copy strong{color:#f1eee7;font-weight:800}
.darren-process{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(30px,6vw,95px);align-items:center;margin:clamp(65px,9vw,125px) 0;padding:clamp(30px,4vw,62px);background:linear-gradient(115deg,#1c1815,#282018 80%);border:1px solid rgba(189,160,120,.35)}
.darren-process-text h3,.darren-gallery-heading h3{font:900 clamp(34px,4.9vw,72px)/.98 var(--type-display);letter-spacing:-.065em;margin:15px 0 20px}.darren-process-text h3 span,.darren-gallery-heading h3 span{color:#c4a477}.darren-process-text>p,.darren-gallery-heading>p{font-size:16px;line-height:1.65;color:#c8bdaf;max-width:600px}
.darren-process-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:28px 0}.darren-process-stages>div{border-top:1px solid rgba(189,160,120,.45);padding-top:16px;display:flex;flex-direction:column;gap:10px}.darren-process-stages strong{color:#c9a879;font:900 24px/1 var(--type-display)}.darren-process-stages span{font-size:12px;line-height:1.45;color:#f1eee7}.darren-process-text p.darren-media-note{font-size:12px;color:#a99a86}
.darren-cad-media{margin:0;min-width:0}.darren-cad-stage{position:relative;background:#f9f8f5;border:1px solid rgba(189,160,120,.50);padding:22px;max-width:510px;margin-left:auto}.darren-cad-stage video{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;background:#fff}.darren-film-label,.darren-film-time{position:absolute;z-index:1;padding:7px 10px;font:750 10px/1.2 Arial,sans-serif;letter-spacing:.1em;color:#f5eee4;background:#1a1714}.darren-film-label{top:30px;left:30px}.darren-film-time{bottom:30px;right:30px}.darren-cad-media figcaption{max-width:480px;margin:12px 0 0 auto;font-size:12px;line-height:1.6;color:#a99a87}
.darren-gallery-section{padding-top:2px}.darren-gallery-heading{max-width:870px;margin-bottom:30px}.darren-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.darren-photo{margin:0;min-width:0;position:relative}.darren-photo a{display:block;overflow:hidden;border:1px solid rgba(189,160,120,.37);background:#211a15}.darren-photo img{display:block;width:100%;height:auto;aspect-ratio:1122/1402;object-fit:cover;transition:transform .45s ease}.darren-photo a:hover img{transform:scale(1.035)}.darren-photo figcaption{font:750 11px/1.5 Arial,sans-serif;letter-spacing:.13em;color:#cbb292;padding-top:14px}
.darren-final-line{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:45px 0;margin-top:65px;border-top:1px solid rgba(189,160,120,.48);border-bottom:1px solid rgba(189,160,120,.48)}.darren-final-line p{font:900 clamp(27px,3.4vw,51px)/1.1 var(--type-display);letter-spacing:-.055em;margin:13px 0 0}.darren-final-line p em{font-style:normal;color:#c7a57a}.darren-final-line .btn{flex-shrink:0}
.darren-next-story{margin:68px 0 10px;padding:35px 40px;border:1px solid rgba(189,160,120,.26);background:radial-gradient(ellipse at 90% 50%,#47301b7d,#181512 65%)}.darren-next-story h3{font:900 clamp(31px,4.5vw,58px)/1 var(--type-display);letter-spacing:-.06em;margin:13px 0}.darren-next-story p{color:#c1b4a7;line-height:1.65;max-width:590px}
@media(max-width:950px){.darren-feature{grid-template-columns:1fr}.darren-lead{width:min(100%,670px);margin:auto}.darren-process{grid-template-columns:1fr}.darren-cad-stage{margin:0 auto}.darren-cad-media figcaption{margin:12px auto 0}.darren-final-line{flex-wrap:wrap}}
@media(max-width:650px){.darren-intro h2{font-size:clamp(34px,9vw,53px)}.darren-intro>p{max-width:100%}.darren-feature{gap:26px}.darren-story-copy h3{font-size:clamp(35px,9vw,55px)}.darren-story-copy p{font-size:15px;line-height:1.7}.darren-process{margin:56px 0;padding:22px 18px}.darren-process-text h3,.darren-gallery-heading h3{font-size:clamp(33px,8vw,52px)}.darren-process-stages{gap:9px}.darren-process-stages span{font-size:11px}.darren-cad-stage{padding:10px}.darren-film-label{top:15px;left:15px}.darren-film-time{bottom:15px;right:15px}.darren-gallery{grid-template-columns:1fr;gap:25px}.darren-gallery .darren-photo img{max-height:510px;object-fit:cover}.darren-gallery-section{padding-top:0}.darren-final-line{margin-top:42px;padding:32px 0}.darren-final-line .btn{width:100%;text-align:center}.darren-next-story{padding:26px 24px;margin-top:47px}}
@media(prefers-reduced-motion:reduce){.darren-photo img{transition:none}.darren-photo a:hover img{transform:none}}

/* V6.5 refinement: accessible minimal video controls, away from native mobile chrome. */
.darren-film-toggle{position:absolute;z-index:2;bottom:30px;right:30px;background:#181512;color:#f1eee7;border:1px solid #bda07873;padding:10px 13px;font:800 11px/1 Arial,sans-serif;letter-spacing:.12em;cursor:pointer}.darren-film-toggle:focus-visible{outline:2px solid #d6b887;outline-offset:3px}.darren-film-toggle:hover{background:#4a3829}
@media(max-width:650px){.darren-film-toggle{bottom:15px;right:15px}}

/* V6.6: Kathryn's bespoke story. Same typography and dark palette as Darren's feature. */
.kathryn-section{background:#15120f;border-top:1px solid rgba(189,160,120,.24)}
.kathryn-heading{max-width:1000px;margin-bottom:48px}.kathryn-heading h2{font:900 clamp(42px,6.2vw,96px)/.96 var(--type-display);letter-spacing:-.07em;margin:18px 0 21px}.kathryn-heading h2 span,.kathryn-process h3 span,.kathryn-finish h3 span{color:var(--gold)}.kathryn-heading p{font-size:clamp(16px,1.8vw,23px);color:#cbbbaa;line-height:1.55}
.kathryn-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:6%;align-items:center}.kathryn-hero-photo,.kathryn-finish figure{margin:0;min-width:0}.kathryn-hero-photo img,.kathryn-finish img{width:100%;height:auto;display:block;object-fit:cover;border:1px solid rgba(189,160,120,.30)}.kathryn-hero-photo figcaption,.kathryn-finish figcaption{font-size:11px;letter-spacing:.13em;margin-top:13px;color:var(--gold)}
.kathryn-copy h3,.kathryn-process h3,.kathryn-finish h3{font:900 clamp(36px,4.7vw,69px)/1 var(--type-display);letter-spacing:-.06em;margin:15px 0 23px}.kathryn-copy p,.kathryn-process-copy p,.kathryn-finish p{color:#d4c9bb;line-height:1.78;font-size:clamp(15px,1.2vw,18px);margin:0 0 17px}.kathryn-copy strong{color:#f1eee7}
.kathryn-process{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;margin:90px 0;padding:55px 0;border-top:1px solid rgba(189,160,120,.25);border-bottom:1px solid rgba(189,160,120,.25)}.kathryn-video{margin:0;max-width:460px;width:100%;justify-self:center}.kathryn-video video{width:100%;height:auto;max-height:480px;aspect-ratio:368/416;object-fit:contain;background:#f7f6f3;border:12px solid #26211b;display:block}.kathryn-video figcaption{font-size:12px;color:#b5a794;line-height:1.6;margin-top:13px}
.kathryn-finish{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7%;}.kathryn-finish figure{max-width:600px}.kathryn-finish p{max-width:570px}.kathryn-finish .btn{margin-top:14px}
.sitefoot .fineprint a{color:#cbb08a;text-decoration:underline;text-underline-offset:3px}.sitefoot .fineprint a:hover,.sitefoot .fineprint a:focus-visible{color:#f6e8d3}
@media(max-width:900px){.kathryn-grid,.kathryn-process,.kathryn-finish{grid-template-columns:1fr}.kathryn-grid{gap:35px}.kathryn-process{gap:30px;margin:60px 0;padding:40px 0}.kathryn-finish{gap:30px}.kathryn-video{max-width:410px}}
@media(max-width:550px){.kathryn-heading{margin-bottom:30px}.kathryn-heading h2{font-size:clamp(39px,10vw,63px)}.kathryn-copy h3,.kathryn-process h3,.kathryn-finish h3{font-size:clamp(34px,8.7vw,53px)}.kathryn-finish .btn{width:100%;text-align:center}}

/* V6.7: inline SVG stars, visually consistent across browsers and devices. */
.review-card-stars{display:flex;align-items:center;margin:-5px 0 -3px}
.review-card-stars svg{display:block;height:19px;width:111px;fill:#c7a46c;overflow:visible;flex-shrink:0}
.result-photos.bespoke-result-photos img{object-position:center 45%}
.result-photos.bespoke-result-photos figcaption{font-weight:650}
@media(max-width:560px){.review-card-stars svg{width:105px;height:18px}}
