:root{
  --black:#0C0C0C; --coal:#161616; --line-d:#2E2E2E;
  --paper:#F5F3EF; --panel:#FFFFFF; --line:#E3E0DA;
  --ink:#141414; --muted:#6B6862; --muted-d:#A8A49C;
  /* --gold is for dark backgrounds, rules and icons only.
     --gold-ink is the same family darkened to clear 4.5:1 on paper
     and on white, and is what every piece of gold TEXT on a light
     background uses. */
  --gold:#C9A96A; --gold-ink:#8A6A2E;
}

/* keyboard focus, visible on both light and dark ground */
:focus-visible{outline:3px solid var(--gold-ink);outline-offset:2px}
nav :focus-visible,footer :focus-visible,.hero-img :focus-visible,
.page-hero :focus-visible,.statement :focus-visible,
.cta-band :focus-visible,.dark-sec :focus-visible{outline-color:var(--gold)}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;background:var(--paper);color:var(--ink);line-height:1.7;font-size:16.5px}
/* width/height attributes are on every img for layout stability;
   height:auto keeps them responsive rather than pinned to intrinsic size */
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
.serif{font-family:'Playfair Display',Georgia,serif}
.wrap{max-width:1180px;margin:0 auto;padding:0 clamp(18px,4vw,44px)}
.wrap.narrow{max-width:820px}


/* double-line motif, echoing the roof of the logo */
.rule{height:7px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;opacity:.35;width:64px}

