:root{
  --ink:#171714;
  --ink-soft:#68655f;
  --navy:#171816;
  --paper:#fbfaf7;
  --cream:#f2efe8;
  --white:#fff;
  --accent:#c8a96b;
  --accent-light:#e6d2a5;
  --accent-dark:#80683d;
  --line:rgba(24,23,20,.11);
  --line-strong:rgba(24,23,20,.18);
  --line-dark:rgba(255,255,255,.14);
  --serif:"Iowan Old Style","Baskerville","Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Arial,sans-serif;
  --shell:1200px;
  --radius-lg:24px;
  --radius-md:18px;
  --radius-sm:12px;
  --ease:cubic-bezier(.22,1,.36,1);
}

html{background:var(--paper);scroll-padding-top:86px}
body{background:var(--paper);font-family:var(--sans);letter-spacing:-.012em;color:var(--ink)}
::selection{background:rgba(200,169,107,.28);color:var(--ink)}
:focus-visible{outline:3px solid rgba(128,104,61,.34);outline-offset:4px}
.section-shell{width:min(calc(100% - 56px),var(--shell))}
.section--light{background:var(--paper)}
.section--tinted{background:var(--cream)}
.section--light,.section--tinted{padding-block:clamp(84px,9vw,136px)}

.section-kicker,.hero-kicker,.pc-eyebrow{color:var(--accent-dark);font-size:.69rem;letter-spacing:.155em;font-weight:700}
.section-kicker--inverse,.fit-section .section-kicker,.hero-kicker{color:#dfc58e}
.sec-head{max-width:830px;margin-bottom:clamp(42px,5vw,68px)}
.sec-head h2,.meeting-copy h2{font-family:var(--serif);font-weight:400;letter-spacing:-.052em;line-height:.98;text-wrap:balance}
.section-intro,.tours-desc,.faq-desc{font-size:1.05rem;line-height:1.72;color:var(--ink-soft)}

.btn-filled{min-height:50px;padding:13px 22px;border:1px solid var(--ink);border-radius:999px;color:#fff;background:var(--ink);font-weight:650;letter-spacing:-.01em;box-shadow:0 1px 2px rgba(0,0,0,.08);transition:transform .3s var(--ease),box-shadow .3s var(--ease),background .3s ease,border-color .3s ease}
.btn-filled:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.13);background:#000;border-color:#000}
.btn-filled:active{transform:translateY(0) scale(.985)}
.hero .btn-filled,.meeting-section .btn-filled,.site-footer .btn-filled{border-color:#e2c78f;color:#1a1916;background:#e2c78f}
.hero .btn-filled:hover,.meeting-section .btn-filled:hover,.site-footer .btn-filled:hover{background:#efd9aa;border-color:#efd9aa}
.btn-text{font-weight:600;border-bottom-color:rgba(255,255,255,.4);transition:opacity .2s ease}
.btn-text:hover{opacity:.72}

.nav{height:68px;background:linear-gradient(to bottom,rgba(10,10,9,.7),transparent);border-bottom-color:transparent}
.nav.elevated{background:rgba(251,250,247,.86);box-shadow:0 1px 0 rgba(24,23,20,.08);backdrop-filter:saturate(180%) blur(22px);-webkit-backdrop-filter:saturate(180%) blur(22px)}
.nav-inner{width:min(calc(100% - 56px),var(--shell));gap:22px}
.logo,.footer-logo,.mob-nav-logo{font-weight:650;letter-spacing:-.025em}
.nav-tabs a{font-weight:500;letter-spacing:-.01em;transition:opacity .2s ease,color .2s ease}
.nav-tabs a.active{opacity:1}
.nav-book-btn{min-height:38px;padding:9px 16px}
.currency-switch{border-color:rgba(128,104,61,.3);border-radius:999px;background:rgba(255,255,255,.06)}
.currency-btn{border-radius:999px;font-weight:650}
.currency-btn.active{color:#fff;background:var(--ink)}
.lang-trigger{border-radius:999px;transition:background .2s ease}
.lang-trigger:hover{background:rgba(255,255,255,.08)}
.nav.elevated .lang-trigger:hover{background:rgba(24,23,20,.05)}
.lang-dropdown{border-radius:14px;border-color:var(--line);box-shadow:0 20px 50px rgba(0,0,0,.12);overflow:hidden;padding:6px;background:rgba(255,255,255,.96)}
.lang-option{border-radius:9px}
.lang-option:hover,.lang-option.active{background:var(--cream)}

.hero{background:#11120f;min-height:100svh}
.hero-video{filter:saturate(.7) contrast(.96) brightness(.8)}
.hero-video-shade{background:linear-gradient(90deg,rgba(12,13,11,.93) 0%,rgba(12,13,11,.74) 48%,rgba(12,13,11,.22) 100%),linear-gradient(0deg,rgba(12,13,11,.59),transparent 48%)}
.hero-inner{grid-template-columns:minmax(0,810px) 1fr;padding-top:calc(var(--nav-height) + 72px)}
.hero h1{font-family:var(--serif);font-size:clamp(3.8rem,7vw,7.15rem);font-weight:400;letter-spacing:-.064em;line-height:.9;text-wrap:balance}
.hero-desc{max-width:600px;font-size:1.08rem;line-height:1.66;color:rgba(255,255,255,.79)}
.hero-ctas{margin-top:32px}
.hero-microcopy{color:rgba(255,255,255,.55)}
.hero-capabilities li{font-weight:600;letter-spacing:.12em;color:rgba(255,255,255,.58)}

.portfolio-grid{gap:clamp(72px,9vw,124px)}
.portfolio-card{gap:clamp(42px,6vw,78px)}
.portfolio-visual{border-radius:var(--radius-lg);background:#191a17;box-shadow:0 18px 50px rgba(31,28,21,.08);border:1px solid rgba(24,23,20,.07)}
.portfolio-visual img{transition:transform .7s var(--ease),filter .7s var(--ease)}
.portfolio-visual:hover img{transform:scale(1.018);filter:saturate(1.02)}
.portfolio-title-row{border-bottom-color:var(--line)}
.portfolio-category{color:var(--accent-dark);font-weight:700}
.portfolio-name,.portfolio-summary{font-family:var(--serif)}
.portfolio-name{letter-spacing:-.045em}
.portfolio-summary{font-size:1.34rem;line-height:1.47;color:#292823}
.portfolio-services{gap:7px}
.portfolio-services li{padding:7px 11px;background:rgba(255,255,255,.52);border-color:var(--line);border-radius:999px}
.portfolio-cta{transition:opacity .2s ease}
.portfolio-cta:hover{opacity:.7}

.fit-section,.meeting-section{background:#191a17}
.fit-grid{gap:18px;border-top:0}
.fit-card{min-height:300px;padding:31px!important;border:1px solid rgba(255,255,255,.11)!important;border-radius:22px;background:rgba(255,255,255,.035);transition:transform .35s var(--ease),background .35s ease,border-color .35s ease}
.fit-card:hover{transform:translateY(-3px);background:rgba(255,255,255,.052);border-color:rgba(255,255,255,.17)!important}
.fit-number{color:#dfc58e}
.fit-card h3{font-family:var(--serif);font-size:2.15rem}
.fit-text{color:rgba(255,255,255,.66)}

.pricing-packages{gap:28px}
.tours-row{gap:18px;border:0}
.pricing-card{padding:34px!important;border:1px solid var(--line)!important;border-radius:22px;background:rgba(255,255,255,.65);box-shadow:0 12px 40px rgba(35,30,20,.045);transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s ease}
.pricing-card:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(35,30,20,.07);border-color:var(--line-strong)!important}
.pc-name{font-family:var(--serif);font-size:2.55rem}
.pc-price{font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.15;letter-spacing:-.04em}
.pricing-currency{display:inline-flex;margin:0 0 24px}
.pricing-card{display:flex;flex-direction:column;align-items:flex-start}
.pc-cta.btn-filled{margin-top:auto;color:var(--white);padding:14px 20px}
.pc-timeline{margin-bottom:24px}
.pricing-note-list li:nth-child(n+4){display:list-item}
.pc-bullet{border-top-color:var(--line)}
.pricing-note{padding:34px;border-radius:22px;background:#20211e;box-shadow:0 18px 42px rgba(20,19,16,.08)}
.pricing-note-title{font-family:var(--serif)}

.faq-list{border-top-color:var(--line)}
.faq-item summary{padding:23px 0;transition:color .2s ease}
.faq-item summary:hover{color:var(--accent-dark)}
.faq-q{font-family:var(--serif);font-size:1.22rem}
.faq-icon{color:var(--accent-dark)}
.faq-a{line-height:1.72}

.meeting-section{position:relative;overflow:hidden}
.meeting-section:before{content:"";position:absolute;width:540px;height:540px;right:-220px;top:-270px;border-radius:50%;background:radial-gradient(circle,rgba(200,169,107,.14),transparent 68%);pointer-events:none}
.meeting-shell{position:relative}
.meeting-copy p:not(.section-kicker):not(.final-cta-trust){font-size:1rem;line-height:1.72}
.calendly-backdrop{background:rgba(10,10,9,.72);backdrop-filter:blur(14px)}
.calendly-dialog{border-radius:22px;box-shadow:0 30px 90px rgba(0,0,0,.38);border-color:rgba(255,255,255,.22)}
.calendly-dialog-head{background:rgba(255,255,255,.97)}
.calendly-dialog-head h2{font-family:var(--serif)}
.calendly-close{transition:transform .2s ease,background .2s ease}
.calendly-close:hover{transform:rotate(4deg);background:#ece8de}

.site-footer{background:#11120f}
.footer-main{padding-top:58px}
.footer-tagline{color:rgba(255,255,255,.56)}
.footer-nav-link,.footer-contact-link{transition:opacity .2s ease}
.footer-nav-link:hover,.footer-contact-link:hover{opacity:.7}

/* WhatsApp: brand-recognisable first, premium in finish. */





@media(max-width:1100px){
  .nav-inner{gap:16px}
  .nav-tabs{gap:22px}
  .portfolio-card{gap:42px}
  .pricing-packages{grid-template-columns:1fr}
  .pricing-note{min-height:auto}
}

@media(max-width:900px){
  .section-shell,.nav-inner,.hero-inner,.footer-main,.footer-bar{width:min(calc(100% - 40px),var(--shell))}
  .fit-grid{gap:12px}
  .fit-card{min-height:auto}
  .portfolio-visual{border-radius:18px}
  .pricing-card,.pricing-note{border-radius:18px}
  .meeting-shell--compact{gap:36px}
}

@media(max-width:767px){
  :root{--radius-lg:18px;--radius-md:16px}
  html{scroll-padding-top:74px}
  .section-shell,.nav-inner,.hero-inner,.footer-main,.footer-bar{width:min(calc(100% - 32px),var(--shell))}
  .section--light,.section--tinted{padding-block:72px}
  .sec-head{margin-bottom:38px}
  .sec-head h2,.meeting-copy h2{font-size:clamp(2.45rem,11vw,3.7rem);line-height:1}
  .section-intro,.tours-desc,.faq-desc{font-size:.98rem;line-height:1.68}
  .nav{height:60px}
  .nav.elevated{background:rgba(251,250,247,.92)}
  .burger{width:44px;height:44px}
  .mob-nav{width:min(390px,94vw);background:rgba(251,250,247,.985)}
  .mob-nav-body a{font-family:var(--serif);font-size:1.55rem;font-weight:400}
  .hero{min-height:max(100svh,640px)}
  .hero-inner{min-height:max(100svh,640px);padding-top:calc(var(--nav-height) + 44px);padding-bottom:24px}
  .hero-video{filter:saturate(.66) contrast(.96) brightness(.72)}
  .hero-video-shade{background:linear-gradient(180deg,rgba(12,13,11,.72) 0%,rgba(12,13,11,.55) 40%,rgba(12,13,11,.84) 100%)}
  .hero h1{font-size:clamp(3.1rem,14vw,4.8rem);line-height:.91;letter-spacing:-.058em}
  .hero-desc{margin-top:22px;font-size:1rem;line-height:1.62}
  .hero-ctas{gap:13px;margin-top:26px}
  .hero-cta-primary{width:100%}
  .hero-capabilities{grid-template-columns:repeat(2,1fr);gap:10px 0;padding-top:24px}
  .hero-capabilities li{border-right:0;font-size:.52rem}
  .portfolio-grid{gap:58px}
  .portfolio-card{gap:26px}
  .portfolio-visual{aspect-ratio:4/3;border-radius:16px}
  .portfolio-summary{font-size:1.18rem}
  .portfolio-services li{font-size:.66rem}
  .fit-grid,.tours-row{gap:12px}
  .fit-card,.pricing-card{padding:25px!important}
  .fit-card:hover,.pricing-card:hover{transform:none}
  .pricing-note{padding:25px}
  .faq-item summary{padding:20px 0}
  .faq-q{font-size:1.15rem}
  .meeting-section{padding-block:78px}
  .meeting-shell--compact{grid-template-columns:1fr;gap:30px}
  .meeting-popup-cta{width:100%}
  .footer-main{padding-top:46px}
  .footer-cta-wrap .btn-filled{width:100%}
  .calendly-dialog{border-radius:0}


}

@media(max-width:480px){
  .section-shell,.nav-inner,.hero-inner,.footer-main,.footer-bar{width:min(calc(100% - 28px),var(--shell))}
  .section--light,.section--tinted{padding-block:64px}
  .hero h1{font-size:clamp(2.85rem,13.2vw,4.15rem)}
  .hero-desc{font-size:.96rem}
  .portfolio-title-row{gap:12px}
  .portfolio-name{font-size:2rem}
  .portfolio-summary{font-size:1.12rem}
  .pricing-card,.pricing-note,.fit-card{padding:22px!important}
  .pc-name{font-size:2.25rem}


}

@media(hover:none){
  .btn-filled:hover,.portfolio-visual:hover img,.fit-card:hover,.pricing-card:hover,
}

@media(prefers-reduced-motion:reduce){
  .btn-filled,.portfolio-visual img,.fit-card,.pricing-card,
}

/* Clear website offer hierarchy and other website enquiries. */
.pc-standard{margin:20px 0 0;color:var(--ink-soft);font-size:.8rem}
.pc-promotion{margin:10px 0 0;color:var(--accent-dark);font-size:.8rem;font-weight:700}
.pc-promotion + .pc-price{margin-top:6px}
.promotion-terms{max-width:700px;margin:0 0 25px;color:var(--ink-soft);font-size:.85rem;line-height:1.6}
.pricing-currency{margin-bottom:12px}
.web-services-layout{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.web-services-layout .sec-head{margin-bottom:0}
.web-service-options{list-style:none;margin:0;padding:0}
.web-service-options li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 0;border-bottom:1px solid var(--line)}
.web-service-options li>span{font-family:var(--serif);font-size:1.8rem}
.web-service-options .btn-filled{font-size:.8rem;padding:13px 18px}
@media(max-width:48rem){.web-services-layout{grid-template-columns:1fr;gap:24px}.web-service-options li{flex-wrap:wrap}}

/* Full homepage previews: no cropping or image zoom at any breakpoint. */
.portfolio-card{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:40px}
.portfolio-card:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(0,1.65fr)}
.portfolio-visual{aspect-ratio:auto;border-radius:12px;background:#fff;align-self:start;box-shadow:0 16px 40px rgba(31,28,21,.1)}
.portfolio-visual img{display:block;width:100%;height:auto;object-fit:contain;transform:none;filter:none;transition:none}
.portfolio-visual:hover img{transform:none;filter:none}
.browser-bar{height:34px;padding:0 12px;display:flex;align-items:center;gap:12px;background:#e9e7e2;border-bottom:1px solid var(--line);color:#615e57;font:500 11px var(--sans)}
.browser-dots{display:flex;gap:4px}
.browser-dots i{width:6px;height:6px;border-radius:50%;background:#b9b6ae}
.browser-domain{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.portfolio-grid{gap:64px}
.portfolio-name{font-size:clamp(1.8rem,3vw,2.7rem)}
.portfolio-summary{font-family:var(--sans);font-size:1rem;line-height:1.6}
.portfolio-cta::after{content:none}
.fit-section{padding-block:60px}
.fit-section .sec-head{margin-bottom:28px}
.fit-card{min-height:0;padding:24px!important;background:transparent;border-radius:0;box-shadow:none}
.fit-number{margin-bottom:16px}
.hero-capabilities{display:none}
@media(max-width:70rem){.portfolio-card,.portfolio-card:nth-child(even){grid-template-columns:1fr;gap:24px}}
@media(max-width:48rem){.browser-bar{height:28px;font-size:10px}.portfolio-grid{gap:44px}.portfolio-visual{border-radius:9px}.fit-section{padding-block:44px}}

/* One enquiry for bespoke work, without a second service catalogue. */
#other-services{padding-block:48px}
.web-services-layout{grid-template-columns:minmax(0,1fr) auto;gap:40px;border-top:1px solid var(--line);padding-top:36px}
.web-services-layout .sec-head{max-width:720px}
.web-services-layout h2{font-size:clamp(2rem,4vw,3rem)}
.web-service-cta{justify-self:start}
@media(max-width:48rem){#other-services{padding-block:32px}.web-services-layout{grid-template-columns:1fr;gap:18px}}

/* Restrained typography and surfaces: one family, explicit hierarchy. */
:root{--serif:var(--sans);--ink-soft:#595750;--accent-dark:#705a31}
body{font-size:1rem;line-height:1.6;letter-spacing:0}
h1,h2,h3{overflow-wrap:break-word}
.hero h1{font-family:var(--sans);font-size:clamp(2.5rem,5.5vw,4.5rem);font-weight:600;line-height:1.08;letter-spacing:-.045em;max-width:850px}
.sec-head h2,.meeting-copy h2{font-family:var(--sans);font-size:clamp(2rem,3.5vw,3rem);font-weight:600;line-height:1.15;letter-spacing:-.035em}
.portfolio-name,.pc-name{font-family:var(--sans);font-size:clamp(1.5rem,2.3vw,2rem);font-weight:600;line-height:1.2;letter-spacing:-.025em}
.hero-desc{font-size:1.125rem;line-height:1.65;max-width:620px;color:#e1e1dc}
.section-intro,.tours-desc,.faq-desc,.portfolio-summary,.pc-fit-label,.pc-bullet,.faq-a{font-size:1rem;line-height:1.65}
.section-kicker,.hero-kicker,.pc-eyebrow,.portfolio-category{font-size:.8125rem;line-height:1.5;letter-spacing:.08em}
.hero-microcopy,.final-cta-trust,.pc-standard,.pc-promotion,.pc-timeline,.promotion-terms{font-size:.875rem;line-height:1.6}
.hero-microcopy,.final-cta-trust{color:#c4c4be}
.pc-price{font-size:clamp(2rem,3vw,2.5rem);line-height:1.2;letter-spacing:-.035em}
.faq-q{font-family:var(--sans);font-size:1.0625rem;line-height:1.5;font-weight:600;letter-spacing:-.01em}
.nav-tabs a,.nav-book-btn,.lang-trigger,.currency-btn,.mob-lang-btn,.btn-filled,.btn-text,.portfolio-cta{font-size:.9375rem;line-height:1.4}
.btn-filled{border-radius:8px;box-shadow:none;min-height:48px;font-weight:600}
.btn-filled:hover{box-shadow:none;transform:none}
.nav-book-btn{min-height:44px}
.currency-btn,.lang-trigger,.mob-lang-btn{min-height:44px;min-width:44px}
.mob-nav-body a{font-family:var(--sans);font-size:1.25rem;font-weight:500}
.portfolio-cta,.footer-nav-link,.footer-contact-link,.footer-legal a{display:inline-flex;align-items:center;min-height:44px}
.hero,.hero-inner{min-height:min(780px,90svh)}
.hero-inner{padding-top:calc(var(--nav-height) + 80px);padding-bottom:80px;grid-template-columns:minmax(0,850px) 1fr}
.section--light,.section--tinted{padding-block:clamp(56px,6vw,88px)}
.sec-head{margin-bottom:36px}
.pricing-packages{grid-template-columns:1fr;gap:28px}
.pricing-card{border-radius:12px;background:#fff;box-shadow:none;transition:border-color .2s ease}
.pricing-card:hover{transform:none;box-shadow:none}
.pc-bullets{width:100%}
.pricing-note{padding:24px!important;border-radius:0;background:transparent;color:var(--ink);box-shadow:none;border-top:1px solid var(--line)}
.pricing-note-title{font-family:var(--sans);font-size:1.125rem;font-weight:600;letter-spacing:0;margin-bottom:12px}
.pricing-note-list{display:grid;grid-template-columns:1fr 1fr;gap:8px 28px}
.pricing-note-list li{color:var(--ink-soft);font-size:.9375rem;line-height:1.6;border:0;padding:0}
.meeting-section:before{content:none}
.footer-main{grid-template-columns:1.2fr 1fr;gap:32px}
.footer-cta-wrap{display:none}
.footer-tagline,.footer-nav-link,.footer-contact-link,.footer-bar{font-size:.875rem;line-height:1.6;color:#c4c4be}
.footer-legal{flex-wrap:wrap}
.calendly-dialog-head h2{font-family:var(--sans);font-size:1.125rem;line-height:1.3;font-weight:600}
.browser-bar{font-size:.75rem;min-height:32px;height:auto;padding-block:6px}
.nav.elevated{color:var(--ink);background:#fbfaf7}
@media(max-width:48rem){
 .hero,.hero-inner{min-height:0}
 .hero-inner{padding-top:calc(var(--nav-height) + 64px);padding-bottom:64px}
 .hero-ctas{width:100%}
 .hero-desc{font-size:1rem}
 .pricing-note-list,.footer-main{grid-template-columns:1fr}
 .pricing-card{padding:24px!important}
 .pc-cta.btn-filled{width:100%}
 .meeting-section{padding-block:56px}
 .web-services-layout h2{font-size:2rem}
 .faq-a{margin-right:0}
 .footer-bar{gap:12px}
}
.footer-main>*{min-width:0;overflow-wrap:anywhere}
.footer-main nav[aria-label="Languages"]{display:flex;flex-wrap:wrap;gap:12px}
.footer-main nav[aria-label="Languages"] a{font-size:.875rem;min-height:44px;display:inline-flex;align-items:center}
.footer-contact{flex-wrap:wrap}
.nav,.nav.elevated{color:var(--ink);background:var(--paper);border-bottom:1px solid var(--line);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;transition:none}

/* Mobile-first full viewport hero and distinct section rhythm. */
.hero,.hero-inner{min-height:100svh;min-height:100dvh}
.hero{isolation:isolate}
.hero-video{width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
.hero-inner{display:flex;align-items:center;padding-top:calc(var(--nav-height) + 28px);padding-bottom:36px}
.hero-copy{width:100%;max-width:750px}
.hero h1{font-size:clamp(2.35rem,8vw,4.5rem);line-height:1.08}
.hero-ctas{flex-wrap:wrap}
#portfolio{background:#f4f2ed}
#pricing{background:#e9edf0}
#other-services{background:#fff}
#faq{background:#f5f3ef}
#meeting{background:#1a1d1b}
@media(min-width:768px){.hero-inner{padding-top:calc(var(--nav-height) + 44px);padding-bottom:48px}}
@media(max-width:767px){
 .hero,.hero-inner{min-height:100svh;min-height:100dvh}
 .hero-inner{padding-top:calc(var(--nav-height) + 24px);padding-bottom:24px}
 .hero h1{font-size:clamp(2.2rem,10.5vw,3.6rem)}
 .hero-desc{font-size:1rem;line-height:1.5;margin-top:16px}
 .hero-ctas{gap:10px;margin-top:20px}
 .hero-cta-primary{width:auto;max-width:100%}
 .hero-video-shade{background:linear-gradient(90deg,rgba(5,6,9,.83),rgba(5,6,9,.46)),linear-gradient(0deg,rgba(5,6,9,.5),transparent 55%)}
}
@media(max-width:380px){.hero h1{font-size:clamp(2rem,10vw,2.5rem)}.hero-kicker{margin-bottom:10px}.hero-microcopy{margin-top:9px}}
@media(prefers-reduced-motion:reduce){.hero-video{display:none}.hero{background:#151915 url('/site/images/hero-poster.webp') center/cover no-repeat}}

/* Conversion and legibility refinements — mobile first. */
:root{--action:#c8a96b;--action-hover:#e0c58d}
.hero-video{filter:saturate(.85) contrast(1.02) brightness(.92)}
.hero-video-shade{background:linear-gradient(90deg,rgba(5,7,9,.8) 0%,rgba(5,7,9,.54) 52%,rgba(5,7,9,.22) 100%),linear-gradient(0deg,rgba(5,7,9,.4),transparent 65%)}
.hero .btn-filled,.meeting-popup-cta.btn-filled{background:var(--action);border-color:var(--action);color:#171714}
.hero .btn-filled:hover,.meeting-popup-cta.btn-filled:hover{background:var(--action-hover);border-color:var(--action-hover)}
.hero .btn-text{color:#fff;text-decoration:underline;text-decoration-color:rgba(255,255,255,.45);text-underline-offset:5px}
.hero h1{max-width:760px;text-wrap:balance}
.hero-desc{max-width:570px}
.portfolio-grid{gap:clamp(40px,6vw,76px)}
.portfolio-card{align-items:center}
.portfolio-body{max-width:440px}
.portfolio-summary{max-width:40ch}
.pricing-card{border:1px solid rgba(24,23,20,.12)}
.pc-price{font-size:clamp(2.25rem,4vw,3rem);font-weight:750;letter-spacing:-.045em}
.pc-standard{opacity:.75}
.pc-bullets{margin-bottom:24px}
.pc-bullet{padding-block:11px}
.pc-cta.btn-filled{min-height:48px}
.faq-item summary{min-height:56px;cursor:pointer}
.faq-a{max-width:68ch}
#other-services .web-service-cta{white-space:normal;text-align:center}
@media(max-width:767px){
 .hero-video{object-position:62% center}
 .hero-video-shade{background:linear-gradient(90deg,rgba(5,7,9,.78),rgba(5,7,9,.46)),linear-gradient(0deg,rgba(5,7,9,.46),transparent 65%)}
 .hero-inner{padding-top:calc(var(--nav-height) + 20px);padding-bottom:28px}
 .hero h1{font-size:clamp(2.2rem,10vw,3.4rem);max-width:13ch}
 .hero-desc{max-width:34ch}
 .hero-ctas{align-items:stretch;flex-direction:column;gap:8px}
 .hero-cta-primary{width:100%;text-align:center}
 .hero-cta-secondary{justify-content:center}
 .section-shell,.nav-inner,.hero-inner,.footer-main,.footer-bar{width:min(calc(100% - 36px),var(--shell))}
 .section--light,.section--tinted{padding-block:clamp(52px,11vw,72px)}
 .sec-head{margin-bottom:26px}
 .portfolio-grid{gap:42px}
 .portfolio-card,.portfolio-card:nth-child(even){display:flex;flex-direction:column;gap:18px;align-items:stretch}
 .portfolio-card:nth-child(even) .portfolio-visual{order:0}
 .portfolio-body{max-width:none}
 .portfolio-summary{max-width:none}
 .pricing-card{padding:24px!important}
 .pc-price{font-size:2.4rem}
 .pc-cta.btn-filled{width:100%}
 .web-services-layout{gap:18px}
 .web-service-cta{width:100%}
 .faq-item summary{padding-block:16px}
 .meeting-popup-cta{width:100%}
}
@media(max-width:360px){.hero h1{font-size:2.05rem}.hero-desc{font-size:.94rem}.hero-kicker{font-size:.7rem}}

/* Hide empty copy rather than leaving redundant visual gaps. */
.section-intro:empty,.tours-desc:empty,.faq-desc:empty,.footer-tagline:empty,.hero-microcopy:empty,.final-cta-trust:empty,.pc-eyebrow:empty{display:none}