nav{position:sticky;top:0;background:rgba(12,12,12,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line-d);z-index:50}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:92px}
@media(max-width:639px){.nav-in{height:84px}}
.brand{display:block;color:#fff;line-height:0;padding:5px 0}
.brand:hover{color:var(--gold)}
/* Nav lockup: house, M and Renovations on ONE band sharing a baseline.
   The house ground rule sits on the type baseline and its wall feet drop
   below it like descenders. The house is set at 130 per cent of cap
   height so it leads and the name sits slightly under it.
   Aspect 5.56:1; the name renders at about 66 per cent of the logo height,
   so 40px at the 60px desktop setting.
   Never stretch or crop the mark to fit a bar; change the bar. */
.logo{height:60px;width:auto;display:block;transition:color .15s}
/* the lockup is wide, so it steps down where the bar runs short of room */
@media(max-width:1279px){.logo{height:54px}}
@media(max-width:1099px){.logo{height:50px}}
@media(max-width:999px){.logo{height:54px}}   /* burger takes over here, room again */
@media(max-width:639px){.logo{height:46px}}
.nav-links{display:flex;gap:28px;align-items:center}
@media(min-width:1000px) and (max-width:1279px){.nav-links{gap:16px}}
.nav-links a{font-size:13px;font-weight:500;color:#CFCBC3;letter-spacing:.14em;text-transform:uppercase}
.nav-links a:hover{color:#fff}
.nav-links a.active{color:var(--gold)}
.burger{display:none;background:none;border:1px solid #4A4A4A;color:#fff;border-radius:2px;padding:13px 16px;font:inherit;font-size:13px;letter-spacing:.1em;cursor:pointer}

.btn{display:inline-block;font-weight:600;font-size:13.5px;letter-spacing:.12em;text-transform:uppercase;padding:15px 30px;border:1px solid #fff;color:#fff;background:transparent;transition:all .2s;border-radius:2px;cursor:pointer}
.btn:hover{background:#fff;color:var(--black)}
.btn.solid{background:#fff;color:var(--black)}
.btn.solid:hover{background:var(--gold);border-color:var(--gold);color:var(--black)}
.btn.dark{border-color:var(--ink);color:var(--ink);background:transparent}
.btn.dark:hover{background:var(--ink);color:#fff}
.btn.dark.solid{background:var(--ink);color:#fff}
.btn.dark.solid:hover{background:var(--gold);border-color:var(--gold);color:var(--black)}
.nav-links .btn{padding:13px 20px;font-size:13px;color:#fff;white-space:nowrap}
.nav-links .btn:hover{color:var(--black)}

/* ============ image hero ============ */
.hero-img{position:relative;background:var(--black);color:#fff;min-height:min(88vh,860px);display:flex;align-items:flex-end;overflow:hidden}
.hero-img > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.62}
.hero-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,12,12,.45) 0%,rgba(12,12,12,.12) 40%,rgba(12,12,12,.88) 100%)}
.hero-inner{position:relative;z-index:2;width:100%;padding-top:clamp(72px,11vw,140px);padding-bottom:clamp(56px,8vw,96px);text-align:center}
.hero-kicker{display:flex;align-items:center;justify-content:center;gap:16px;font-size:13px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);font-weight:600}
.hero-kicker::before{content:"";width:52px;height:1px;background:var(--gold);opacity:.8}
h1{font-size:clamp(40px,7vw,84px);line-height:1.05;font-weight:600;letter-spacing:.002em;margin:22px auto 0;max-width:900px}
.hero-sub{margin:26px auto 0;font-size:clamp(16px,1.9vw,19px);max-width:600px;color:#D8D4CC;line-height:1.75}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:40px;justify-content:center}
.hero-foot{margin-top:clamp(36px,6vw,64px);padding-top:22px;border-top:1px solid rgba(255,255,255,.22);display:flex;gap:14px 40px;flex-wrap:wrap;justify-content:center;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:#C3BFB7}
.hero-foot span{display:flex;align-items:center;gap:10px}
.hero-foot span::before{content:"";width:8px;height:4px;border-top:1px solid var(--gold);border-bottom:1px solid var(--gold)}

/* interior page banner with image */
.page-hero{position:relative;background:var(--black);color:#fff;overflow:hidden}
.page-hero > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.42}
.page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,12,12,.55),rgba(12,12,12,.85))}
.page-hero .wrap{position:relative;z-index:2;text-align:center;padding-top:clamp(64px,10vw,110px);padding-bottom:clamp(64px,10vw,110px)}
.page-hero .rule{margin:0 auto;color:var(--gold);opacity:.8}
.page-hero .eyebrow{margin-top:20px;font-size:13px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-weight:600}
.page-hero h1{font-size:clamp(34px,5.4vw,60px);margin:16px auto 0}
.page-hero p{margin:20px auto 0;max-width:640px;color:#D8D4CC;font-size:17px}

section{padding:clamp(68px,10vw,116px) 0}
section.tight{padding:clamp(44px,6vw,64px) 0}

.sec-head{max-width:760px;margin:0 auto;text-align:center}
.sec-head .sub{margin-left:auto;margin-right:auto}
.sec-head .rule{margin:0 auto 6px;color:var(--gold)}
.label{font-size:13px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-ink);font-weight:600}
.statement .label,.cta-band .label,.dark-sec .label,.page-hero .label,.hero-img .label{color:var(--gold)}
h2{font-size:clamp(30px,4.6vw,50px);font-weight:600;line-height:1.14;margin-top:14px}
h2.serif,h1.serif,h3.serif{font-family:'Playfair Display',Georgia,serif}
.sub{color:var(--muted);margin-top:16px;max-width:640px;font-size:17px}
.prose{max-width:720px}
.prose p{margin-top:18px;color:#3A3833;font-size:17px}
.prose p:first-child{margin-top:0}
.prose .lead{font-family:'Playfair Display',serif;font-size:clamp(20px,2.6vw,25px);line-height:1.55;color:var(--ink)}
.drop::first-letter{font-family:'Playfair Display',serif;font-size:3.4em;float:left;line-height:.85;padding:6px 12px 0 0;color:var(--gold-ink)}

/* ============ catalogue contents ============ */
.contents{margin-top:52px;border-top:1px solid var(--line)}
.contents a{display:grid;grid-template-columns:80px 1fr auto;gap:10px 28px;align-items:baseline;padding:26px 6px;border-bottom:1px solid var(--line);transition:background .15s,padding-left .2s}
.contents a:hover{background:var(--panel);padding-left:16px}
.contents .cnum{font-family:'Playfair Display',serif;font-size:28px;color:var(--gold-ink)}
.contents h3{font-family:'Playfair Display',serif;font-size:clamp(22px,3vw,30px);font-weight:600}
.contents p{grid-column:2;color:var(--muted);font-size:15px;max-width:620px}
.contents .go{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink);font-weight:600;white-space:nowrap}
@media (max-width:700px){ .contents a{grid-template-columns:56px 1fr} .contents .go{display:none} }

/* ============ editorial spreads ============ */
.spread{display:grid;gap:clamp(28px,5vw,72px);grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));align-items:center;padding:clamp(44px,6vw,70px) 0;border-top:1px solid var(--line)}
.spread:first-of-type{border-top:none}
.spread .fig{position:relative}
.spread .fig img{width:100%;aspect-ratio:4/3;object-fit:cover}
.figcap{display:flex;justify-content:space-between;gap:14px;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:12px}
.spread .snum{font-family:'Playfair Display',serif;font-size:clamp(44px,6vw,68px);color:transparent;-webkit-text-stroke:1px var(--gold);line-height:1}
.spread h3{font-family:'Playfair Display',serif;font-size:clamp(26px,3.6vw,38px);font-weight:600;margin-top:14px}
.spread .txt p{color:#3A3833;margin-top:16px;font-size:16.5px;max-width:520px}
.spread .go{display:inline-block;margin-top:14px;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink);font-weight:600;border-bottom:1px solid var(--gold-ink);padding:12px 0}
.spread .go:hover{color:var(--ink);border-color:var(--ink)}
@media (min-width:900px){ .spread.flip .fig{order:2} }
@media (max-width:899px){ .spread{padding:clamp(36px,6vw,52px) 0} .spread .txt{max-width:560px} }

/* ============ full-bleed statement band ============ */
.statement{position:relative;background:var(--black);color:#fff;overflow:hidden}
.statement > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.34}
.statement::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,12,12,.75),rgba(12,12,12,.55))}
.statement .wrap{position:relative;z-index:2;text-align:center;padding-top:clamp(80px,12vw,150px);padding-bottom:clamp(80px,12vw,150px)}
.statement .rule{margin:0 auto;color:var(--gold);opacity:.85}
.statement blockquote{font-family:'Playfair Display',serif;font-size:clamp(26px,4.4vw,46px);line-height:1.3;font-weight:500;max-width:880px;margin:28px auto 0}
.statement cite a{display:inline-block;padding:12px 4px}
.statement cite{display:block;font-family:'Inter',sans-serif;font-style:normal;font-size:13px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-top:26px;font-weight:600}

/* ============ dark section / points ============ */
.dark-sec{background:var(--black);color:#EDEAE4}
.dark-sec h2{color:#fff}
.dark-sec .sub{color:var(--muted-d)}
.points{display:grid;gap:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));margin-top:52px;border-left:1px solid var(--line-d)}
.point{padding:10px 30px 10px 26px;border-right:1px solid var(--line-d)}
.point .rule{margin-bottom:18px;color:var(--gold);opacity:.8}
.point h3{font-family:'Playfair Display',serif;font-size:20px;font-weight:600;color:#fff}
.point p{font-size:14.5px;color:var(--muted-d);margin-top:10px}
@media (max-width:760px){ .points{border-left:none} .point{border-right:none;border-top:1px solid var(--line-d);padding:22px 0} }

/* ============ process ============ */
.process{margin-top:56px;display:grid;gap:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.stage{position:relative;padding:34px 28px 30px;border:1px solid var(--line);border-left:none;background:var(--panel)}
.stage:first-child{border-left:1px solid var(--line)}
.stage .snum{font-family:'Playfair Display',serif;font-size:44px;color:transparent;-webkit-text-stroke:1px var(--gold);line-height:1}
.stage h3{font-family:'Playfair Display',serif;font-size:20px;margin-top:16px}
.stage p{font-size:14.5px;color:var(--muted);margin-top:10px}
@media (max-width:760px){ .stage{border-left:1px solid var(--line);border-top:none} .stage:first-child{border-top:1px solid var(--line)} }

/* ============ service chapters (services page) ============ */
.chapter{border-top:1px solid var(--line);padding:clamp(56px,8vw,92px) 0}
.chapter-head{display:grid;grid-template-columns:auto 1fr;gap:4px 28px;align-items:baseline}
.chapter-head .cnum{grid-row:1/3;font-family:'Playfair Display',serif;font-size:clamp(56px,8vw,84px);color:transparent;-webkit-text-stroke:1px var(--gold);line-height:1}
.chapter-head h2{margin-top:0;font-size:clamp(30px,4.4vw,46px)}
.chapter-head .tag{grid-column:2;font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
@media (max-width:700px){ .chapter-head{grid-template-columns:1fr} .chapter-head .cnum{grid-row:auto} }
.chapter-body{display:grid;gap:clamp(28px,4.5vw,64px);grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));margin-top:clamp(28px,4vw,44px);align-items:start}
.chapter-body .fig img{width:100%;aspect-ratio:4/3;object-fit:cover}
.chapter-copy p{color:#3A3833;font-size:16.5px;margin-top:16px}
.chapter-copy p:first-child{margin-top:0}
.chapter-copy .lead{font-family:'Playfair Display',serif;font-size:clamp(19px,2.4vw,23px);line-height:1.5;color:var(--ink)}
.inc{margin-top:26px}
.inc h3{font-size:13px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-ink);font-weight:600}
.inc ul{list-style:none;margin-top:10px}
.inc li{padding:12px 0 12px 26px;border-bottom:1px solid var(--line);font-size:15.5px;position:relative}
.inc li::before{content:"";position:absolute;left:0;top:50%;width:12px;height:6px;border-top:1px solid var(--gold);border-bottom:1px solid var(--gold)}
.note{margin-top:26px;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--gold);padding:20px 22px}
.note h3{font-family:'Playfair Display',serif;font-size:17px;font-weight:600}
.note p{font-size:14.5px;color:var(--muted);margin-top:8px}

/* ============ gallery (projects) ============ */
.gallery{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));grid-auto-flow:dense;margin-top:52px}
.g-item{position:relative;overflow:hidden;background:var(--black)}
.g-item img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;transition:transform .6s ease,opacity .4s}
.g-item:hover img{transform:scale(1.04)}
.g-item .g-cap{position:absolute;left:0;right:0;bottom:0;padding:44px 22px 18px;background:linear-gradient(180deg,transparent,rgba(12,12,12,.82));color:#fff;font-size:13px;letter-spacing:.1em;text-transform:uppercase;display:flex;justify-content:space-between;gap:10px}
.g-item .g-cap em{font-style:normal;color:var(--gold)}
@media (min-width:900px){ .g-item.wide{grid-column:span 2} .g-item.tall img{aspect-ratio:3/4} }

/* ============ testimonials ============ */
/* Sections carrying the hidden attribute must stay down, whatever
   display value their own rule sets. */
[hidden]{display:none!important}

.quotes{display:grid;gap:18px;grid-template-columns:repeat(3,1fr);margin-top:46px}
@media (max-width:1020px){ .quotes{grid-template-columns:repeat(2,1fr)} }
@media (max-width:640px){ .quotes{grid-template-columns:1fr} }

.quote{background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--gold);padding:28px 26px 24px;display:flex;flex-direction:column}
.quote blockquote{font-family:'Playfair Display',Georgia,serif;font-size:19px;line-height:1.5;margin-top:16px;color:var(--ink)}
.quote blockquote::before{content:'\201C'}
.quote blockquote::after{content:'\201D'}
.quote figcaption{margin-top:auto;padding-top:22px;display:flex;flex-direction:column;gap:4px}
.q-name{font-weight:600;font-size:14.5px}
.q-meta{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}

.stars{display:flex;gap:3px;color:var(--gold)}
.stars svg{width:15px;height:15px;display:block}

.quotes-foot{margin-top:32px;text-align:center;font-size:14px}
.quotes-foot a{display:inline-block;color:var(--muted);border-bottom:1px solid var(--line);padding:11px 0;transition:color .15s,border-color .15s}
.quotes-foot a:hover{color:var(--gold);border-color:var(--gold)}

.pullquote{max-width:760px;margin:0 auto;text-align:center}
.pullquote .stars{justify-content:center}
.pullquote blockquote{font-family:'Playfair Display',Georgia,serif;font-size:clamp(21px,2.8vw,29px);line-height:1.42;margin-top:20px}
.pullquote blockquote::before{content:'\201C'}
.pullquote blockquote::after{content:'\201D'}
.pullquote cite{display:block;margin-top:20px;font-style:normal;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}

/* ============ before and after ============ */
.ba{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:44px}
.ba-item{position:relative}
.ba-item img{width:100%;aspect-ratio:3/4;object-fit:cover;background:var(--black)}
.ba-tag{position:absolute;top:0;left:0;background:var(--black);color:#fff;font-size:13px;letter-spacing:.28em;text-transform:uppercase;font-weight:600;padding:9px 16px}
.ba-tag.on{background:var(--gold);color:var(--black)}
.ba-item .figcap{padding:0 2px}
@media (max-width:700px){ .ba{grid-template-columns:1fr;gap:26px} }

/* ============ credentials ============ */
.creds{display:flex;gap:12px 38px;flex-wrap:wrap;justify-content:center;margin-top:44px;padding-top:30px;border-top:1px solid var(--line)}
.cred{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600;display:flex;align-items:center;gap:10px}
.cred::before{content:"";width:12px;height:6px;border-top:1px solid var(--gold);border-bottom:1px solid var(--gold)}
.dark-sec .creds{border-top-color:var(--line-d)}
.dark-sec .cred{color:var(--muted-d)}

/* ============ contact channels ============ */
.channels{display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-top:46px}
@media(max-width:1020px){.channels{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.channels{grid-template-columns:1fr}}
.channel{display:block;background:var(--panel);border:1px solid var(--line);padding:30px 26px;text-align:center;transition:border-color .15s,transform .15s}
.channel:hover{border-color:var(--gold);transform:translateY(-3px)}
.channel .ch-label{font-size:13px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-ink);font-weight:600}
.cta-band .channel .ch-label,.channel.primary .ch-label{color:var(--gold)}
.channel h3{font-family:'Playfair Display',serif;font-size:23px;margin-top:12px}
.channel p{font-size:14px;color:var(--muted);margin-top:8px}
.channel.primary{background:var(--black);border-color:var(--black);color:#fff}
.channel.primary p{color:var(--muted-d)}
.channel.primary:hover{border-color:var(--gold)}
.cta-band{position:relative;background:var(--black);color:#fff;text-align:center;overflow:hidden}
.cta-band > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.22}
.cta-band::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,12,12,.82),rgba(12,12,12,.9))}
.cta-band .wrap{position:relative;z-index:2}
.cta-band .rule{margin:0 auto;color:var(--gold);opacity:.8}
.cta-band h2{font-size:clamp(30px,4.6vw,48px)}
.cta-band .channels{max-width:900px;margin-left:auto;margin-right:auto}
.cta-band .channel{background:rgba(255,255,255,.04);border-color:var(--line-d);color:#fff}
.cta-band .channel p{color:var(--muted-d)}
.contact-note{font-size:15px;color:var(--muted-d);margin-top:26px}
.contact-note a{color:var(--gold);display:inline-block;padding:10px 2px}

/* ============ contact page ============ */
.contact-grid{display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));margin-top:52px;align-items:start}
.contact-card{background:var(--panel);border:1px solid var(--line);padding:clamp(28px,4vw,42px)}
.contact-card h3{font-family:'Playfair Display',serif;font-size:22px}
.big-tel{display:inline-block;font-family:'Playfair Display',serif;font-size:clamp(24px,3.6vw,32px);color:var(--ink);margin-top:8px;letter-spacing:.02em;padding:4px 0}
.big-tel:hover{color:var(--gold)}
.contact-card p{font-size:14.5px;color:var(--muted);margin-top:10px}
.contact-card p a{display:inline-block;padding:11px 0}
form label{display:block;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600;margin:20px 0 7px}
form input,form textarea{width:100%;font:inherit;font-size:16px;padding:13px 15px;border:1px solid var(--line);border-radius:2px;background:#FDFCFA;color:var(--ink)}
form input:focus,form textarea:focus{outline:none;border-color:var(--gold)}
form .btn{margin-top:24px}
.captcha-row{margin-top:24px}
.captcha-note{margin:10px 0 0;font-size:13.5px;font-weight:600;color:#A33B25}
@media (max-width:420px){ .captcha-row .h-captcha{transform:scale(.88);transform-origin:left top;height:69px} }
.form-ok{display:none;text-align:center;padding:28px 8px}
.form-ok h3{font-family:'Playfair Display',serif;font-size:22px}
.form-ok p{font-size:14.5px;color:var(--muted);margin-top:8px}
/* The registered office is a legal address, not a place to visit.
   No map, no pin, and the address is labelled as what it is. */
.contact-card .reg{font-size:13px;line-height:1.75;color:var(--muted);padding-top:16px;margin-top:18px;border-top:1px solid var(--line)}

.sample-note{text-align:center;font-size:13.5px;color:var(--muted);margin-top:28px;font-style:italic}

footer{background:var(--black);border-top:1px solid var(--line-d);padding:44px 0 36px;font-size:13px;color:#8A8680}
.foot-in{display:grid;gap:18px}
.foot-top{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center;padding-bottom:20px;border-bottom:1px solid var(--line-d)}
.foot-in a{color:#B4B0A8}
.foot-in a:hover{color:#fff}
.foot-links{display:flex;gap:2px 10px;flex-wrap:wrap;align-items:center;margin:0 -8px}
.foot-links a{display:inline-block;padding:11px 8px}
.foot-legal{font-size:13px;line-height:1.7}

/* reveal on scroll */
body.js .rv{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
body.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){ body.js .rv{opacity:1;transform:none;transition:none} .g-item img{transition:none} }

@media (max-width:760px){ footer{padding-bottom:104px} }

@media (max-width:999px){
  .nav-links{position:absolute;top:100%;left:0;right:0;background:var(--black);flex-direction:column;align-items:flex-start;padding:20px clamp(18px,4vw,36px) 24px;display:none;border-bottom:1px solid var(--line-d);gap:18px}
  .nav-links.open{display:flex}
  .burger{display:block}
}

/* ============ channel icons & colours ============ */
.channel .ico{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;background:var(--paper);color:var(--ink)}
.channel .ico svg{width:26px;height:26px}
.channel .ico.gold{background:var(--gold);color:var(--black)}
.channel .ico.ink{background:var(--ink);color:#fff}
.channel .ico.stone{background:#6B6862;color:#fff}
.channel.wa{background:#25D366;border-color:#1DA851;color:var(--black)}
.channel.wa .ch-label{color:#06331A}
.channel.wa h3{color:var(--black)}
.channel.wa p{color:#0B3D22}
.channel.wa .ico{background:#fff;color:#0B8043}
.channel.wa:hover{background:#1DBF5C;border-color:#0B8043}
.cta-band .channel .ico{background:rgba(255,255,255,.1);color:#fff}
.cta-band .channel .ico.gold{background:var(--gold);color:var(--black)}
.cta-band .channel.wa{background:#25D366;border-color:#25D366}
.cta-band .channel.wa .ico{background:#fff;color:#0B8043}

/* footer instagram */
.foot-links .ig{display:inline-flex;align-items:center;gap:7px}
.foot-links .ig svg{width:16px;height:16px}

/* faq */
.faq{margin-top:44px}
.faq details{background:var(--panel);border:1px solid var(--line);margin-bottom:10px}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;font-family:'Playfair Display',serif;font-size:18.5px;font-weight:600}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:'Inter',sans-serif;color:var(--gold);font-size:22px;font-weight:600;flex:none;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 22px 20px;color:var(--muted);font-size:15.5px;max-width:640px}
