/* ============================================================
   THE WEDDING DRAMA — Redesign
   Style: Motion-Driven × Exaggerated Minimalism (dark editorial)
   Palette: warm-black + warm-white + single champagne/brass accent
   Type: Playfair Display (display) · Inter (UI) · JetBrains Mono (kicker)
   ============================================================ */

:root{
  --bg:#0B0A08;
  --bg-2:#100E0B;
  --elev:#16130F;
  --elev-2:#1E1A15;
  --fg:#F6F1E8;
  --fg-soft:rgba(246,241,232,0.72);
  --fg-mute:rgba(246,241,232,0.46);
  --fg-faint:rgba(246,241,232,0.28);
  --line:rgba(246,241,232,0.12);
  --line-2:rgba(246,241,232,0.20);
  --accent:#CBA56B;
  --accent-2:#E4C68C;
  --accent-deep:#8F6E3E;
  --shadow:0 24px 60px -24px rgba(0,0,0,0.7);
  --ease:cubic-bezier(0.16,1,0.3,1);
  --dur:.42s;
  --maxw:1280px;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  background:var(--bg);
  color:var(--fg);
  font-family:'Inter',system-ui,sans-serif;
  font-weight:400;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  /* film-grain texture */
  position:relative;
}
body::before{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");
  mix-blend-mode:screen;
}
body>*{position:relative;z-index:1;}

.serif{font-family:'Playfair Display',Georgia,serif;font-weight:500;}
.mono{
  font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:11px;letter-spacing:.28em;text-transform:uppercase;
  color:var(--accent);font-weight:500;
}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;height:auto;}
button{font-family:inherit;cursor:pointer;}
::selection{background:var(--accent);color:#0B0A08;}

.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 clamp(20px,5vw,72px);}

/* ---------- Kicker / eyebrow ---------- */
.kicker{display:inline-flex;align-items:center;gap:12px;}
.kicker::before{content:"";width:34px;height:1px;background:var(--accent);display:inline-block;}

/* ---------- Type scale (exaggerated) ---------- */
.display{
  font-family:'Playfair Display',serif;font-weight:500;
  font-size:clamp(2.9rem,8.5vw,8.6rem);
  line-height:.96;letter-spacing:-0.02em;
}
.h-section{
  font-family:'Playfair Display',serif;font-weight:500;
  font-size:clamp(2rem,5vw,4rem);line-height:1.02;letter-spacing:-0.015em;
}
.lede{font-size:clamp(1.05rem,1.5vw,1.35rem);color:var(--fg-soft);line-height:1.55;max-width:60ch;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:15px 30px;border-radius:100px;font-size:.86rem;font-weight:500;
  letter-spacing:.02em;transition:all var(--dur) var(--ease);cursor:pointer;
  border:1px solid transparent;white-space:nowrap;
}
.btn svg{width:16px;height:16px;transition:transform var(--dur) var(--ease);}
.btn-primary{background:var(--accent);color:#0B0A08;}
.btn-primary:hover{background:var(--accent-2);transform:translateY(-2px);box-shadow:0 12px 30px -10px rgba(203,165,107,.55);}
.btn-primary:hover svg{transform:translateX(4px);}
.btn-ghost{border-color:var(--line-2);color:var(--fg);}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent-2);transform:translateY(-2px);}
.btn-ghost:hover svg{transform:translateX(4px);}

/* ---------- Nav ---------- */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:80;
  transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),backdrop-filter var(--dur);
  border-bottom:1px solid transparent;
}
.nav.scrolled{
  background:rgba(11,10,8,0.72);
  backdrop-filter:blur(18px) saturate(1.4);
  -webkit-backdrop-filter:blur(18px) saturate(1.4);
  border-bottom:1px solid var(--line);
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:76px;}
.brand{font-family:'Playfair Display',serif;font-weight:500;font-size:1.22rem;letter-spacing:.01em;display:flex;align-items:center;gap:10px;}
.brand .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent);}
.nav-links{display:flex;align-items:center;gap:38px;}
.nav-links a{font-size:.82rem;letter-spacing:.04em;color:var(--fg-soft);transition:color var(--dur) var(--ease);position:relative;}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-6px;height:1px;width:0;background:var(--accent);transition:width var(--dur) var(--ease);}
.nav-links a:hover,.nav-links a.active{color:var(--fg);}
.nav-links a:hover::after,.nav-links a.active::after{width:100%;}
.nav-cta{display:flex;align-items:center;gap:18px;}
.burger{display:none;background:none;border:none;color:var(--fg);width:30px;height:30px;}
.burger svg{width:26px;height:26px;}

/* mobile drawer */
.drawer{position:fixed;inset:0;z-index:90;background:var(--bg);opacity:0;visibility:hidden;transition:opacity .4s var(--ease),visibility .4s;display:flex;flex-direction:column;justify-content:center;padding:0 32px;}
.drawer.open{opacity:1;visibility:visible;}
.drawer a{font-family:'Playfair Display',serif;font-size:2.4rem;padding:12px 0;color:var(--fg-soft);transition:color .3s;}
.drawer a:hover{color:var(--accent-2);}
.drawer-close{position:absolute;top:24px;right:24px;background:none;border:none;color:var(--fg);}
.drawer-close svg{width:30px;height:30px;}

/* ---------- Reveal animation ---------- */
[data-reveal]{opacity:0;transform:translateY(38px);transition:opacity .9s var(--ease),transform .9s var(--ease);}
[data-reveal].in{opacity:1;transform:none;}
[data-reveal][data-delay="1"]{transition-delay:.08s;}
[data-reveal][data-delay="2"]{transition-delay:.16s;}
[data-reveal][data-delay="3"]{transition-delay:.24s;}
[data-reveal][data-delay="4"]{transition-delay:.32s;}
[data-reveal][data-delay="5"]{transition-delay:.4s;}

/* ---------- Image placeholder (cinematic) ---------- */
.ph{
  position:relative;overflow:hidden;border-radius:4px;
  background:
    radial-gradient(120% 90% at 20% 0%, rgba(203,165,107,.10), transparent 55%),
    linear-gradient(155deg,#211C15 0%,#14110D 60%,#0E0B08 100%);
  display:flex;align-items:flex-end;
}
.ph::before{ /* subtle scanlines */
  content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 3px);
  opacity:.5;
}
.ph .ph-label{
  position:absolute;z-index:2;left:0;bottom:0;margin:16px;font-family:'JetBrains Mono',monospace;
  font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-mute);
}
.ph .ph-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;color:rgba(246,241,232,.14);}
.ph .ph-icon svg{width:44px;height:44px;}

/* image hover-zoom container */
.zoom{overflow:hidden;}
.zoom .ph,.zoom img{transition:transform .7s var(--ease);}
.zoom:hover .ph,.zoom:hover img{transform:scale(1.05);}

/* ---------- Sections ---------- */
section{padding:clamp(64px,10vw,140px) 0;}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;flex-wrap:wrap;margin-bottom:clamp(32px,5vw,64px);}
.section-head .txt{max-width:64ch;}
.section-head .h-section{margin-top:18px;}
.link-arrow{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;letter-spacing:.04em;color:var(--fg-soft);border-bottom:1px solid var(--line-2);padding-bottom:4px;transition:all var(--dur) var(--ease);white-space:nowrap;}
.link-arrow:hover{color:var(--accent-2);border-color:var(--accent);gap:14px;}

/* ---------- Footer ---------- */
.footer{border-top:1px solid var(--line);padding-top:clamp(56px,8vw,96px);}
.footer-cta{text-align:center;padding-bottom:clamp(56px,8vw,110px);}
.footer-cta .display{margin:22px 0 34px;}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px;padding-bottom:56px;border-top:1px solid var(--line);padding-top:64px;}
.footer-grid h4{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-faint);margin-bottom:20px;}
.footer-grid a,.footer-grid p{display:block;color:var(--fg-soft);font-size:.92rem;padding:5px 0;transition:color var(--dur);}
.footer-grid a:hover{color:var(--accent-2);}
.footer-about .brand{font-size:1.5rem;margin-bottom:16px;}
.footer-about p{color:var(--fg-mute);max-width:34ch;}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:26px 0 40px;border-top:1px solid var(--line);font-size:.8rem;color:var(--fg-faint);letter-spacing:.03em;}

/* ---------- Utility grids ---------- */
.grid{display:grid;gap:clamp(14px,2vw,26px);}
.g-3{grid-template-columns:repeat(3,1fr);}
.g-2{grid-template-columns:repeat(2,1fr);}

/* ---------- Chips / filters ---------- */
.chips{display:flex;flex-wrap:wrap;gap:10px;}
.chip{padding:9px 18px;border-radius:100px;border:1px solid var(--line-2);font-size:.8rem;letter-spacing:.02em;color:var(--fg-soft);background:transparent;transition:all var(--dur) var(--ease);}
.chip:hover{border-color:var(--accent);color:var(--fg);}
.chip.active{background:var(--accent);border-color:var(--accent);color:#0B0A08;font-weight:500;}

/* ---------- Cards ---------- */
.card{border:1px solid var(--line);border-radius:8px;background:var(--elev);overflow:hidden;transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease);}
.card:hover{border-color:var(--line-2);transform:translateY(-4px);}

/* ---------- Responsive ---------- */
@media(max-width:960px){
  .g-3{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .footer-about{grid-column:1/-1;}
}
@media(max-width:720px){
  .nav-links{display:none;}
  .nav-cta .btn{display:none;}
  .burger{display:inline-flex;}
  .g-3,.g-2{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .section-head{flex-direction:column;align-items:flex-start;}
}

@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
  [data-reveal]{opacity:1;transform:none;}
}


/* ---------- SEO location pages ---------- */
.city-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,26px);}
.city-card{display:block;border:1px solid var(--line);background:var(--elev);border-radius:8px;padding:clamp(22px,3vw,34px);transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease);min-height:180px;}
.city-card:hover{border-color:var(--accent);transform:translateY(-4px);}
.city-card h3{font-family:'Playfair Display',serif;font-size:clamp(1.7rem,3vw,2.8rem);line-height:1.05;margin:16px 0 12px;}
.city-card p{color:var(--fg-soft);font-size:.94rem;}
.content-split{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,70px);align-items:start;}
.copy-block h2{font-family:'Playfair Display',serif;font-size:clamp(2rem,4vw,3.6rem);line-height:1.05;margin:0 0 18px;}
.copy-block h3{font-family:'Playfair Display',serif;font-size:clamp(1.35rem,2.5vw,2rem);line-height:1.15;margin:34px 0 12px;}
.copy-block p,.copy-block li{color:var(--fg-soft);font-size:1rem;line-height:1.75;}
.copy-block ul{margin:14px 0 0 20px;}
.service-list{display:grid;gap:12px;margin-top:20px;}
.service-list li{border:1px solid var(--line);background:var(--elev);border-radius:8px;padding:14px 16px;list-style:none;margin:0;}
.local-pill-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;}
.local-pill{border:1px solid var(--line-2);border-radius:999px;padding:8px 14px;color:var(--fg-soft);font-size:.86rem;}
.seo-note{border:1px solid var(--line);background:linear-gradient(160deg,var(--elev),var(--bg-2));border-radius:10px;padding:clamp(20px,3vw,34px);position:sticky;top:100px;}
.seo-note h3{font-family:'Playfair Display',serif;font-size:1.5rem;margin-bottom:12px;}
.seo-note p{color:var(--fg-soft);font-size:.95rem;}
.seo-note a{margin-top:18px;}
.form-note{font-size:.78rem;color:var(--fg-mute);margin:4px 0 18px;line-height:1.55;}
@media(min-width:961px){.footer-grid{grid-template-columns:1.35fr 1fr 1fr 1.25fr;}}
@media(max-width:960px){.city-grid{grid-template-columns:repeat(2,1fr);}.content-split{grid-template-columns:1fr;}.seo-note{position:relative;top:auto;}}
@media(max-width:720px){.city-grid{grid-template-columns:1fr;}}


/* ---------- SEO implementation additions ---------- */
.generated-media{display:block;width:100%;height:100%;object-fit:cover;border-radius:4px;background:var(--bg-2);}
.media-frame{position:relative;overflow:hidden;border-radius:4px;border:1px solid var(--line);background:var(--elev);}
.media-frame figcaption{font-size:.78rem;color:var(--fg-mute);padding:10px 2px 0;line-height:1.45;}
.answer-block{border-left:3px solid var(--accent);background:rgba(203,165,107,.07);padding:18px 22px;margin:24px 0 30px;color:var(--fg-soft);font-size:1rem;line-height:1.75;}
.byline{font-family:'JetBrains Mono',monospace;font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-mute);margin:18px 0 30px;}
.author-box{border:1px solid var(--line);background:var(--elev);border-radius:10px;padding:22px;margin-top:46px;color:var(--fg-soft);}
.author-box strong{color:var(--fg);display:block;margin-bottom:8px;}
.float-enquiry{position:fixed;right:20px;bottom:20px;z-index:999;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--accent);color:#0B0A08;padding:14px 18px;font-family:'JetBrains Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:600;box-shadow:0 16px 40px rgba(0,0,0,.35);transition:transform .25s var(--ease),background .25s var(--ease);}
.float-enquiry:hover{transform:translateY(-3px);background:var(--accent-2);}
.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,26px);}
.package-card{border:1px solid var(--line);background:var(--elev);border-radius:10px;padding:clamp(22px,3vw,34px);}
.package-card h3{font-family:'Playfair Display',serif;font-size:1.8rem;margin-bottom:12px;}
.comparison-table{width:100%;border-collapse:collapse;margin:20px 0 32px;color:var(--fg-soft);}
.comparison-table th,.comparison-table td{border:1px solid var(--line);padding:14px;text-align:left;vertical-align:top;}
.comparison-table th{color:var(--fg);background:var(--elev);}
.video-embed-template{position:relative;border-radius:4px;overflow:hidden;background:var(--elev);border:1px solid var(--line);}
.video-embed-template img{display:block;width:100%;height:100%;object-fit:cover;}
.video-note{position:absolute;left:12px;right:12px;bottom:12px;z-index:3;padding:10px 12px;border-radius:4px;background:rgba(11,10,8,.78);color:var(--fg-soft);font-size:.78rem;}
.asset-warning{border:1px solid rgba(203,165,107,.45);background:rgba(203,165,107,.08);border-radius:10px;padding:18px 20px;color:var(--fg-soft);margin:24px 0;}
.blog-body{max-width:860px;margin:0 auto;}
.blog-body h2{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,3vw,3rem);line-height:1.1;margin:42px 0 14px;}
.blog-body h3{font-family:'Playfair Display',serif;font-size:clamp(1.25rem,2vw,1.8rem);margin:28px 0 10px;}
.blog-body p,.blog-body li{color:var(--fg-soft);font-size:1rem;line-height:1.85;}
.blog-body ul{margin:14px 0 0 22px;}
.related-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px;}
@media(max-width:960px){.package-grid{grid-template-columns:1fr;}.comparison-table{font-size:.9rem;}}


/* V3 SEO fixes */

.media-figure{margin:0;position:relative;}
.media-figure>img{width:100%;}
.media-caption{font-size:.78rem;line-height:1.45;color:var(--fg-mute);margin-top:8px;}
.playwrap .media-caption{position:absolute;left:14px;right:14px;bottom:14px;z-index:4;margin:0;padding:8px 10px;border:1px solid rgba(246,241,232,.16);background:rgba(11,10,8,.58);backdrop-filter:blur(8px);border-radius:999px;color:var(--fg-soft);}
.depth-block,.service-depth,.city-proof-block,.video-readiness,.schema-note{margin-top:clamp(32px,5vw,64px);padding:clamp(22px,4vw,42px);border:1px solid var(--line);background:rgba(246,241,232,.035);border-radius:18px;}
.depth-block h2,.service-depth h2,.city-proof-block h2,.video-readiness h2,.schema-note h2{font-family:'Playfair Display',serif;font-size:clamp(1.5rem,3vw,2.4rem);line-height:1.08;margin-bottom:16px;}
.depth-block h3,.service-depth h3,.city-proof-block h3{font-family:'Playfair Display',serif;font-size:1.25rem;margin:22px 0 8px;color:var(--accent-2);}
.depth-block p,.service-depth p,.city-proof-block p,.schema-note p{color:var(--fg-soft);margin:0 0 14px;}
.depth-block ul,.service-depth ul,.city-proof-block ul{padding-left:20px;color:var(--fg-soft);display:grid;gap:8px;margin-top:10px;}
.video-embed-placeholder{display:block;border:1px dashed rgba(203,165,107,.5);border-radius:14px;padding:18px;margin-top:20px;color:var(--fg-soft);background:rgba(203,165,107,.06);}
.float-enquiry.float-wa-ready{background:#25D366;color:#fff;}

.implementation-depth{margin-top:clamp(28px,4vw,52px);padding:clamp(22px,4vw,40px);border:1px solid var(--line);border-radius:18px;background:rgba(246,241,232,.028)}.implementation-depth h2{font-family:'Playfair Display',serif;font-size:clamp(1.45rem,3vw,2.25rem);line-height:1.1;margin-bottom:14px}.implementation-depth p{color:var(--fg-soft);margin-bottom:14px}.implementation-depth ul{padding-left:20px;color:var(--fg-soft);display:grid;gap:8px}


/* WordPress plugin embed placeholders */
.wp-plugin-embed-section{padding:clamp(56px,8vw,104px) 0;border-top:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.01));}
.wp-shortcode-placeholder{border:1px dashed rgba(203,165,107,.45);background:rgba(203,165,107,.07);border-radius:12px;padding:clamp(22px,4vw,38px);max-width:920px;color:var(--muted);}
.wp-shortcode-placeholder code{display:inline-block;margin:10px 0 12px;padding:10px 14px;border-radius:8px;background:rgba(0,0,0,.28);color:var(--accent-2);font-family:var(--mono);font-size:14px;}
.wp-shortcode-placeholder p{max-width:780px;line-height:1.75;}


/* Critical SEO launch additions */
.breadcrumbs{padding:10px 0;border-bottom:1px solid var(--line);background:rgba(11,10,8,.78);backdrop-filter:blur(14px);font-size:13px;color:var(--muted)}
.breadcrumbs a{color:var(--muted);text-decoration:none}.breadcrumbs a:hover{color:var(--accent)}.breadcrumbs span{margin:0 7px;color:rgba(255,255,255,.35)}
.journal-tools{display:grid;grid-template-columns:1fr;gap:14px;margin-top:24px;max-width:720px}.journal-search{width:100%;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--text);border-radius:999px;padding:14px 18px;font:inherit;outline:none}.journal-search:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(203,165,107,.12)}
.quick-links-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:24px}.quick-link-card{border:1px solid var(--line);background:rgba(255,255,255,.035);padding:20px;border-radius:10px;text-decoration:none;color:var(--text)}.quick-link-card:hover{border-color:rgba(203,165,107,.55);transform:translateY(-2px)}
.plugin-ready-box,.launch-note-box{border:1px dashed rgba(203,165,107,.5);background:rgba(203,165,107,.06);padding:22px;border-radius:10px;margin-top:24px}.plugin-shortcode{font-family:var(--mono);font-size:13px;padding:12px;border:1px solid var(--line);background:rgba(0,0,0,.18);border-radius:8px;display:inline-block;margin-top:10px}
.footer .social-links a{display:inline-block;margin-right:12px}
.float-enquiry.whatsapp{background:#25D366;color:#fff}.float-enquiry.whatsapp:hover{filter:brightness(1.08)}

/* ============================================================
   COLOR SCHEME UPDATE — Light Editorial Gold + Slate System
   Based on client reference screenshot.

   Goals:
   - Uniform warm-white website background
   - White sticky navigation that stays readable while scrolling
   - Slate/charcoal cards with ivory text
   - Mustard-gold brand/accent system
   - High contrast text states across sections, cards, forms, footer
   ============================================================ */
:root{
  --bg:#F7F7F5;
  --bg-2:#FFFFFF;
  --elev:#5F6468;
  --elev-2:#53585C;
  --fg:#34383D;
  --fg-soft:#54595F;
  --fg-mute:#73787E;
  --fg-faint:#9A9FA5;
  --text:#34383D;
  --muted:#73787E;
  --line:rgba(52,56,61,0.14);
  --line-2:rgba(52,56,61,0.24);
  --accent:#D6A100;
  --accent-2:#F1C75B;
  --accent-deep:#9A7000;
  --card-bg:#5F6468;
  --card-bg-2:#565B60;
  --card-text:#F7F3EA;
  --card-soft:#E6EAF0;
  --card-muted:#D2D8E0;
  --cream:#FFF8E8;
  --nav-bg:rgba(255,255,255,0.96);
  --nav-border:rgba(42,47,52,0.14);
  --shadow:0 18px 48px -28px rgba(32,36,40,0.26);
}

html,body{background:var(--bg);color:var(--fg);}
body::before{opacity:.32;mix-blend-mode:multiply;}
::selection{background:var(--accent);color:#161616;}

/* Always-readable fixed header */
.nav,
.nav.scrolled{
  background:var(--nav-bg)!important;
  border-bottom:1px solid var(--nav-border)!important;
  backdrop-filter:blur(18px) saturate(1.25);
  -webkit-backdrop-filter:blur(18px) saturate(1.25);
  box-shadow:0 6px 22px rgba(32,36,40,.08);
}
.nav-inner{height:70px;}
.brand{color:var(--accent-deep);font-weight:600;}
.brand .dot{background:var(--accent);box-shadow:none;}
.nav-links a{color:#45494E;}
.nav-links a:hover,.nav-links a.active{color:var(--accent-deep);}
.nav-links a.active{
  background:var(--cream);
  border-radius:6px;
  padding:9px 14px;
  box-shadow:inset 0 0 0 1px rgba(214,161,0,.08);
}
.nav-links a::after{display:none;}
.burger,.drawer-close{color:var(--fg);}
.drawer{background:rgba(255,255,255,.98);}
.drawer a{color:var(--fg-soft);}
.drawer a:hover{color:var(--accent-deep);}

/* Global type/readability */
.display,.h-section,.serif,.copy-block h2,.copy-block h3,.package-card h3{color:var(--fg);}
.lede,.copy-block p,.copy-block li{color:var(--fg-soft);}
.mono,.kicker,.kicker span{color:var(--accent-deep);}
.kicker::before{background:var(--accent);}
.link-arrow{color:var(--fg-soft);border-color:var(--line-2);}
.link-arrow:hover{color:var(--accent-deep);border-color:var(--accent);}

/* Buttons */
.btn-primary{background:var(--accent);color:#1E1E1E;box-shadow:0 10px 26px -18px rgba(32,36,40,.25);}
.btn-primary:hover{background:var(--accent-2);box-shadow:0 12px 30px -14px rgba(154,112,0,.38);}
.btn-ghost{border-color:rgba(52,56,61,.22);color:var(--fg);background:rgba(255,255,255,.28);}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent-deep);background:var(--cream);}

/* Dark slate cards from reference screenshot */
.card,
.city-card,
.service-list li,
.package-card,
.author-box,
.seo-note,
.depth-block,
.service-depth,
.city-proof-block,
.video-readiness,
.schema-note,
.plugin-ready-box,
.launch-note-box,
.quick-link-card,
.lead-magnet,
.comparison-table th,
.wp-shortcode-placeholder{
  background:var(--card-bg)!important;
  color:var(--card-text)!important;
  border-color:rgba(255,255,255,.13)!important;
  box-shadow:0 14px 35px -26px rgba(25,29,33,.38);
}
.card:hover,.city-card:hover,.quick-link-card:hover{border-color:rgba(214,161,0,.70)!important;}
.card h1,.card h2,.card h3,.card h4,
.city-card h3,.package-card h3,.author-box strong,
.seo-note h3,.depth-block h2,.depth-block h3,
.service-depth h2,.service-depth h3,.city-proof-block h2,.city-proof-block h3,
.video-readiness h2,.schema-note h2,.plugin-ready-box h2,.launch-note-box h2,
.quick-link-card h3,.lead-magnet h3{
  color:var(--accent)!important;
}
.card p,.card li,.city-card p,.service-list li,
.package-card p,.package-card li,.author-box p,
.seo-note p,.depth-block p,.depth-block li,
.service-depth p,.service-depth li,.city-proof-block p,.city-proof-block li,
.video-readiness p,.schema-note p,.plugin-ready-box p,.launch-note-box p,
.quick-link-card p,.lead-magnet p{
  color:var(--card-soft)!important;
}
.local-pill,.chip{background:#fff;border-color:rgba(52,56,61,.18);color:var(--fg-soft);}
.local-pill:hover,.chip:hover{border-color:var(--accent);color:var(--accent-deep);}
.chip.active{background:var(--accent);color:#1E1E1E;border-color:var(--accent);}

/* Media/captions */
.media-frame{background:#ECEFF1;border-color:var(--line);}
.media-frame figcaption,.media-caption{color:var(--fg-mute);}
.playwrap .media-caption{background:rgba(95,100,104,.86);color:var(--card-text);border-color:rgba(255,255,255,.16);}
.generated-media{background:#E9ECEF;}

/* Forms, search, tables */
input,select,textarea,.journal-search{
  background:#FFFFFF!important;
  color:var(--fg)!important;
  border:1px solid rgba(52,56,61,.22)!important;
}
input::placeholder,textarea::placeholder,.journal-search::placeholder{color:#8C9298!important;}
input:focus,select:focus,textarea:focus,.journal-search:focus{
  outline:none;border-color:var(--accent)!important;box-shadow:0 0 0 3px rgba(214,161,0,.16)!important;
}
.comparison-table{color:var(--fg-soft);}
.comparison-table td{border-color:var(--line);color:var(--fg-soft);background:#fff;}

/* Breadcrumbs are visible and do not blend into content */
.breadcrumbs{
  background:#FFFFFF!important;
  border-top:1px solid rgba(52,56,61,.08);
  border-bottom:1px solid var(--line)!important;
  color:var(--fg-mute)!important;
  margin-top:70px;
}
.breadcrumbs a{color:var(--fg-soft)!important;}
.breadcrumbs a:hover{color:var(--accent-deep)!important;}
.breadcrumbs span{color:rgba(52,56,61,.34)!important;}

/* Footer now follows the light reference direction */
.footer{background:#FFFFFF;border-top:1px solid var(--line);}
.footer-grid{border-color:var(--line);}
.footer-grid h4{color:var(--fg-mute);}
.footer-grid a,.footer-grid p{color:var(--fg-soft);}
.footer-grid a:hover{color:var(--accent-deep);}
.footer-about p{color:var(--fg-mute);}
.footer-bottom{border-color:var(--line);color:var(--fg-mute);}

/* Floating CTA remains highly visible and separate from brand palette */
.float-enquiry,
.float-whatsapp{
  background:#25D366!important;
  color:#fff!important;
  box-shadow:0 16px 40px rgba(0,0,0,.22)!important;
}
.float-enquiry:hover,.float-whatsapp:hover{background:#1FBF5A!important;}

/* Make image overlays/text readable on any light/dark media */
.hero,.page-hero,.masthead,.cover,.story-cover{color:var(--fg);}
.hero .lede,.page-hero .lede,.masthead .lede{color:var(--fg-soft);}

/* Mobile header stays solid and accessible */
@media(max-width:720px){
  .nav-inner{height:64px;}
  .breadcrumbs{margin-top:64px;}
  .nav-links a.active{padding:0;background:transparent;}
}
/* END COLOR SCHEME UPDATE
   ============================================================ */


/* ============================================================
   ACCESSIBILITY LAYER (added — no color/layout changes)
   Uses existing --accent (#CBA56B) tokens only.
   ============================================================ */

/* Skip-to-content link: visually hidden until keyboard-focused */
.skip-link{
  position:absolute;left:-9999px;top:0;z-index:1000;
  background:var(--elev-2);color:var(--fg);
  padding:12px 18px;border:1px solid var(--accent);border-radius:8px;
  font:600 14px/1 Inter,system-ui,sans-serif;text-decoration:none;
}
.skip-link:focus{left:12px;top:12px;outline:2px solid var(--accent);outline-offset:2px;}

/* Screen-reader-only utility */
.sr-only{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

/* Visible keyboard focus for all interactive elements (keyboard only) */
a:focus-visible,button:focus-visible,[role="button"]:focus-visible,
input:focus-visible,select:focus-visible,textarea:focus-visible,
summary:focus-visible,[tabindex]:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:3px;
  border-radius:4px;
}
/* Don't show the focus ring for mouse users who click (progressive enhancement) */
a:focus:not(:focus-visible),button:focus:not(:focus-visible){outline:none;}

/* Main-content target shouldn't show a persistent outline when jumped to */
#main-content:focus{outline:none;}
#main-content:focus-visible{outline:none;}


/* ============================================================
   ROUND 5 CLIENT IMPLEMENTATION — Compact centered website update
   ============================================================ */
.nav-links a{text-transform:uppercase;letter-spacing:.09em;font-weight:600;}
.nav-cta .btn{text-transform:uppercase;}
.drawer a{text-transform:uppercase;}
section{padding:clamp(40px,6vw,78px) 0;}
.pagehead{padding:calc(70px + clamp(34px,6vw,72px)) 0 clamp(28px,4vw,48px)!important;text-align:center;}
.pagehead .wrap{display:flex;flex-direction:column;align-items:center;}
.pagehead .display,.pagehead .lede,.section-head,.section-head .txt,.h-section,.lede,.lede-sm,.card,.tcard,.jcard,.city-blog-title,.city-blog-desc{text-align:center;}
.section-head{justify-content:center!important;align-items:center!important;flex-direction:column!important;margin-bottom:clamp(22px,4vw,38px);}
.section-head .txt,.lede,.home-section-muted{margin-left:auto;margin-right:auto;}
.footer{padding-top:clamp(36px,5vw,60px)!important;}
.footer-cta{padding-bottom:clamp(32px,5vw,52px)!important;}
.footer-cta .display{font-size:clamp(2.2rem,5vw,4.8rem);line-height:1.05;margin:14px 0 24px;}
.compact-footer-grid{grid-template-columns:1.4fr 1fr 1fr!important;gap:28px!important;padding-top:38px!important;padding-bottom:34px!important;}
.compact-footer-bottom{justify-content:center!important;text-align:center;padding:20px 0 28px!important;}
.social-float-panel{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:75;display:flex;flex-direction:column;gap:10px;}
.social-float-panel a{width:46px;height:46px;border-radius:999px;display:grid;place-items:center;background:var(--card-bg);color:var(--card-text);border:1px solid rgba(255,255,255,.2);box-shadow:0 12px 30px rgba(0,0,0,.18);transition:transform .25s var(--ease),background .25s var(--ease),color .25s var(--ease);}
.social-float-panel a:hover{transform:translateX(-4px) scale(1.04);background:var(--accent);color:#1E1E1E;}
.social-float-panel svg{width:22px;height:22px;}
.home-hero{min-height:72vh!important;padding:92px 0 48px!important;}
.home-hero .wrap{display:flex;justify-content:flex-start;}
.hero-copy-panel{max-width:min(560px,92vw)!important;text-align:left!important;padding:clamp(20px,3vw,34px)!important;background:rgba(32,36,40,.48)!important;}
.hero-copy-panel .display{font-size:clamp(2.25rem,5.8vw,5.8rem)!important;text-align:left!important;}
.hero-copy-panel .lede{text-align:left!important;}
.services-panel{margin-top:-22px!important;}
.services-shell{padding:clamp(18px,2.6vw,28px)!important;}
.services-line{display:flex;align-items:stretch;justify-content:center;gap:10px;flex-wrap:nowrap;margin-top:20px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin;}
.service-pill{flex:1 0 auto;min-width:130px;display:flex;align-items:center;justify-content:center;text-align:center;padding:14px 16px;border-radius:999px;background:var(--card-bg);color:var(--card-text);border:1px solid rgba(255,255,255,.14);font-size:.78rem;line-height:1.25;text-transform:uppercase;letter-spacing:.06em;transition:transform .25s var(--ease),background .25s var(--ease);}
.service-pill:hover{transform:translateY(-2px);background:var(--accent);color:#1E1E1E;}
.zero-gap-moodboard{display:grid!important;grid-template-columns:repeat(10,1fr)!important;grid-auto-rows:92px!important;gap:0!important;}
.zero-gap-moodboard .mosaic-item{border:0!important;border-radius:0!important;cursor:pointer;min-height:92px;}
.zero-gap-moodboard .mosaic-item:nth-child(9n+1){grid-column:span 2;grid-row:span 2;}
.zero-gap-moodboard .mosaic-item:nth-child(7n+3){grid-row:span 2;}
.zero-gap-moodboard .mosaic-item img{width:100%;height:100%;object-fit:cover;filter:saturate(.96);transition:transform .42s var(--ease),filter .42s var(--ease),opacity .42s var(--ease);}
.zero-gap-moodboard .mosaic-item:hover img{transform:scale(1.055);filter:saturate(1.08) contrast(1.05) brightness(1.08);}
.zero-gap-moodboard .mosaic-caption{opacity:0;transition:opacity .25s var(--ease);}
.zero-gap-moodboard .mosaic-item:hover .mosaic-caption{opacity:1;}
.home-testimonial-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.home-testimonial-row .tcard{min-height:0!important;padding:24px!important;text-align:center;border-radius:16px;}
.client-name{font-family:'Playfair Display',serif;color:var(--accent)!important;font-size:1.35rem;margin-bottom:10px;}
.client-review{font-size:.95rem;line-height:1.65;color:var(--card-soft)!important;}
.client-location{display:block;margin-top:16px;color:var(--card-muted)!important;}
.portrait-tabs{justify-content:center;}
.portrait-tabs .chip{text-transform:uppercase;}
.portrait-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.portrait-panel{display:block;border-radius:14px;overflow:hidden;position:relative;background:var(--card-bg);border:1px solid var(--line);transition:transform .3s var(--ease),border-color .3s var(--ease),opacity .3s var(--ease);}
.portrait-panel:hover{transform:translateY(-4px);border-color:var(--accent);}
.portrait-panel .zoom{aspect-ratio:4/5!important;border-radius:0!important;}
.portrait-panel .gcap{padding:14px 12px 16px;display:block;text-align:center;}
.portrait-panel .gcap .mono,.portrait-panel .gcap .name{display:block;text-align:center;}
.showmore-item.is-hidden{display:none!important;}
.show-more-btn{display:flex;margin:28px auto 0;}
.film-gallery-section{padding-top:clamp(34px,5vw,62px);}
.centered-section-head{align-items:center!important;text-align:center!important;}
.one-line-film-text{white-space:nowrap;}
.film-grid-4x2{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.film-panel{position:relative;min-height:280px;aspect-ratio:16/10;overflow:hidden;border-radius:16px;background:var(--card-bg);border:1px solid var(--line);box-shadow:var(--shadow);}
.film-panel img{width:100%;height:100%;object-fit:cover;filter:brightness(.76);transition:transform .45s var(--ease),filter .45s var(--ease);}
.film-panel:hover img{transform:scale(1.04);filter:brightness(.86);}
.film-panel-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;color:#fff;background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.46));}
.film-panel h3{font-family:'Playfair Display',serif;font-size:clamp(1.1rem,2vw,1.6rem);max-width:14ch;line-height:1.15;margin-bottom:18px;color:#fff!important;}
.film-modal-trigger{border:0;}
.journal-one-line-title{font-size:clamp(2rem,5.4vw,5.6rem)!important;white-space:nowrap;}
.journal-ranked-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.journal-ranked-grid .jcard{min-height:124px;display:flex;align-items:center;justify-content:center;padding:22px 16px;text-align:center;}
.journal-ranked-grid .jcard h3{font-size:1.02rem;line-height:1.35;color:var(--accent)!important;margin:0;}
.lightbox-backdrop{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.86);display:none;align-items:center;justify-content:center;padding:24px;}
.lightbox-backdrop.open{display:flex;}
.lightbox-backdrop img{max-width:min(94vw,1400px);max-height:88vh;object-fit:contain;box-shadow:0 24px 80px rgba(0,0,0,.45);}
.lightbox-close{position:fixed;top:18px;right:18px;width:44px;height:44px;border-radius:999px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.08);color:#fff;font-size:28px;line-height:1;display:grid;place-items:center;}
.video-modal-content{width:min(1100px,94vw);height:min(72vh,680px);border-radius:18px;overflow:hidden;position:relative;background:#111;box-shadow:0 24px 80px rgba(0,0,0,.5);}
.video-modal-content img{width:100%;height:100%;object-fit:cover;filter:brightness(.76);}
.video-modal-content .video-modal-title{position:absolute;inset:auto 24px 24px 24px;color:#fff;text-align:center;font-family:'Playfair Display',serif;font-size:clamp(1.8rem,4vw,4rem);line-height:1.05;text-shadow:0 4px 28px rgba(0,0,0,.5);}
@media(max-width:1100px){.zero-gap-moodboard{grid-template-columns:repeat(6,1fr)!important;}.portrait-grid,.film-grid-4x2,.journal-ranked-grid{grid-template-columns:repeat(2,1fr);}.services-line{justify-content:flex-start;}.one-line-film-text{white-space:normal;}}
@media(max-width:720px){section{padding:34px 0;}.home-hero{min-height:68vh!important;padding:84px 0 34px!important;}.hero-copy-panel .display,.hero-copy-panel .lede{text-align:center!important;}.hero-copy-panel{text-align:center!important;margin:0 auto;}.home-hero-actions{justify-content:center;}.social-float-panel{right:10px;top:auto;bottom:86px;transform:none;gap:8px;}.social-float-panel a{width:40px;height:40px;}.compact-footer-grid{grid-template-columns:1fr!important;text-align:center;}.zero-gap-moodboard{grid-template-columns:repeat(3,1fr)!important;grid-auto-rows:86px!important;}.home-testimonial-row,.portrait-grid,.film-grid-4x2,.journal-ranked-grid{grid-template-columns:1fr;}.journal-one-line-title{font-size:clamp(1.55rem,9vw,2.6rem)!important;white-space:nowrap;}.services-line{display:flex;overflow-x:auto;}.service-pill{flex:0 0 170px;}.film-panel{min-height:230px;}}
@media(prefers-reduced-motion:reduce){.service-pill,.portrait-panel,.film-panel img,.zero-gap-moodboard .mosaic-item img,.social-float-panel a{transition:none!important;}}


/* ============================================================
   ROUND 6 CLIENT REQUESTED LAYOUT + SPACING REFINEMENTS
   ============================================================ */
/* Remove bottom floating enquiry button site-wide; right-side social panel remains. */
.float-enquiry,.float-whatsapp{display:none!important;}

/* Workaround for dead space: tighter global vertical rhythm. */
section{padding:clamp(34px,5vw,68px) 0!important;}
.section-head{margin-bottom:clamp(22px,3.5vw,42px)!important;}
.pagehead{padding:calc(70px + clamp(24px,4vw,52px)) 0 clamp(22px,3vw,36px)!important;}
.copy-block h3{margin-top:24px!important;}
.depth-block,.service-depth,.city-proof-block,.video-readiness,.schema-note{margin-top:clamp(24px,4vw,42px)!important;padding:clamp(20px,3vw,32px)!important;}

/* Home hero overlay pushed to the extreme left. */
.home-hero .wrap{max-width:none!important;padding-left:0!important;padding-right:clamp(18px,5vw,72px)!important;}
.hero-copy-panel{margin-left:0!important;border-radius:0 18px 18px 0!important;max-width:min(720px,92vw)!important;}
@media(max-width:720px){.home-hero .wrap{padding-right:18px!important}.hero-copy-panel{border-radius:0 16px 16px 0!important;text-align:left!important}.hero-copy-panel .display,.hero-copy-panel .lede{text-align:left!important}.home-hero-actions{justify-content:flex-start!important}}

/* Services panel restored to the earlier rich card grid. */
.services-line{display:none!important;}
.services-grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:clamp(14px,2vw,22px)!important;margin-top:22px!important;}
.service-tile{min-height:225px!important;border-radius:12px!important;background:var(--card-bg)!important;color:var(--card-text)!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;padding:26px 20px!important;border:1px solid rgba(255,255,255,.14)!important;}
.service-tile h3{color:var(--accent)!important;font-family:'Playfair Display',serif!important;text-transform:uppercase!important;letter-spacing:.08em!important;line-height:1.35!important;font-size:1.03rem!important;margin:0 0 12px!important;}
.service-tile p{color:var(--card-soft)!important;font-size:.94rem!important;line-height:1.55!important;max-width:240px!important;margin:0 auto!important;}
.service-icon{width:62px!important;height:62px!important;border-radius:50%!important;display:grid!important;place-items:center!important;border:1px solid rgba(255,255,255,.18)!important;background:rgba(255,255,255,.08)!important;color:var(--accent)!important;margin-bottom:22px!important;}
.service-icon svg{width:24px!important;height:24px!important;}
@media(max-width:1024px){.services-grid{grid-template-columns:repeat(2,1fr)!important;}}
@media(max-width:720px){.services-grid{grid-template-columns:1fr!important;}}

/* Mosaic headline update. */
#random-gallery-mosaic .section-head{justify-content:center!important;text-align:center!important;flex-direction:column!important;align-items:center!important;}
#random-gallery-mosaic .mosaic-intro{max-width:none!important;margin:0 auto!important;}
.mosaic-title-one-line{white-space:nowrap!important;text-align:center!important;font-size:clamp(1.8rem,4.2vw,4.4rem)!important;}
@media(max-width:720px){.mosaic-title-one-line{white-space:normal!important;}}

/* Contact redesign. */
.contact-pagehead{text-align:center!important;}
.contact-pagehead .wrap{align-items:center!important;}
.contact-title-one-line{white-space:nowrap!important;font-size:clamp(2.2rem,6vw,6rem)!important;}
.contact-info-row{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,2vw,18px);width:100%;margin-top:clamp(24px,4vw,42px);}
.contact-info-row .info-block{background:var(--card-bg)!important;color:var(--card-text)!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:14px!important;padding:22px 18px!important;text-align:center!important;}
.contact-info-row .info-block h4{color:var(--accent)!important;margin:10px 0 6px!important;}
.contact-info-row .info-block p,.contact-info-row .info-block a{color:var(--card-soft)!important;}
.contact-info-row .info-block .ic{margin:0 auto 8px!important;}
.contact-form-instagram-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.85fr);gap:clamp(22px,4vw,46px);align-items:start;}
.contact-form-column,.instagram-profile-panel{background:var(--bg-2);border:1px solid var(--line);border-radius:18px;padding:clamp(22px,3vw,34px);box-shadow:var(--shadow);}
.contact-form-column .enq{width:100%;}
.instagram-profile-panel{text-align:left;}
.instagram-profile-panel .h-section{font-size:clamp(1.8rem,3.4vw,3rem);margin:14px 0;}
.instagram-shortcode-box{margin-top:20px!important;}
@media(max-width:1080px){.contact-info-row{grid-template-columns:repeat(2,1fr)}.contact-form-instagram-grid{grid-template-columns:1fr;}}
@media(max-width:720px){.contact-title-one-line{white-space:normal!important}.contact-info-row{grid-template-columns:1fr}.contact-form-column,.instagram-profile-panel{padding:20px 16px;}}

/* Films page: smaller cards, visible gaps, text under video. */
.round6-centered-title{justify-content:center!important;text-align:center!important;flex-direction:column!important;align-items:center!important;}
.round6-centered-title .txt{max-width:900px;margin:0 auto;}
.one-line-film-text{text-align:center!important;}
.film-card-grid,.reel-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,30px);align-items:start;}
.film-card{background:var(--bg-2);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow);}
.film-thumb{position:relative;display:block;width:100%;aspect-ratio:16/9;border:0;background:var(--card-bg);padding:0;cursor:pointer;overflow:hidden;}
.film-thumb img{width:100%;height:100%;object-fit:cover;filter:brightness(.82);transition:transform .35s var(--ease),filter .35s var(--ease);}
.film-card:hover .film-thumb img{transform:scale(1.035);filter:brightness(.92);}
.film-card .play-badge{width:52px!important;height:52px!important;}
.film-card-copy{padding:18px 18px 20px;text-align:center;}
.film-card-copy h3{font-family:'Playfair Display',serif;font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.15;color:var(--fg);margin:8px 0 8px;}
.film-card-copy p{color:var(--fg-soft);font-size:.94rem;line-height:1.55;margin:0 auto;max-width:38ch;}
.reels-section{background:var(--bg-2);border-block:1px solid var(--line);}
.reels-section .lede-sm{text-align:center;color:var(--fg-soft);margin-top:10px;}
@media(max-width:1024px){.film-card-grid,.reel-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:720px){.film-card-grid,.reel-card-grid{grid-template-columns:1fr;}}

/* Footer simplification. */
.compact-footer-grid,.footer-grid{grid-template-columns:1.5fr 1fr!important;}
.footer-about p{max-width:42ch!important;}
@media(max-width:720px){.compact-footer-grid,.footer-grid{grid-template-columns:1fr!important;}}

/* ROUND 7 — Gallery mood board lightbox CTA + randomized gallery UX */
.mosaic-helper-note{
  margin:18px auto 0;
  max-width:720px;
  text-align:center;
  color:var(--fg-soft);
  font-size:.92rem;
}
.mosaic-item{cursor:pointer;}
.mosaic-item:focus-visible{outline:3px solid var(--accent);outline-offset:4px;}
.lightbox-stage{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
}
.lightbox-content{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:16px;
  max-width:min(94vw,1400px);
}
.lightbox-content img{
  max-width:min(94vw,1400px);
  max-height:78vh;
  object-fit:contain;
  box-shadow:0 24px 80px rgba(0,0,0,.45);
}
.lightbox-gallery-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:13px 24px;
  border-radius:999px;
  background:var(--accent);
  color:#0B0A08;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  box-shadow:0 12px 30px rgba(0,0,0,.28);
  transition:transform .2s ease, background .2s ease;
}
.lightbox-gallery-cta:hover{transform:translateY(-2px);background:var(--accent-2);}
.lightbox-gallery-caption{
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:.86rem;
  text-align:center;
}
@media(max-width:720px){
  .lightbox-content img{max-height:70vh;}
  .lightbox-gallery-cta{width:100%;max-width:320px;font-size:.72rem;padding:12px 18px;}
}

/* ============================================================
   WordPress integration layer — The Wedding Drama
   ============================================================ */
body.home-panel-page{background:#F8F5ED;color:#252A2F;}
body.home-panel-page::before{display:none;}
.nav{background:rgba(255,255,255,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(42,47,52,.12);}
.nav .brand,.nav-links a{color:#252A2F;}
.page-hero{padding:150px 0 70px;background:#F8F5ED;color:#252A2F;border-bottom:1px solid rgba(42,47,52,.12);}
.compact-hero{text-align:center;}
.section-pad{padding:72px 0;background:#fff;color:#252A2F;}
.center{text-align:center;margin-left:auto;margin-right:auto;}
.content-wrap{max-width:920px;}
.content-wrap p{margin:0 0 1.2em;color:rgba(37,42,47,.78);}
.content-wrap h2,.content-wrap h3{margin:1.2em 0 .45em;}
.services-grid,.pricing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;}
.service-card,.pricing-grid .card{padding:24px;border-radius:24px;background:#fff;border:1px solid rgba(42,47,52,.12);box-shadow:0 16px 45px rgba(30,35,40,.08);}
.service-card h3{font-size:1.2rem;margin:8px 0;}
.service-card p{color:rgba(37,42,47,.68);}
.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.article-card{overflow:hidden;background:#fff;color:#252A2F;border:1px solid rgba(42,47,52,.12);border-radius:26px;}
.article-card img{width:100%;aspect-ratio:4/3;object-fit:cover;}
.article-card .body{padding:22px;}
.article-card h2{font-size:1.3rem;line-height:1.1;margin:8px 0;}
.contact-info-strip{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:20px;}
.contact-info-strip a{border:1px solid rgba(42,47,52,.14);border-radius:999px;padding:10px 16px;background:#fff;}
.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);gap:28px;align-items:start;}
.contact-form-card,.instagram-card{padding:28px;border-radius:28px;background:#fff;border:1px solid rgba(42,47,52,.12);box-shadow:0 16px 45px rgba(30,35,40,.08);}
.twd-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.twd-form-field{display:flex;flex-direction:column;gap:7px;}
.twd-form-field.full{grid-column:1/-1;}
.twd-form-field label{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:rgba(37,42,47,.65);}
.twd-form-field input,.twd-form-field textarea,.twd-form-field select{width:100%;border:1px solid rgba(42,47,52,.16);border-radius:16px;padding:13px 14px;background:#FAF8F2;color:#252A2F;}
.twd-form-field textarea{min-height:130px;resize:vertical;}
.twd-form-actions{margin-top:16px;}
.home-gallery-grid,.home-video-grid,.twd-reels-grid,.twd-testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.twd-testimonial-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.home-gallery-card,.home-video-card,.twd-testimonial-card{display:block;overflow:hidden;background:#fff;color:#252A2F;border:1px solid rgba(42,47,52,.12);border-radius:26px;box-shadow:0 16px 45px rgba(30,35,40,.08);}
.home-gallery-card .media img,.home-video-frame img{width:100%;aspect-ratio:4/3;object-fit:cover;}
.home-gallery-card .body,.home-video-body,.twd-testimonial-card{padding:20px;}
.home-video-frame button{border:0;background:transparent;width:100%;position:relative;display:block;}
.play-badge{position:absolute;inset:auto auto 16px 16px;width:46px;height:46px;border-radius:999px;background:#fff;color:#252A2F;display:grid;place-items:center;box-shadow:0 10px 24px rgba(0,0,0,.18);}
.play-badge svg{width:18px;height:18px;}
.twd-moodboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.twd-moodboard-item{position:relative;border:0;background:transparent;padding:0;border-radius:22px;overflow:hidden;cursor:pointer;}
.twd-moodboard-item img{width:100%;height:100%;aspect-ratio:3/4;object-fit:cover;transition:transform .4s ease;}
.twd-moodboard-item:hover img{transform:scale(1.04);}
.twd-moodboard-actions{display:none;margin:18px auto 0;text-align:center;}
.twd-moodboard-actions.is-visible{display:block;}
.twd-plugin-fallback{border:1px dashed rgba(42,47,52,.24);border-radius:24px;padding:22px;background:#FAF8F2;text-align:center;color:rgba(37,42,47,.72);}
.soft-divider{border:0;border-top:1px solid rgba(42,47,52,.12);margin:42px 0;}
@media(max-width:1024px){.services-grid,.journal-grid,.home-gallery-grid,.home-video-grid,.twd-reels-grid,.twd-testimonial-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.contact-layout{grid-template-columns:1fr;}.twd-moodboard-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:720px){.services-grid,.journal-grid,.home-gallery-grid,.home-video-grid,.twd-reels-grid,.twd-testimonial-grid,.pricing-grid{grid-template-columns:1fr;}.twd-form-grid{grid-template-columns:1fr;}.twd-moodboard-grid{grid-template-columns:repeat(2,1fr);}.page-hero{padding:120px 0 50px;}}


/* ============================================================
   ROUND 8 — WordPress live fixes: hero slideshow, Portfolio Filter Gallery,
   social sticker, services cards and films page refinements
   ============================================================ */
.custom-logo-link{display:inline-flex;align-items:center;line-height:0;}
.custom-logo{max-height:48px;width:auto;display:block;}
.nav .brand:has(.custom-logo-link){gap:0;}

.home-hero{min-height:100dvh!important;background:#111;isolation:isolate;}
.home-hero-media{position:absolute;inset:0;z-index:0;overflow:hidden;}
.home-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.58) 0%,rgba(0,0,0,.32) 42%,rgba(0,0,0,.08) 100%);z-index:2;pointer-events:none;}
.twd-hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.025);transition:opacity 1.1s var(--ease),transform 5.6s ease;}
.twd-hero-slide.is-active{opacity:1;transform:scale(1);}
.home-hero .wrap{position:relative;z-index:3;max-width:none!important;padding-left:0!important;padding-right:clamp(18px,5vw,72px)!important;justify-content:flex-start!important;}
.hero-copy-panel{margin-left:0!important;margin-right:auto!important;border-radius:0 22px 22px 0!important;max-width:min(690px,92vw)!important;background:rgba(32,36,40,.58)!important;color:#fff!important;box-shadow:0 22px 70px rgba(0,0,0,.24);}
.hero-copy-panel .display,.hero-copy-panel .lede,.hero-copy-panel .kicker{color:#fff!important;text-align:left!important;}
.hero-copy-panel .lede{max-width:52ch;margin-left:0!important;margin-right:0!important;}

.social-float-panel.twd-social-sticker{position:fixed;right:18px;top:50%;bottom:auto;transform:translateY(-50%);z-index:120;display:flex!important;flex-direction:column;gap:10px;}
.social-float-panel.twd-social-sticker a{width:46px;height:46px;border-radius:999px;display:grid;place-items:center;background:#fff;color:#252A2F;border:1px solid rgba(42,47,52,.14);box-shadow:0 14px 36px rgba(30,35,40,.18);transition:transform .25s var(--ease),background .25s var(--ease),color .25s var(--ease);}
.social-float-panel.twd-social-sticker a:hover{transform:translateX(-4px) scale(1.04);background:var(--accent);color:#fff;}
.social-float-panel.twd-social-sticker svg{width:22px;height:22px;}

.service-card{background:#fff!important;}
.service-card h3{color:var(--accent-deep)!important;}
.service-card p{color:#000!important;}
.service-card .mono{display:none!important;}

.twd-portfolio-moodboard-live,.twd-portfolio-full-gallery{background:#fff;border:1px solid rgba(42,47,52,.12);border-radius:26px;padding:18px;box-shadow:0 16px 45px rgba(30,35,40,.08);}
.twd-moodboard-wrap{display:block;}
.twd-moodboard-actions .btn{text-transform:uppercase;}

.gold-heading{color:var(--accent)!important;}
.films-page .page-hero .lede,.films-one-line{max-width:780px;color:rgba(37,42,47,.72);}
.films-list-section .home-video-grid,.films-list-section .twd-reels-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1060px;margin:0 auto 18px;}
.films-list-section .home-video-card{border-radius:18px;box-shadow:0 12px 32px rgba(30,35,40,.08);}
.films-list-section .home-video-frame img{aspect-ratio:16/9;}
.films-list-section .home-video-body{padding:14px 16px 16px;}
.films-list-section .home-video-body .mono{display:none!important;}
.films-list-section .home-video-body h3{font-size:clamp(1.05rem,1.6vw,1.35rem);line-height:1.15;margin:0 0 8px;color:#252A2F;}
.films-list-section .home-video-body p{font-size:.88rem;line-height:1.45;color:rgba(37,42,47,.66);margin:0;}
.reels-heading{margin-top:clamp(34px,5vw,58px)!important;}
.show-more-btn{margin:18px auto 0;}
.youtube-live-block{margin-top:28px;}

.journal-tools{margin-top:18px;display:flex;justify-content:center;}
.journal-search{width:min(620px,100%);padding:13px 18px;border:1px solid rgba(42,47,52,.16);border-radius:999px;background:#fff;color:#252A2F;font:inherit;}
.article-card[data-journal-card].is-hidden{display:none!important;}

@media(max-width:1024px){
  .films-list-section .home-video-grid,.films-list-section .twd-reels-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:720px){
  .custom-logo{max-height:40px;}
  .home-hero{min-height:78vh!important;}
  .home-hero-media::after{background:linear-gradient(90deg,rgba(0,0,0,.66),rgba(0,0,0,.34));}
  .hero-copy-panel{max-width:calc(100vw - 18px)!important;border-radius:0 18px 18px 0!important;padding:22px!important;}
  .hero-copy-panel .display,.hero-copy-panel .lede{text-align:left!important;}
  .home-hero-actions{justify-content:flex-start!important;}
  .social-float-panel.twd-social-sticker{right:10px;top:50%;bottom:auto;transform:translateY(-50%);}
  .social-float-panel.twd-social-sticker a{width:40px;height:40px;}
  .films-list-section .home-video-grid,.films-list-section .twd-reels-grid{grid-template-columns:1fr;}
}

/* ============================================================
   ROUND 9 — Mobile friendliness pass
   Goal: readable, tap-friendly, no horizontal overflow, natural mobile scroll
   ============================================================ */
html, body{max-width:100%;overflow-x:hidden;}
img, video, iframe{max-width:100%;}
button, a, input, select, textarea{-webkit-tap-highlight-color:rgba(203,165,107,.18);}

@media(max-width:1180px){
  .wrap{padding-left:clamp(18px,4vw,42px)!important;padding-right:clamp(18px,4vw,42px)!important;}
  .nav-links{gap:22px;}
  .nav-links a{font-size:.76rem;}
  .nav-cta .btn{padding:12px 18px;}
}

@media(max-width:1024px){
  body.home-panel-page{overflow-y:auto!important;overflow-x:hidden!important;}
  body.home-panel-page .nav{background:rgba(255,255,255,.96)!important;}
  .nav{background:rgba(255,255,255,.96)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);}
  .nav-inner{height:66px!important;gap:12px;}
  .nav .brand{min-width:0;max-width:calc(100vw - 110px);overflow:hidden;}
  .custom-logo{max-width:min(190px,52vw)!important;max-height:42px!important;object-fit:contain;}
  .brand{font-size:1.02rem;white-space:nowrap;}
  .nav-links,.nav-cta{display:none!important;}
  .burger{display:inline-flex!important;align-items:center;justify-content:center;color:#252A2F!important;width:42px!important;height:42px!important;border-radius:999px;background:#F8F5ED;border:1px solid rgba(42,47,52,.12);flex:0 0 auto;}
  .burger svg{width:24px;height:24px;}
  .drawer{background:#F8F5ED!important;color:#252A2F!important;overflow-y:auto;padding:82px 24px 36px!important;justify-content:flex-start!important;}
  .drawer a{font-size:clamp(1.9rem,10vw,3.1rem)!important;line-height:1.05;color:#252A2F!important;padding:10px 0!important;}
  .drawer .burger{position:absolute;right:18px;top:16px;}

  .twd-home-panel{height:auto!important;min-height:auto!important;display:block!important;overflow:visible!important;padding:58px 0!important;}
  #home-hero{display:flex!important;align-items:center!important;min-height:82svh!important;padding:84px 0 44px!important;}
  #home-films-footer{display:block!important;padding:54px 0 0!important;}
  #home-films-footer>.wrap{display:block!important;}
  #home-films-footer .footer{margin-top:44px!important;padding:28px 0 18px!important;}
  #home-films-footer .footer-grid{grid-template-columns:1fr!important;gap:18px!important;text-align:center;}
  .home-panel-controls{display:none!important;}

  .display{font-size:clamp(2.45rem,10vw,5rem)!important;line-height:1.02!important;}
  .h-section{font-size:clamp(2rem,7.5vw,3.45rem)!important;line-height:1.08!important;}
  .lede{font-size:clamp(.98rem,2.8vw,1.18rem)!important;line-height:1.58!important;}
  section,.section-pad{padding:58px 0!important;}
  .section-head{gap:10px!important;margin-bottom:24px!important;}

  .home-hero .wrap{padding-left:0!important;padding-right:18px!important;}
  .home-hero-media::after{background:linear-gradient(90deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.46) 55%,rgba(0,0,0,.22) 100%)!important;}
  .hero-copy-panel{width:min(92vw,620px)!important;max-width:min(92vw,620px)!important;margin-left:0!important;margin-right:auto!important;border-radius:0 20px 20px 0!important;padding:clamp(20px,4vw,30px)!important;background:rgba(28,32,36,.62)!important;}
  .hero-copy-panel .display{font-size:clamp(2.2rem,8.5vw,4.8rem)!important;}
  .hero-copy-panel .lede{max-width:42ch!important;}
  .home-hero-actions{display:flex!important;flex-wrap:wrap!important;gap:10px!important;justify-content:flex-start!important;}
  .home-hero-actions .btn{padding:13px 20px!important;}

  .services-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;}
  .service-card{border-radius:20px!important;padding:20px!important;min-height:auto!important;}
  .service-card h3{font-size:1.08rem!important;line-height:1.18!important;margin:0 0 8px!important;}
  .service-card p{font-size:.9rem!important;line-height:1.5!important;}

  .twd-moodboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;}
  .twd-moodboard-item{border-radius:16px!important;}
  .twd-moodboard-item img{aspect-ratio:3/4!important;}
  .twd-portfolio-moodboard-live,.twd-portfolio-full-gallery{padding:12px!important;border-radius:20px!important;}

  .twd-testimonial-grid,.home-gallery-grid,.home-video-grid,.twd-reels-grid,.journal-grid,.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;}
  .home-gallery-card,.home-video-card,.twd-testimonial-card,.article-card{border-radius:20px!important;}
  .home-gallery-card .body,.home-video-body,.twd-testimonial-card,.article-card .body{padding:18px!important;}

  .films-list-section .home-video-grid,.films-list-section .twd-reels-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;max-width:100%!important;}
  .films-list-section .home-video-body h3{font-size:1.08rem!important;}
  .films-list-section .home-video-body p{font-size:.86rem!important;}

  .contact-layout{grid-template-columns:1fr!important;gap:18px!important;}
  .contact-form-card,.instagram-card{border-radius:22px!important;padding:22px!important;}
  .contact-info-strip{gap:8px!important;}
  .contact-info-strip a{font-size:.88rem;padding:9px 12px!important;}

  .footer-grid,.compact-footer-grid{grid-template-columns:1fr!important;text-align:center!important;gap:18px!important;}
  .footer-bottom,.compact-footer-bottom{display:flex!important;flex-direction:column!important;gap:6px!important;text-align:center!important;}

  .social-float-panel.twd-social-sticker{right:10px!important;top:auto!important;bottom:14px!important;transform:none!important;flex-direction:row!important;gap:8px!important;z-index:140!important;background:rgba(255,255,255,.82);padding:7px;border-radius:999px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 12px 28px rgba(30,35,40,.16);}
  .social-float-panel.twd-social-sticker a{width:38px!important;height:38px!important;box-shadow:none!important;background:#fff!important;}
  .social-float-panel.twd-social-sticker svg{width:19px!important;height:19px!important;}
}

@media(max-width:720px){
  .wrap{padding-left:16px!important;padding-right:16px!important;}
  .nav-inner{height:62px!important;}
  .custom-logo{max-width:min(168px,50vw)!important;max-height:38px!important;}
  .brand{font-size:.96rem!important;}
  .drawer a{font-size:clamp(1.72rem,9vw,2.55rem)!important;}

  .kicker{gap:8px!important;font-size:10px!important;letter-spacing:.18em!important;}
  .kicker::before{width:22px!important;}
  .display{font-size:clamp(2.05rem,11vw,3.65rem)!important;}
  .h-section{font-size:clamp(1.75rem,9vw,2.75rem)!important;}
  .lede{font-size:.98rem!important;}
  .page-hero{padding:96px 0 42px!important;}
  section,.section-pad{padding:44px 0!important;}

  #home-hero{min-height:80svh!important;padding:78px 0 34px!important;}
  .home-hero .wrap{padding-left:0!important;padding-right:12px!important;}
  .home-hero-media::after{background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.52) 60%,rgba(0,0,0,.26) 100%)!important;}
  .hero-copy-panel{width:calc(100vw - 20px)!important;max-width:calc(100vw - 20px)!important;border-radius:0 18px 18px 0!important;padding:19px 16px 20px!important;}
  .hero-copy-panel .display{font-size:clamp(2rem,11vw,3.05rem)!important;line-height:1.02!important;}
  .hero-copy-panel .lede{font-size:.95rem!important;line-height:1.52!important;}
  .home-hero-actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important;}
  .home-hero-actions .btn{width:100%!important;justify-content:center!important;padding:13px 16px!important;}

  .services-grid,.twd-testimonial-grid,.home-gallery-grid,.home-video-grid,.twd-reels-grid,.journal-grid,.pricing-grid{grid-template-columns:1fr!important;gap:14px!important;}
  .service-card{padding:18px!important;border-radius:18px!important;}
  .service-card h3{font-size:1.04rem!important;}
  .service-card p{font-size:.88rem!important;}

  .twd-moodboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;}
  .twd-moodboard-item{border-radius:14px!important;}
  .twd-moodboard-actions .btn{width:100%!important;justify-content:center!important;}

  .home-gallery-card .media img,.home-video-frame img,.article-card img{aspect-ratio:16/11!important;}
  .films-list-section .home-video-grid,.films-list-section .twd-reels-grid{grid-template-columns:1fr!important;}
  .show-more-btn{width:100%!important;justify-content:center!important;}

  .contact-info-strip{display:grid!important;grid-template-columns:1fr!important;}
  .contact-info-strip a{text-align:center!important;}
  .contact-form-card,.instagram-card{padding:18px!important;border-radius:20px!important;}
  .twd-form-grid{grid-template-columns:1fr!important;gap:12px!important;}
  .twd-form-field input,.twd-form-field textarea,.twd-form-field select{font-size:16px!important;border-radius:14px!important;}
  .twd-form-actions .btn{width:100%!important;justify-content:center!important;}

  .article-card h2{font-size:1.15rem!important;line-height:1.18!important;}
  .journal-search{border-radius:18px!important;font-size:16px!important;}
  .content-wrap,.blog-body{max-width:100%!important;}
  .blog-body h2{font-size:clamp(1.55rem,8vw,2.3rem)!important;}
  .content-wrap p,.blog-body p,.content-wrap li,.blog-body li{font-size:.96rem!important;line-height:1.72!important;}

  .lightbox-backdrop{padding:16px!important;}
  .lightbox-content{width:100%!important;}
  .lightbox-content img{max-height:62svh!important;border-radius:14px!important;}
  .lightbox-close{top:12px!important;right:12px!important;}

  .footer{padding-bottom:78px!important;}
  .social-float-panel.twd-social-sticker{left:50%!important;right:auto!important;bottom:12px!important;transform:translateX(-50%)!important;}
}

@media(max-width:420px){
  .wrap{padding-left:14px!important;padding-right:14px!important;}
  .custom-logo{max-width:min(150px,48vw)!important;}
  .hero-copy-panel{width:calc(100vw - 14px)!important;max-width:calc(100vw - 14px)!important;padding:18px 14px!important;}
  .hero-copy-panel .display{font-size:clamp(1.85rem,10.5vw,2.55rem)!important;}
  .h-section{font-size:clamp(1.65rem,8.6vw,2.35rem)!important;}
  .twd-moodboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .social-float-panel.twd-social-sticker a{width:36px!important;height:36px!important;}
}


/* ============================================================
   ROUND 10 — Mobile homepage repair + fixed right-side social sticker
   Purpose: keep homepage naturally scrollable on mobile and keep WhatsApp/
   Instagram/Facebook sticker at true right-side center, not top or bottom.
   ============================================================ */
html, body{overflow-x:hidden!important;}
body.home-panel-page{min-width:0!important;}

.social-float-panel.twd-social-sticker,
.nav .social-float-panel.twd-social-sticker,
.nav-inner .social-float-panel.twd-social-sticker{
  position:fixed!important;
  right:clamp(8px,2.4vw,18px)!important;
  left:auto!important;
  top:50svh!important;
  bottom:auto!important;
  transform:translateY(-50%)!important;
  z-index:9999!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  pointer-events:auto!important;
}
.social-float-panel.twd-social-sticker a{
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
  border-radius:999px!important;
  display:grid!important;
  place-items:center!important;
  background:#fff!important;
  color:#252A2F!important;
  border:1px solid rgba(42,47,52,.14)!important;
  box-shadow:0 12px 30px rgba(30,35,40,.18)!important;
}
.social-float-panel.twd-social-sticker a:hover{background:var(--accent)!important;color:#fff!important;transform:translateX(-3px) scale(1.03)!important;}
.social-float-panel.twd-social-sticker svg{width:21px!important;height:21px!important;display:block!important;}

@media(max-width:1024px){
  body.home-panel-page{overflow-y:auto!important;overflow-x:hidden!important;height:auto!important;position:static!important;}
  body.home-panel-page main#main-content{display:block!important;width:100%!important;overflow:visible!important;}
  body.home-panel-page .twd-home-panel{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    display:block!important;
    overflow:visible!important;
    padding:48px 0!important;
  }
  body.home-panel-page .home-panel-controls{display:none!important;visibility:hidden!important;pointer-events:none!important;}
  body.home-panel-page .section-head{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    gap:10px!important;
    margin-bottom:22px!important;
  }
  body.home-panel-page .section-head .txt{max-width:100%!important;text-align:center!important;}
  body.home-panel-page .section-head .link-arrow{display:none!important;}
  body.home-panel-page .home-section-actions{display:flex!important;justify-content:center!important;margin-top:18px!important;}

  body.home-panel-page #home-hero.home-hero.twd-home-panel{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    min-height:82svh!important;
    padding:82px 0 36px!important;
    overflow:hidden!important;
  }
  body.home-panel-page .home-hero-media{position:absolute!important;inset:0!important;z-index:0!important;overflow:hidden!important;}
  body.home-panel-page .home-hero-media img,
  body.home-panel-page .twd-hero-slide{width:100%!important;height:100%!important;object-fit:cover!important;}
  body.home-panel-page .home-hero-media::after{background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.48) 56%,rgba(0,0,0,.18) 100%)!important;}
  body.home-panel-page #home-hero .wrap{
    width:100%!important;
    max-width:none!important;
    padding-left:0!important;
    padding-right:64px!important;
    position:relative!important;
    z-index:3!important;
  }
  body.home-panel-page .hero-copy-panel{
    width:min(82vw,520px)!important;
    max-width:min(82vw,520px)!important;
    margin-left:0!important;
    margin-right:auto!important;
    border-radius:0 18px 18px 0!important;
    padding:20px 17px!important;
    text-align:left!important;
    background:rgba(28,32,36,.66)!important;
  }
  body.home-panel-page .hero-copy-panel .display,
  body.home-panel-page .hero-copy-panel .lede,
  body.home-panel-page .hero-copy-panel .kicker{text-align:left!important;color:#fff!important;}
  body.home-panel-page .hero-copy-panel .display{font-size:clamp(2rem,10vw,3.45rem)!important;line-height:1.02!important;}
  body.home-panel-page .hero-copy-panel .lede{font-size:.95rem!important;line-height:1.5!important;max-width:36ch!important;}
  body.home-panel-page .home-hero-actions{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;width:min(280px,100%)!important;justify-content:flex-start!important;}
  body.home-panel-page .home-hero-actions .btn{width:100%!important;justify-content:center!important;padding:12px 14px!important;font-size:.78rem!important;}

  body.home-panel-page .services-grid{grid-template-columns:1fr!important;gap:12px!important;}
  body.home-panel-page .service-card{padding:18px!important;border-radius:18px!important;min-height:0!important;}
  body.home-panel-page .service-card h3{font-size:1.05rem!important;margin-bottom:6px!important;}
  body.home-panel-page .service-card p{font-size:.88rem!important;line-height:1.45!important;}

  body.home-panel-page .twd-moodboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;}
  body.home-panel-page .twd-moodboard-item{border-radius:14px!important;}
  body.home-panel-page .twd-moodboard-item img{aspect-ratio:3/4!important;object-fit:cover!important;}
  body.home-panel-page .twd-moodboard-actions .btn{width:100%!important;justify-content:center!important;}

  body.home-panel-page .twd-testimonial-grid,
  body.home-panel-page .home-gallery-grid,
  body.home-panel-page .home-video-grid,
  body.home-panel-page .twd-reels-grid{grid-template-columns:1fr!important;gap:14px!important;}
  body.home-panel-page .home-gallery-card .media img,
  body.home-panel-page .home-video-frame img{aspect-ratio:16/10!important;object-fit:cover!important;}

  body.home-panel-page #home-films-footer{display:block!important;padding:42px 0 0!important;}
  body.home-panel-page #home-films-footer>.wrap{display:block!important;}
  body.home-panel-page #home-films-footer .footer{position:relative!important;margin-top:34px!important;padding:30px 0 72px!important;}
  body.home-panel-page #home-films-footer .footer-grid{grid-template-columns:1fr!important;text-align:center!important;gap:16px!important;}

  .social-float-panel.twd-social-sticker,
  .nav .social-float-panel.twd-social-sticker,
  .nav-inner .social-float-panel.twd-social-sticker{
    right:9px!important;
    left:auto!important;
    top:50svh!important;
    bottom:auto!important;
    transform:translateY(-50%)!important;
    flex-direction:column!important;
    background:transparent!important;
    padding:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  .social-float-panel.twd-social-sticker a{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;}
  .social-float-panel.twd-social-sticker svg{width:19px!important;height:19px!important;}
}

@media(max-width:420px){
  body.home-panel-page #home-hero .wrap{padding-right:58px!important;}
  body.home-panel-page .hero-copy-panel{width:calc(100vw - 72px)!important;max-width:calc(100vw - 72px)!important;padding:18px 14px!important;}
  body.home-panel-page .hero-copy-panel .display{font-size:clamp(1.72rem,9.6vw,2.42rem)!important;}
  body.home-panel-page .hero-copy-panel .lede{font-size:.9rem!important;}
  .social-float-panel.twd-social-sticker a{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;}
  .social-float-panel.twd-social-sticker svg{width:18px!important;height:18px!important;}
}


/* ROUND 11 — mobile services panel must remain designed cards, not text lines */
@media(max-width:720px){
  body.home-panel-page #services .services-grid,
  #services .services-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    align-items:stretch!important;
    margin-top:14px!important;
  }
  body.home-panel-page #services .service-card,
  #services .service-card{
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    background:#fff!important;
    border:1px solid rgba(42,47,52,.12)!important;
    border-radius:16px!important;
    padding:13px 10px!important;
    min-height:118px!important;
    box-shadow:0 10px 24px rgba(28,32,36,.08)!important;
  }
  body.home-panel-page #services .service-card h3,
  #services .service-card h3{
    color:var(--accent-deep)!important;
    font-size:.86rem!important;
    line-height:1.12!important;
    margin:0 0 7px!important;
  }
  body.home-panel-page #services .service-card p,
  #services .service-card p{
    display:block!important;
    color:#171717!important;
    font-size:.72rem!important;
    line-height:1.34!important;
    margin:0!important;
  }
}
@media(max-width:380px){
  body.home-panel-page #services .services-grid,
  #services .services-grid{gap:8px!important;}
  body.home-panel-page #services .service-card,
  #services .service-card{padding:12px 8px!important;min-height:112px!important;border-radius:14px!important;}
  body.home-panel-page #services .service-card h3,
  #services .service-card h3{font-size:.8rem!important;}
  body.home-panel-page #services .service-card p,
  #services .service-card p{font-size:.68rem!important;}
}


/* ============================================================
   ROUND 12 — mobile drawer right aligned + larger hamburger/menu
   Includes ROUND 11 services 2x4 mobile card grid update.
   ============================================================ */
@media (max-width:1024px){
  .nav-inner{
    justify-content:space-between!important;
  }
  .burger{
    width:50px!important;
    height:50px!important;
    min-width:50px!important;
    min-height:50px!important;
    border-radius:999px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .burger svg{
    width:30px!important;
    height:30px!important;
  }
  .drawer{
    align-items:flex-end!important;
    justify-content:flex-start!important;
    text-align:right!important;
    padding:92px 26px 40px!important;
  }
  .drawer a{
    display:block!important;
    width:100%!important;
    text-align:right!important;
    font-size:clamp(2.15rem,11vw,3.45rem)!important;
    line-height:1.02!important;
    padding:12px 0!important;
    letter-spacing:.02em!important;
  }
  .drawer .burger,
  .drawer [data-drawer-close]{
    position:absolute!important;
    right:18px!important;
    left:auto!important;
    top:16px!important;
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
    min-height:52px!important;
  }
  .drawer .burger svg,
  .drawer [data-drawer-close] svg{
    width:31px!important;
    height:31px!important;
  }
}

@media (max-width:720px){
  #services .services-grid,
  body.home-panel-page #services .services-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    align-items:stretch!important;
    margin-top:14px!important;
  }
  #services .service-card,
  body.home-panel-page #services .service-card{
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    background:#fff!important;
    border:1px solid rgba(42,47,52,.12)!important;
    border-radius:16px!important;
    padding:13px 10px!important;
    min-height:118px!important;
    box-shadow:0 10px 24px rgba(28,32,36,.08)!important;
  }
  #services .service-card h3,
  body.home-panel-page #services .service-card h3{
    color:var(--accent-deep)!important;
    font-size:.86rem!important;
    line-height:1.12!important;
    margin:0 0 7px!important;
  }
  #services .service-card p,
  body.home-panel-page #services .service-card p{
    display:block!important;
    color:#171717!important;
    font-size:.72rem!important;
    line-height:1.34!important;
    margin:0!important;
  }
}

@media (max-width:380px){
  #services .services-grid,
  body.home-panel-page #services .services-grid{gap:8px!important;}
  #services .service-card,
  body.home-panel-page #services .service-card{padding:12px 8px!important;min-height:112px!important;border-radius:14px!important;}
  #services .service-card h3,
  body.home-panel-page #services .service-card h3{font-size:.8rem!important;}
  #services .service-card p,
  body.home-panel-page #services .service-card p{font-size:.68rem!important;}
}


/* ============================================================
   ROUND 13 — framed hero slideshow + overlapping left info card
   and restored service icons. This is intentionally placed in
   front-page.php so it wins over earlier mobile/desktop overrides.
   ============================================================ */
body.home-panel-page #home-hero.twd-hero-framed,
body.home-panel-page #home-hero.home-hero.twd-hero-framed{
  background:#fff!important;
  min-height:100dvh!important;
  height:100dvh!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
  padding:94px 0 72px!important;
}
body.home-panel-page .twd-hero-stage-wrap{
  position:relative!important;
  width:min(86vw,1120px)!important;
  max-width:1120px!important;
  margin:0 auto!important;
  padding:0!important;
  z-index:2!important;
}
body.home-panel-page .twd-hero-frame{
  position:relative!important;
  width:100%!important;
  height:min(58vh,520px)!important;
  min-height:420px!important;
  border:4px solid #111!important;
  background:#f6f3ec!important;
  overflow:hidden!important;
  box-shadow:none!important;
}
body.home-panel-page .twd-hero-frame .home-hero-media,
body.home-panel-page .twd-hero-frame .home-hero-media[data-hero-slideshow]{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  z-index:1!important;
  overflow:hidden!important;
}
body.home-panel-page .twd-hero-frame .home-hero-media::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  background:linear-gradient(90deg,rgba(0,0,0,.12),rgba(0,0,0,.02) 48%,rgba(0,0,0,.04))!important;
  pointer-events:none!important;
}
body.home-panel-page .twd-hero-frame .twd-hero-slide{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
body.home-panel-page .twd-hero-overlap-card,
body.home-panel-page .hero-copy-panel.twd-hero-overlap-card{
  position:absolute!important;
  left:0!important;
  bottom:-4px!important;
  z-index:4!important;
  width:min(570px,52vw)!important;
  max-width:min(570px,52vw)!important;
  margin:0!important;
  padding:16px 18px 14px!important;
  border:4px solid #111!important;
  border-radius:0!important;
  background:rgba(255,255,255,.94)!important;
  color:#080808!important;
  box-shadow:none!important;
  text-align:left!important;
}
body.home-panel-page .hero-copy-panel.twd-hero-overlap-card .kicker,
body.home-panel-page .hero-copy-panel.twd-hero-overlap-card .display,
body.home-panel-page .hero-copy-panel.twd-hero-overlap-card .lede{
  color:#080808!important;
  text-align:left!important;
}
body.home-panel-page .hero-copy-panel.twd-hero-overlap-card .kicker{
  display:none!important;
}
body.home-panel-page .hero-copy-panel.twd-hero-overlap-card .display{
  font-family:Inter,system-ui,sans-serif!important;
  font-size:clamp(1rem,1.35vw,1.35rem)!important;
  line-height:1.22!important;
  letter-spacing:0!important;
  max-width:none!important;
  margin:0 0 6px!important;
  font-weight:600!important;
}
body.home-panel-page .hero-copy-panel.twd-hero-overlap-card .lede{
  font-size:clamp(.84rem,.95vw,.98rem)!important;
  line-height:1.42!important;
  margin:0 0 8px!important;
  max-width:62ch!important;
}
body.home-panel-page .hero-copy-panel.twd-hero-overlap-card .home-hero-actions{
  display:flex!important;
  gap:8px!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:auto!important;
}
body.home-panel-page .hero-copy-panel.twd-hero-overlap-card .btn{
  width:auto!important;
  min-height:0!important;
  padding:8px 12px!important;
  font-size:.78rem!important;
  border-radius:999px!important;
}
body.home-panel-page #services .service-card,
#services .service-card{
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
body.home-panel-page #services .service-icon,
#services .service-icon{
  width:62px!important;
  height:62px!important;
  min-width:62px!important;
  min-height:62px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:999px!important;
  border:1px solid rgba(42,47,52,.15)!important;
  background:rgba(42,47,52,.06)!important;
  color:var(--accent)!important;
  margin:0 auto 18px!important;
}
body.home-panel-page #services .service-icon svg,
#services .service-icon svg{
  width:25px!important;
  height:25px!important;
  display:block!important;
}
@media(max-width:1024px){
  body.home-panel-page #home-hero.twd-hero-framed,
  body.home-panel-page #home-hero.home-hero.twd-hero-framed{
    height:auto!important;
    min-height:0!important;
    display:block!important;
    padding:92px 0 70px!important;
    overflow:visible!important;
  }
  body.home-panel-page .twd-hero-stage-wrap{
    width:calc(100vw - 34px)!important;
    max-width:none!important;
    padding:0!important;
  }
  body.home-panel-page .twd-hero-frame{
    height:54svh!important;
    min-height:370px!important;
    border-width:3px!important;
  }
  body.home-panel-page .twd-hero-overlap-card,
  body.home-panel-page .hero-copy-panel.twd-hero-overlap-card{
    width:min(590px,78vw)!important;
    max-width:min(590px,78vw)!important;
    left:0!important;
    bottom:-46px!important;
    padding:15px 16px!important;
    border-width:3px!important;
  }
}
@media(max-width:720px){
  body.home-panel-page #home-hero.twd-hero-framed,
  body.home-panel-page #home-hero.home-hero.twd-hero-framed{
    padding:84px 0 88px!important;
  }
  body.home-panel-page .twd-hero-stage-wrap{
    width:calc(100vw - 24px)!important;
  }
  body.home-panel-page .twd-hero-frame{
    height:48svh!important;
    min-height:310px!important;
    border-width:3px!important;
  }
  body.home-panel-page .twd-hero-overlap-card,
  body.home-panel-page .hero-copy-panel.twd-hero-overlap-card{
    width:calc(100% - 18px)!important;
    max-width:calc(100% - 18px)!important;
    bottom:-72px!important;
    padding:12px 12px 13px!important;
  }
  body.home-panel-page .hero-copy-panel.twd-hero-overlap-card .display{
    font-size:.94rem!important;
    line-height:1.22!important;
  }
  body.home-panel-page .hero-copy-panel.twd-hero-overlap-card .lede{
    font-size:.78rem!important;
    line-height:1.36!important;
    margin-bottom:7px!important;
  }
  body.home-panel-page .hero-copy-panel.twd-hero-overlap-card .home-hero-actions{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:6px!important;
  }
  body.home-panel-page .hero-copy-panel.twd-hero-overlap-card .btn{
    width:auto!important;
    padding:7px 10px!important;
    font-size:.68rem!important;
  }
  body.home-panel-page #services .service-icon,
  #services .service-icon{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
    margin-bottom:10px!important;
  }
  body.home-panel-page #services .service-icon svg,
  #services .service-icon svg{
    width:19px!important;
    height:19px!important;
  }
  body.home-panel-page #services .service-card,
  #services .service-card{
    align-items:center!important;
    justify-content:flex-start!important;
    text-align:center!important;
    min-height:154px!important;
    padding:12px 8px!important;
  }
}
@media(max-width:380px){
  body.home-panel-page .twd-hero-frame{min-height:280px!important;}
  body.home-panel-page .twd-hero-overlap-card,
  body.home-panel-page .hero-copy-panel.twd-hero-overlap-card{bottom:-76px!important;}
  body.home-panel-page #services .service-card,
  #services .service-card{min-height:148px!important;}
}


/* ============================================================
   ROUND 14 — Larger hero + translucent premium overlay
   ============================================================ */
body.home-panel-page #home-hero.twd-hero-framed,
body.home-panel-page #home-hero.home-hero.twd-hero-framed{
  min-height:100dvh!important;
  height:100dvh!important;
  padding:72px 0 38px!important;
  background:#fff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}
body.home-panel-page .twd-hero-stage-wrap{
  width:min(94vw,1360px)!important;
  max-width:1360px!important;
  height:auto!important;
  position:relative!important;
  margin:0 auto!important;
  padding:0!important;
}
body.home-panel-page .twd-hero-frame{
  width:100%!important;
  height:min(78vh,760px)!important;
  min-height:610px!important;
  border:4px solid #111!important;
  background:#111!important;
  overflow:hidden!important;
  position:relative!important;
}
body.home-panel-page .twd-hero-frame .home-hero-media,
body.home-panel-page .twd-hero-frame .home-hero-media[data-hero-slideshow]{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  z-index:1!important;
  overflow:hidden!important;
}
body.home-panel-page .twd-hero-frame .home-hero-media::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  background:linear-gradient(90deg,rgba(0,0,0,.66) 0%,rgba(0,0,0,.34) 42%,rgba(0,0,0,.06) 100%)!important;
  pointer-events:none!important;
}
body.home-panel-page .twd-hero-frame .twd-hero-slide{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
body.home-panel-page .twd-hero-overlap-card,
body.home-panel-page .hero-copy-panel.twd-hero-overlap-card{
  position:absolute!important;
  left:0!important;
  bottom:clamp(34px,6vh,70px)!important;
  z-index:5!important;
  width:min(640px,48vw)!important;
  max-width:min(640px,48vw)!important;
  margin:0!important;
  padding:clamp(22px,2.7vw,38px)!important;
  border:0!important;
  border-radius:0 24px 24px 0!important;
  background:rgba(27,31,35,.64)!important;
  color:#fff!important;
  box-shadow:0 24px 70px rgba(0,0,0,.26)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
  text-align:left!important;
}
body.home-panel-page .hero-copy-panel.twd-hero-overlap-card .kicker{
  display:block!important;
  color:rgba(255,255,255,.76)!important;
  text-align:left!important;
  margin-bottom:12px!important;
}
body.home-panel-page .hero-copy-panel.twd-hero-overlap-card .display{
  font-family:var(--font-display, Georgia, serif)!important;
  color:var(--accent,#d6a536)!important;
  text-align:left!important;
  font-size:clamp(2.35rem,4.8vw,5.35rem)!important;
  line-height:.98!important;
  letter-spacing:.015em!important;
  max-width:11ch!important;
  margin:0 0 16px!important;
  font-weight:700!important;
  text-transform:none!important;
}
body.home-panel-page .hero-copy-panel.twd-hero-overlap-card .lede{
  color:#fff!important;
  text-align:left!important;
  font-size:clamp(1rem,1.18vw,1.18rem)!important;
  line-height:1.62!important;
  max-width:48ch!important;
  margin:0 0 22px!important;
}
body.home-panel-page .hero-copy-panel.twd-hero-overlap-card .home-hero-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:auto!important;
}
body.home-panel-page .hero-copy-panel.twd-hero-overlap-card .btn{
  width:auto!important;
  min-height:0!important;
  padding:12px 20px!important;
  font-size:.82rem!important;
  border-radius:999px!important;
}
@media(max-width:1024px){
  body.home-panel-page #home-hero.twd-hero-framed,
  body.home-panel-page #home-hero.home-hero.twd-hero-framed{
    height:auto!important;
    min-height:0!important;
    display:block!important;
    padding:88px 0 42px!important;
    overflow:visible!important;
  }
  body.home-panel-page .twd-hero-stage-wrap{
    width:calc(100vw - 26px)!important;
    max-width:none!important;
  }
  body.home-panel-page .twd-hero-frame{
    height:70svh!important;
    min-height:540px!important;
    border-width:3px!important;
  }
  body.home-panel-page .twd-hero-overlap-card,
  body.home-panel-page .hero-copy-panel.twd-hero-overlap-card{
    width:min(620px,78vw)!important;
    max-width:min(620px,78vw)!important;
    bottom:34px!important;
    padding:24px 22px!important;
    border-radius:0 22px 22px 0!important;
  }
  body.home-panel-page .hero-copy-panel.twd-hero-overlap-card .display{
    font-size:clamp(2.1rem,7.2vw,4.1rem)!important;
  }
}
@media(max-width:720px){
  body.home-panel-page #home-hero.twd-hero-framed,
  body.home-panel-page #home-hero.home-hero.twd-hero-framed{
    padding:82px 0 28px!important;
  }
  body.home-panel-page .twd-hero-stage-wrap{
    width:calc(100vw - 18px)!important;
  }
  body.home-panel-page .twd-hero-frame{
    height:72svh!important;
    min-height:520px!important;
    border-width:3px!important;
  }
  body.home-panel-page .twd-hero-overlap-card,
  body.home-panel-page .hero-copy-panel.twd-hero-overlap-card{
    left:0!important;
    bottom:26px!important;
    width:calc(100% - 48px)!important;
    max-width:calc(100% - 48px)!important;
    padding:20px 16px!important;
    border-radius:0 18px 18px 0!important;
    background:rgba(27,31,35,.68)!important;
  }
  body.home-panel-page .hero-copy-panel.twd-hero-overlap-card .kicker{
    font-size:.68rem!important;
    margin-bottom:9px!important;
  }
  body.home-panel-page .hero-copy-panel.twd-hero-overlap-card .display{
    font-size:clamp(2rem,10vw,3.05rem)!important;
    line-height:1.02!important;
    max-width:10ch!important;
    margin-bottom:12px!important;
  }
  body.home-panel-page .hero-copy-panel.twd-hero-overlap-card .lede{
    font-size:.92rem!important;
    line-height:1.5!important;
    margin-bottom:14px!important;
    max-width:34ch!important;
  }
  body.home-panel-page .hero-copy-panel.twd-hero-overlap-card .home-hero-actions{
    gap:8px!important;
  }
  body.home-panel-page .hero-copy-panel.twd-hero-overlap-card .btn{
    padding:10px 14px!important;
    font-size:.72rem!important;
  }
}
@media(max-width:420px){
  body.home-panel-page .twd-hero-frame{
    height:70svh!important;
    min-height:490px!important;
  }
  body.home-panel-page .twd-hero-overlap-card,
  body.home-panel-page .hero-copy-panel.twd-hero-overlap-card{
    width:calc(100% - 34px)!important;
    max-width:calc(100% - 34px)!important;
    padding:18px 14px!important;
  }
  body.home-panel-page .hero-copy-panel.twd-hero-overlap-card .display{
    font-size:clamp(1.75rem,9.5vw,2.55rem)!important;
  }
}


/* ROUND 15 — Hero image swipe lightbox */
.twd-hero-lightbox{position:fixed;inset:0;z-index:20000;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;padding:24px;color:#fff;}
.twd-hero-lightbox.is-open{display:flex;}
.twd-hero-lightbox-inner{width:min(96vw,1500px);display:flex;flex-direction:column;align-items:center;gap:14px;}
.twd-hero-lightbox-stage{position:relative;width:100%;display:flex;align-items:center;justify-content:center;min-height:min(78vh,820px);}
.twd-hero-lightbox-image{max-width:100%;max-height:min(78vh,820px);width:auto;height:auto;object-fit:contain;border-radius:12px;box-shadow:0 30px 90px rgba(0,0,0,.42);user-select:none;-webkit-user-select:none;}
.twd-hero-lightbox-close{position:fixed;right:18px;top:18px;z-index:20002;width:46px;height:46px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);color:#fff;font-size:30px;line-height:1;display:grid;place-items:center;cursor:pointer;}
.twd-hero-lightbox-close:hover{background:var(--accent);color:#161616;}
.twd-hero-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:20001;width:48px;height:48px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.1);color:#fff;font-size:34px;display:grid;place-items:center;cursor:pointer;}
.twd-hero-lightbox-nav:hover{background:var(--accent);color:#161616;}
.twd-hero-lightbox-prev{left:8px;}
.twd-hero-lightbox-next{right:8px;}
.twd-hero-lightbox-see-more{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:12px 22px;border-radius:999px;background:var(--accent);color:#181818!important;text-decoration:none;font-weight:800;letter-spacing:.1em;text-transform:uppercase;font-size:.78rem;}
.twd-hero-lightbox-count{font-size:.78rem;color:rgba(255,255,255,.7);letter-spacing:.12em;text-transform:uppercase;}
@media(max-width:720px){.twd-hero-lightbox{padding:14px}.twd-hero-lightbox-stage{min-height:68svh}.twd-hero-lightbox-image{max-height:68svh}.twd-hero-lightbox-nav{width:42px;height:42px;font-size:28px}.twd-hero-lightbox-prev{left:0}.twd-hero-lightbox-next{right:0}.twd-hero-lightbox-close{right:12px;top:12px;width:42px;height:42px}.twd-hero-lightbox-see-more{width:min(280px,88vw)}}


/* ============================================================
   ROUND 16 — Large framed hero with bottom-left translucent
   information band, matching latest user reference.
   ============================================================ */
body.home-panel-page #home-hero.twd-hero-framed,
body.home-panel-page #home-hero.home-hero.twd-hero-framed{
  min-height:100dvh!important;
  height:100dvh!important;
  padding:52px 0 18px!important;
  background:#fff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}
body.home-panel-page .twd-hero-stage-wrap{
  width:min(99vw,1580px)!important;
  max-width:1580px!important;
  position:relative!important;
  margin:0 auto!important;
  padding:0!important;
}
body.home-panel-page .twd-hero-frame{
  position:relative!important;
  width:100%!important;
  height:min(88vh,900px)!important;
  min-height:720px!important;
  border:4px solid #111!important;
  background:#111!important;
  overflow:hidden!important;
  cursor:zoom-in!important;
}
body.home-panel-page .twd-hero-frame .home-hero-media,
body.home-panel-page .twd-hero-frame .home-hero-media[data-hero-slideshow]{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  z-index:1!important;
}
body.home-panel-page .twd-hero-frame .home-hero-media::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  background:linear-gradient(180deg,rgba(0,0,0,.04) 0%,rgba(0,0,0,.08) 58%,rgba(0,0,0,.34) 100%)!important;
  pointer-events:none!important;
}
body.home-panel-page .twd-hero-frame .twd-hero-slide{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
body.home-panel-page .twd-hero-overlap-card,
body.home-panel-page .hero-copy-panel.twd-hero-overlap-card{
  position:absolute!important;
  left:0!important;
  bottom:0!important;
  z-index:6!important;
  width:min(70%,960px)!important;
  max-width:min(70%,960px)!important;
  min-height:124px!important;
  margin:0!important;
  padding:18px 22px!important;
  border:0!important;
  border-top:4px solid #111!important;
  border-right:4px solid #111!important;
  border-radius:0!important;
  background:rgba(22,26,30,.68)!important;
  color:#fff!important;
  box-shadow:none!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-rows:auto auto auto!important;
  align-items:center!important;
  column-gap:24px!important;
  text-align:left!important;
}
body.home-panel-page .hero-copy-panel.twd-hero-overlap-card .kicker{
  display:block!important;
  grid-column:1!important;
  grid-row:1!important;
  color:rgba(255,255,255,.78)!important;
  font-size:.62rem!important;
  letter-spacing:.18em!important;
  margin:0 0 4px!important;
  text-align:left!important;
}
body.home-panel-page .hero-copy-panel.twd-hero-overlap-card .display{
  grid-column:1!important;
  grid-row:2!important;
  color:var(--accent,#d6a536)!important;
  font-family:var(--font-display, Georgia, serif)!important;
  font-size:clamp(1.1rem,1.55vw,1.75rem)!important;
  line-height:1.08!important;
  max-width:none!important;
  margin:0 0 6px!important;
  letter-spacing:.012em!important;
  text-align:left!important;
  font-weight:700!important;
}
body.home-panel-page .hero-copy-panel.twd-hero-overlap-card .lede{
  grid-column:1!important;
  grid-row:3!important;
  color:#fff!important;
  font-size:clamp(.82rem,.9vw,.98rem)!important;
  line-height:1.42!important;
  max-width:64ch!important;
  margin:0!important;
  text-align:left!important;
}
body.home-panel-page .hero-copy-panel.twd-hero-overlap-card .home-hero-actions{
  grid-column:2!important;
  grid-row:1 / span 3!important;
  display:flex!important;
  gap:9px!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  margin:0!important;
  align-self:center!important;
}
body.home-panel-page .hero-copy-panel.twd-hero-overlap-card .btn{
  width:auto!important;
  min-height:0!important;
  white-space:nowrap!important;
  padding:9px 15px!important;
  font-size:.7rem!important;
  border-radius:999px!important;
}
@media(max-width:1200px){
  body.home-panel-page .twd-hero-frame{
    height:min(86vh,820px)!important;
    min-height:640px!important;
  }
  body.home-panel-page .twd-hero-overlap-card,
  body.home-panel-page .hero-copy-panel.twd-hero-overlap-card{
    width:min(78%,900px)!important;
    max-width:min(78%,900px)!important;
  }
}
@media(max-width:1024px){
  body.home-panel-page #home-hero.twd-hero-framed,
  body.home-panel-page #home-hero.home-hero.twd-hero-framed{
    height:auto!important;
    min-height:0!important;
    display:block!important;
    padding:80px 0 28px!important;
    overflow:visible!important;
  }
  body.home-panel-page .twd-hero-stage-wrap{
    width:calc(100vw - 18px)!important;
    max-width:none!important;
  }
  body.home-panel-page .twd-hero-frame{
    height:78svh!important;
    min-height:560px!important;
    border-width:3px!important;
  }
  body.home-panel-page .twd-hero-overlap-card,
  body.home-panel-page .hero-copy-panel.twd-hero-overlap-card{
    width:min(88%,760px)!important;
    max-width:min(88%,760px)!important;
    min-height:118px!important;
    padding:15px 16px!important;
    border-top-width:3px!important;
    border-right-width:3px!important;
    column-gap:14px!important;
  }
  body.home-panel-page .hero-copy-panel.twd-hero-overlap-card .display{
    font-size:clamp(1.05rem,3.4vw,1.8rem)!important;
  }
}
@media(max-width:720px){
  body.home-panel-page #home-hero.twd-hero-framed,
  body.home-panel-page #home-hero.home-hero.twd-hero-framed{
    padding:76px 0 24px!important;
  }
  body.home-panel-page .twd-hero-stage-wrap{
    width:calc(100vw - 14px)!important;
  }
  body.home-panel-page .twd-hero-frame{
    height:76svh!important;
    min-height:520px!important;
    border-width:3px!important;
  }
  body.home-panel-page .twd-hero-overlap-card,
  body.home-panel-page .hero-copy-panel.twd-hero-overlap-card{
    width:calc(100% - 24px)!important;
    max-width:calc(100% - 24px)!important;
    min-height:0!important;
    padding:13px 12px!important;
    display:block!important;
    background:rgba(22,26,30,.74)!important;
  }
  body.home-panel-page .hero-copy-panel.twd-hero-overlap-card .kicker{
    font-size:.58rem!important;
    margin-bottom:5px!important;
  }
  body.home-panel-page .hero-copy-panel.twd-hero-overlap-card .display{
    font-size:clamp(1rem,5.6vw,1.55rem)!important;
    line-height:1.08!important;
    margin-bottom:6px!important;
  }
  body.home-panel-page .hero-copy-panel.twd-hero-overlap-card .lede{
    font-size:.75rem!important;
    line-height:1.36!important;
    max-width:34ch!important;
    margin-bottom:10px!important;
  }
  body.home-panel-page .hero-copy-panel.twd-hero-overlap-card .home-hero-actions{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:6px!important;
    justify-content:flex-start!important;
  }
  body.home-panel-page .hero-copy-panel.twd-hero-overlap-card .btn{
    padding:7px 10px!important;
    font-size:.64rem!important;
  }
}
@media(max-width:420px){
  body.home-panel-page .twd-hero-frame{
    height:74svh!important;
    min-height:500px!important;
  }
  body.home-panel-page .twd-hero-overlap-card,
  body.home-panel-page .hero-copy-panel.twd-hero-overlap-card{
    width:calc(100% - 18px)!important;
    max-width:calc(100% - 18px)!important;
  }
}



/* ROUND 17 — Hero cleanup */
body.home-panel-page .twd-hero-frame{
  border:0!important;
  outline:0!important;
  background:transparent!important;
}
body.home-panel-page .twd-hero-frame:focus-visible{
  outline:3px solid var(--accent,#d6a536)!important;
  outline-offset:4px!important;
}
body.home-panel-page .twd-hero-overlap-card,
body.home-panel-page .hero-copy-panel.twd-hero-overlap-card{
  border:0!important;
  border-top:0!important;
  border-right:0!important;
  background:rgba(22,26,30,.42)!important;
  box-shadow:0 18px 48px rgba(0,0,0,.16)!important;
}
.twd-hero-lightbox-count{display:none!important;}
@media(max-width:720px){
  body.home-panel-page .twd-hero-overlap-card,
  body.home-panel-page .hero-copy-panel.twd-hero-overlap-card{background:rgba(22,26,30,.50)!important;}
}


/* ============================================================
   ROUND 19 — Featured Stories horizontal thumbnail + title cards
   ============================================================ */
body.home-panel-page #nextgen-galleries .home-gallery-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  align-items:stretch!important;
}
body.home-panel-page #nextgen-galleries .home-gallery-card{
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid rgba(42,47,52,.10)!important;
  border-radius:18px!important;
  box-shadow:0 14px 34px rgba(30,35,40,.08)!important;
  text-decoration:none!important;
  min-height:0!important;
}
body.home-panel-page #nextgen-galleries .home-gallery-card .media{
  display:block!important;
  width:100%!important;
  overflow:hidden!important;
  background:#f6f3ec!important;
}
body.home-panel-page #nextgen-galleries .home-gallery-card .media img{
  display:block!important;
  width:100%!important;
  aspect-ratio:16/9!important;
  height:auto!important;
  object-fit:cover!important;
  object-position:center!important;
  transition:transform .35s ease!important;
}
body.home-panel-page #nextgen-galleries .home-gallery-card:hover .media img{
  transform:scale(1.035)!important;
}
body.home-panel-page #nextgen-galleries .home-gallery-card .body{
  min-height:54px!important;
  padding:11px 12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  background:#fff!important;
}
body.home-panel-page #nextgen-galleries .home-gallery-card .body .mono,
body.home-panel-page #nextgen-galleries .home-gallery-card .body p,
body.home-panel-page #nextgen-galleries .home-gallery-card span,
body.home-panel-page #nextgen-galleries .home-gallery-card p{
  display:none!important;
}
body.home-panel-page #nextgen-galleries .home-gallery-card h3{
  margin:0!important;
  font-size:.98rem!important;
  line-height:1.15!important;
  color:#252A2F!important;
  font-weight:650!important;
}
@media(max-width:1024px){
  body.home-panel-page #nextgen-galleries .home-gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px!important;
  }
}
@media(max-width:720px){
  body.home-panel-page #nextgen-galleries .home-gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  body.home-panel-page #nextgen-galleries .home-gallery-card{
    border-radius:14px!important;
  }
  body.home-panel-page #nextgen-galleries .home-gallery-card .media img{
    aspect-ratio:16/10!important;
  }
  body.home-panel-page #nextgen-galleries .home-gallery-card .body{
    min-height:48px!important;
    padding:9px 8px!important;
  }
  body.home-panel-page #nextgen-galleries .home-gallery-card h3{
    font-size:.78rem!important;
    line-height:1.12!important;
  }
}


/* ROUND 20 — Contact icons, portraits category cards, 4x2 film grids and home CTA */
.contact-icon-strip{display:flex!important;justify-content:center!important;align-items:center!important;gap:14px!important;margin-top:22px!important;}
.contact-icon-strip .contact-icon-link{width:54px!important;height:54px!important;min-width:54px!important;min-height:54px!important;border-radius:999px!important;padding:0!important;display:grid!important;place-items:center!important;background:#fff!important;color:#252A2F!important;border:1px solid rgba(42,47,52,.14)!important;box-shadow:0 12px 28px rgba(30,35,40,.08)!important;transition:transform .25s var(--ease),background .25s var(--ease),color .25s var(--ease)!important;}
.contact-icon-strip .contact-icon-link:hover{background:var(--accent)!important;color:#fff!important;transform:translateY(-2px)!important;}
.contact-icon-strip svg{width:24px!important;height:24px!important;display:block!important;}
.portrait-subpage-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0 0 34px;}
.portrait-subpage-card{min-height:128px;border-radius:24px;background:#fff;border:1px solid rgba(42,47,52,.12);box-shadow:0 16px 45px rgba(30,35,40,.08);display:grid;place-items:center;text-align:center;text-decoration:none;color:var(--accent-deep);padding:22px;transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease);}
.portrait-subpage-card:hover{transform:translateY(-3px);border-color:rgba(213,168,79,.45);box-shadow:0 20px 55px rgba(30,35,40,.12);}
.portrait-subpage-card span{font-family:'Playfair Display',serif;font-size:clamp(1.15rem,2vw,1.65rem);line-height:1.12;}
.films-list-section .home-video-grid,.films-list-section .twd-reels-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important;max-width:1240px!important;margin:0 auto 18px!important;}
.films-list-section .home-video-card{border-radius:16px!important;}
.films-list-section .home-video-frame img{aspect-ratio:16/9!important;}
.films-list-section .home-video-body{padding:12px 13px 14px!important;text-align:center!important;}
.films-list-section .home-video-body h3{font-size:clamp(.95rem,1.25vw,1.18rem)!important;margin:0 0 6px!important;}
.films-list-section .home-video-body p{font-size:.78rem!important;line-height:1.38!important;}
.show-more-btn{display:flex;align-items:center;justify-content:center;margin:20px auto 0!important;}
body.home-panel-page #testimonials .twd-testimonial-card .mono{display:none!important;}
body.home-panel-page .hero-copy-panel.twd-hero-overlap-card .home-hero-actions{flex-direction:column!important;align-items:flex-start!important;gap:10px!important;width:min(240px,100%)!important;}
body.home-panel-page .hero-copy-panel.twd-hero-overlap-card .home-hero-actions .btn{width:100%!important;justify-content:center!important;background:var(--accent)!important;color:#1b1f23!important;border-color:var(--accent)!important;padding:13px 22px!important;font-size:.82rem!important;}
body.home-panel-page .home-story-cta{margin:20px auto 0!important;width:min(760px,100%)!important;text-align:center!important;padding:20px 24px!important;border-radius:26px!important;background:rgba(255,255,255,.82)!important;border:1px solid rgba(42,47,52,.10)!important;box-shadow:0 14px 34px rgba(30,35,40,.08)!important;}
body.home-panel-page .home-story-cta h2{font-family:'Playfair Display',serif!important;font-size:clamp(1.7rem,3vw,3rem)!important;line-height:1.05!important;color:var(--accent-deep)!important;margin:6px 0 8px!important;}
body.home-panel-page .home-story-cta p{color:rgba(37,42,47,.72)!important;max-width:56ch!important;margin:0 auto 14px!important;line-height:1.55!important;}
body.home-panel-page #home-films-footer{height:auto!important;min-height:0!important;padding-bottom:0!important;}
body.home-panel-page #home-films-footer .footer{margin-bottom:0!important;padding-bottom:8px!important;}
@media(max-width:1024px){.portrait-subpage-grid,.films-list-section .home-video-grid,.films-list-section .twd-reels-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}.contact-icon-strip .contact-icon-link{width:50px!important;height:50px!important;min-width:50px!important;min-height:50px!important;}}
@media(max-width:720px){.portrait-subpage-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;}.portrait-subpage-card{min-height:98px!important;border-radius:18px!important;padding:15px!important;}.portrait-subpage-card span{font-size:1.05rem!important;}.films-list-section .home-video-grid,.films-list-section .twd-reels-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;}.films-list-section .home-video-body{padding:10px 9px 12px!important;}.films-list-section .home-video-body h3{font-size:.82rem!important;line-height:1.12!important;}.films-list-section .home-video-body p{font-size:.68rem!important;line-height:1.3!important;}.contact-icon-strip{gap:10px!important;}.contact-icon-strip .contact-icon-link{width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;}body.home-panel-page .hero-copy-panel.twd-hero-overlap-card .home-hero-actions{width:min(190px,100%)!important;}body.home-panel-page .hero-copy-panel.twd-hero-overlap-card .home-hero-actions .btn{padding:10px 16px!important;font-size:.7rem!important;}body.home-panel-page .home-story-cta{padding:18px 16px!important;margin-top:18px!important;}}


/* ROUND 21 — Testimonials review button and Portraits random mosaic */
.twd-submit-review-row{display:flex;justify-content:center;align-items:center;margin:22px auto 8px;text-align:center;}
.twd-submit-review-row .btn{min-width:180px;justify-content:center;}
.portfolio-random-mosaic-block{margin-top:28px;}
.twd-portfolio-mosaic-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  grid-auto-rows:96px;
  grid-auto-flow:dense;
  gap:8px;
}
.twd-portfolio-mosaic-item{
  position:relative;
  display:block;
  padding:0;
  border:0;
  border-radius:16px;
  overflow:hidden;
  background:#f6f3ec;
  cursor:pointer;
  grid-column:span 1;
  grid-row:span 2;
  box-shadow:0 12px 32px rgba(30,35,40,.08);
  transition:transform .25s var(--ease), box-shadow .25s var(--ease), filter .25s var(--ease);
}
.twd-portfolio-mosaic-item.is-wide{grid-column:span 2;grid-row:span 2;}
.twd-portfolio-mosaic-item.is-tall{grid-column:span 1;grid-row:span 3;}
.twd-portfolio-mosaic-item img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .42s var(--ease), filter .32s var(--ease);}
.twd-portfolio-mosaic-item span{position:absolute;left:10px;right:10px;bottom:10px;z-index:2;padding:8px 10px;border-radius:999px;background:rgba(23,27,31,.56);color:#fff;font-size:.72rem;letter-spacing:.04em;opacity:0;transform:translateY(8px);transition:opacity .25s var(--ease),transform .25s var(--ease);}
.twd-portfolio-mosaic-item::after{content:"";position:absolute;inset:0;background:rgba(213,168,79,.28);opacity:0;transition:opacity .25s var(--ease);}
.twd-portfolio-mosaic-item:hover,.twd-portfolio-mosaic-item:focus-visible{transform:translateY(-3px);box-shadow:0 20px 50px rgba(30,35,40,.16);outline:none;}
.twd-portfolio-mosaic-item:hover img,.twd-portfolio-mosaic-item:focus-visible img{transform:scale(1.045);filter:contrast(1.05) saturate(1.04);}
.twd-portfolio-mosaic-item:hover::after,.twd-portfolio-mosaic-item:focus-visible::after{opacity:1;}
.twd-portfolio-mosaic-item:hover span,.twd-portfolio-mosaic-item:focus-visible span{opacity:1;transform:translateY(0);}
.twd-portfolio-filter-live-below{margin-top:34px;}
.lightbox-gallery-cta{text-transform:uppercase;letter-spacing:.12em;}
@media(max-width:1100px){.twd-portfolio-mosaic-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:90px;}}
@media(max-width:720px){.twd-portfolio-mosaic-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:112px;gap:7px;}.twd-portfolio-mosaic-item{border-radius:12px;}.twd-portfolio-mosaic-item.is-wide{grid-column:span 2;grid-row:span 2;}.twd-portfolio-mosaic-item.is-tall{grid-row:span 2;}.twd-portfolio-mosaic-item span{opacity:1;transform:none;font-size:.62rem;bottom:7px;left:7px;right:7px;padding:6px 8px;}}


/* ROUND 22 — homepage full footer visibility and no-404 portraits tabs */
body.home-panel-page{overflow-y:auto!important;}
body.home-panel-page #home-films-footer{
  height:auto!important;
  min-height:100dvh!important;
  overflow:visible!important;
  padding-bottom:0!important;
}
body.home-panel-page #home-films-footer .footer{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  margin:26px 0 0!important;
  padding:clamp(42px,5vw,68px) 0 0!important;
  background:#fff!important;
  border-top:1px solid var(--line)!important;
}
body.home-panel-page #home-films-footer .footer-cta,
body.home-panel-page #home-films-footer .compact-footer-cta{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  text-align:center!important;
  max-width:none!important;
  margin:0!important;
  padding-bottom:clamp(36px,5vw,64px)!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body.home-panel-page #home-films-footer .footer-grid,
body.home-panel-page #home-films-footer .compact-footer-grid{
  display:grid!important;
  visibility:visible!important;
  opacity:1!important;
  grid-template-columns:1.6fr 1fr!important;
  gap:40px!important;
  padding:44px 0 34px!important;
  border-top:1px solid var(--line)!important;
  text-align:left!important;
}
body.home-panel-page #home-films-footer .footer-about,
body.home-panel-page #home-films-footer .footer-grid > div{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
body.home-panel-page #home-films-footer .footer-grid a,
body.home-panel-page #home-films-footer .footer-grid p{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  color:var(--fg-soft)!important;
}
body.home-panel-page #home-films-footer .footer-bottom,
body.home-panel-page #home-films-footer .compact-footer-bottom{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:16px!important;
  padding:22px 0 30px!important;
  border-top:1px solid var(--line)!important;
  color:var(--fg-mute)!important;
}
@media(max-width:720px){
  body.home-panel-page #home-films-footer .footer-grid,
  body.home-panel-page #home-films-footer .compact-footer-grid{
    grid-template-columns:1fr!important;
    gap:20px!important;
    text-align:center!important;
  }
  body.home-panel-page #home-films-footer .footer-bottom,
  body.home-panel-page #home-films-footer .compact-footer-bottom{
    flex-direction:column!important;
    justify-content:center!important;
    text-align:center!important;
  }
}
.portraits-page .portrait-anchor-tabs{margin-bottom:clamp(34px,5vw,64px)!important;}
.portraits-page .portfolio-random-mosaic-block{margin-bottom:clamp(54px,7vw,92px)!important;}
.portraits-page .portrait-category-stack{display:grid;gap:clamp(52px,7vw,96px);}
.portraits-page .portrait-category-section{scroll-margin-top:110px;padding-top:8px;}
.portraits-page .portrait-category-section .section-head.center,
.portraits-page .portfolio-random-mosaic-block .section-head.center{text-align:center;align-items:center;justify-content:center;}
.portraits-page .portrait-category-section .twd-plugin-fallback{max-width:760px;margin:0 auto;text-align:center;}


/* ============================================================
   ROUND 23 — homepage footer matches inner pages / reference
   ============================================================ */
body.home-panel-page .home-panel-controls{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
body.home-panel-page #home-films-footer{
  height:auto!important;
  min-height:auto!important;
  overflow:visible!important;
  padding-bottom:0!important;
  background:#fff!important;
}
body.home-panel-page #home-films-footer > .wrap{
  display:block!important;
  flex:initial!important;
}
body.home-panel-page #home-films-footer .footer{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  margin:clamp(42px,5vw,70px) 0 0!important;
  padding:clamp(64px,7vw,94px) 0 0!important;
  background:#fff!important;
  border-top:0!important;
}
body.home-panel-page #home-films-footer .footer .wrap{
  max-width:1120px!important;
}
body.home-panel-page #home-films-footer .footer-cta,
body.home-panel-page #home-films-footer .compact-footer-cta{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  text-align:center!important;
  max-width:none!important;
  margin:0 auto!important;
  padding:0 0 clamp(58px,6vw,82px)!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body.home-panel-page #home-films-footer .footer-cta .kicker,
body.home-panel-page #home-films-footer .compact-footer-cta .kicker{
  color:var(--accent-deep)!important;
  letter-spacing:.22em!important;
  margin-bottom:16px!important;
}
body.home-panel-page #home-films-footer .footer-cta .display,
body.home-panel-page #home-films-footer .compact-footer-cta .display{
  font-size:clamp(4.1rem,7.2vw,7.1rem)!important;
  line-height:.92!important;
  margin:0 0 24px!important;
  color:var(--fg)!important;
  letter-spacing:-.06em!important;
}
body.home-panel-page #home-films-footer .footer-cta .btn,
body.home-panel-page #home-films-footer .compact-footer-cta .btn{
  min-width:160px!important;
  justify-content:center!important;
  padding:17px 28px!important;
  border-radius:999px!important;
}
body.home-panel-page #home-films-footer .footer-grid,
body.home-panel-page #home-films-footer .compact-footer-grid{
  display:grid!important;
  visibility:visible!important;
  opacity:1!important;
  grid-template-columns:1.4fr 1fr!important;
  gap:clamp(56px,8vw,120px)!important;
  padding:clamp(46px,5vw,58px) 0 clamp(44px,5vw,58px)!important;
  border-top:1px solid var(--line)!important;
  text-align:left!important;
  align-items:start!important;
}
body.home-panel-page #home-films-footer .footer-about,
body.home-panel-page #home-films-footer .footer-grid > div{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
body.home-panel-page #home-films-footer .footer-about .brand{
  font-size:1.5rem!important;
  line-height:1.15!important;
  margin-bottom:22px!important;
}
body.home-panel-page #home-films-footer .footer-about p{
  max-width:38ch!important;
  color:var(--fg-mute)!important;
  font-size:1rem!important;
  line-height:1.75!important;
}
body.home-panel-page #home-films-footer .footer-grid h4{
  margin:0 0 18px!important;
  color:var(--fg-mute)!important;
}
body.home-panel-page #home-films-footer .footer-grid a,
body.home-panel-page #home-films-footer .footer-grid p{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  color:var(--fg-soft)!important;
  font-size:1rem!important;
  line-height:1.55!important;
  padding:3px 0!important;
}
body.home-panel-page #home-films-footer .footer-bottom,
body.home-panel-page #home-films-footer .compact-footer-bottom{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  justify-content:center!important;
  align-items:center!important;
  gap:18px!important;
  flex-wrap:wrap!important;
  padding:24px 0 24px!important;
  margin:0!important;
  border-top:1px solid var(--line)!important;
  color:var(--fg-mute)!important;
  text-align:center!important;
}
@media(max-width:1024px){
  body.home-panel-page #home-films-footer .footer{
    margin-top:42px!important;
    padding-top:52px!important;
  }
  body.home-panel-page #home-films-footer .footer-cta .display,
  body.home-panel-page #home-films-footer .compact-footer-cta .display{
    font-size:clamp(3rem,12vw,5.8rem)!important;
  }
}
@media(max-width:720px){
  body.home-panel-page #home-films-footer .footer{
    margin-top:34px!important;
    padding:44px 0 0!important;
  }
  body.home-panel-page #home-films-footer .footer-cta,
  body.home-panel-page #home-films-footer .compact-footer-cta{
    padding-bottom:42px!important;
  }
  body.home-panel-page #home-films-footer .footer-cta .display,
  body.home-panel-page #home-films-footer .compact-footer-cta .display{
    font-size:clamp(2.75rem,14vw,4.2rem)!important;
    line-height:.98!important;
  }
  body.home-panel-page #home-films-footer .footer-grid,
  body.home-panel-page #home-films-footer .compact-footer-grid{
    grid-template-columns:1fr!important;
    gap:26px!important;
    text-align:left!important;
    padding:36px 0 34px!important;
  }
  body.home-panel-page #home-films-footer .footer-bottom,
  body.home-panel-page #home-films-footer .compact-footer-bottom{
    flex-direction:row!important;
    justify-content:center!important;
    gap:12px!important;
    padding-bottom:84px!important;
  }
}


/* ============================================================
   ROUND 25 — Portraits: separate category pages + refined mosaic
   ============================================================ */
.portraits-page .portrait-page-tabs,
.portrait-category-page .portrait-page-tabs{
  max-width:920px;
  margin:0 auto clamp(26px,4vw,46px)!important;
  gap:10px!important;
}
.portraits-page .portrait-page-tabs .portrait-subpage-card,
.portrait-category-page .portrait-page-tabs .portrait-subpage-card{
  min-height:54px!important;
  padding:10px 16px!important;
  border-radius:999px!important;
  box-shadow:none!important;
  border:1px solid rgba(42,47,52,.14)!important;
  background:rgba(255,255,255,.92)!important;
}
.portraits-page .portrait-page-tabs .portrait-subpage-card span,
.portrait-category-page .portrait-page-tabs .portrait-subpage-card span{
  font-family:inherit!important;
  font-size:.76rem!important;
  font-weight:700!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  line-height:1.2!important;
}
.portraits-page .portrait-page-tabs .portrait-subpage-card:hover,
.portrait-category-page .portrait-page-tabs .portrait-subpage-card:hover,
.portrait-category-page .portrait-page-tabs .portrait-subpage-card.is-current{
  transform:translateY(-2px)!important;
  background:var(--accent)!important;
  color:#20252a!important;
  border-color:var(--accent)!important;
  box-shadow:0 12px 28px rgba(213,168,79,.2)!important;
}
.portfolio-mosaic-titleless{margin-top:0!important;}
.portfolio-mosaic-titleless > .section-head{display:none!important;}
.portraits-page .twd-portfolio-mosaic-grid{
  grid-template-columns:repeat(8,minmax(0,1fr))!important;
  grid-auto-rows:72px!important;
  gap:5px!important;
  padding:0!important;
  background:transparent!important;
}
.portraits-page .twd-portfolio-mosaic-item{
  min-height:0!important;
  grid-column:span 2;
  grid-row:span 3;
  border-radius:3px!important;
  box-shadow:none!important;
  background:#ece8df!important;
  isolation:isolate;
}
.portraits-page .twd-portfolio-mosaic-item:nth-child(12n+1),
.portraits-page .twd-portfolio-mosaic-item:nth-child(12n+7){grid-column:span 4!important;grid-row:span 5!important;}
.portraits-page .twd-portfolio-mosaic-item:nth-child(12n+3),
.portraits-page .twd-portfolio-mosaic-item:nth-child(12n+9){grid-column:span 2!important;grid-row:span 5!important;}
.portraits-page .twd-portfolio-mosaic-item:nth-child(12n+5),
.portraits-page .twd-portfolio-mosaic-item:nth-child(12n+11){grid-column:span 4!important;grid-row:span 3!important;}
.portraits-page .twd-portfolio-mosaic-item.is-wide{grid-column:span 4!important;grid-row:span 3!important;}
.portraits-page .twd-portfolio-mosaic-item.is-tall{grid-column:span 2!important;grid-row:span 5!important;}
.portraits-page .twd-portfolio-mosaic-item span{display:none!important;}
.portraits-page .twd-portfolio-mosaic-item::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  border:1px solid rgba(255,255,255,.7);
  opacity:0;
  transform:scale(.96);
  transition:opacity .28s var(--ease),transform .28s var(--ease);
  pointer-events:none;
}
.portraits-page .twd-portfolio-mosaic-item::after{
  background:linear-gradient(135deg,rgba(213,168,79,.18),rgba(20,24,28,.12))!important;
}
.portraits-page .twd-portfolio-mosaic-item:hover,
.portraits-page .twd-portfolio-mosaic-item:focus-visible{
  transform:none!important;
  box-shadow:none!important;
  z-index:3;
}
.portraits-page .twd-portfolio-mosaic-item:hover::before,
.portraits-page .twd-portfolio-mosaic-item:focus-visible::before{opacity:1;transform:scale(.92);}
.portraits-page .twd-portfolio-mosaic-item:hover img,
.portraits-page .twd-portfolio-mosaic-item:focus-visible img{transform:scale(1.035)!important;filter:brightness(1.06) contrast(1.04) saturate(1.05)!important;}
.portrait-category-gallery-shell{max-width:1240px;margin:0 auto;}
.portrait-category-page .center-actions{display:flex;justify-content:center;margin-top:30px;}
@media(max-width:1024px){
  .portraits-page .twd-portfolio-mosaic-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;grid-auto-rows:68px!important;}
  .portraits-page .twd-portfolio-mosaic-item{grid-column:span 2!important;grid-row:span 3!important;}
  .portraits-page .twd-portfolio-mosaic-item:nth-child(8n+1){grid-column:span 4!important;grid-row:span 4!important;}
  .portraits-page .twd-portfolio-mosaic-item:nth-child(8n+4){grid-column:span 2!important;grid-row:span 4!important;}
}
@media(max-width:720px){
  .portraits-page .portrait-page-tabs,
  .portrait-category-page .portrait-page-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;}
  .portraits-page .portrait-page-tabs .portrait-subpage-card,
  .portrait-category-page .portrait-page-tabs .portrait-subpage-card{min-height:46px!important;padding:8px 10px!important;border-radius:14px!important;}
  .portraits-page .portrait-page-tabs .portrait-subpage-card span,
  .portrait-category-page .portrait-page-tabs .portrait-subpage-card span{font-size:.64rem!important;letter-spacing:.04em!important;}
  .portraits-page .twd-portfolio-mosaic-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-auto-rows:62px!important;gap:4px!important;}
  .portraits-page .twd-portfolio-mosaic-item{grid-column:span 2!important;grid-row:span 3!important;border-radius:2px!important;}
  .portraits-page .twd-portfolio-mosaic-item:nth-child(6n+1){grid-column:span 4!important;grid-row:span 4!important;}
  .portraits-page .twd-portfolio-mosaic-item:nth-child(6n+4){grid-column:span 2!important;grid-row:span 4!important;}
}

/* ============================================================
   ROUND 26 — Unified page background + compact editorial mosaic
   ============================================================ */
:root{
  --twd-page-background:#ffffff;
}
html,
body,
.site,
.site-main,
.page-main,
.single-main,
.archive-main{
  background:var(--twd-page-background)!important;
}

/* Keep one continuous background across all standard page sections. */
body:not(.wp-admin) main > section:not(.home-hero):not(.hero-lightbox):not(.lightbox-backdrop),
body:not(.wp-admin) .page-main > section,
body:not(.wp-admin) .single-main > section,
body:not(.wp-admin) .archive-main > section,
body:not(.wp-admin) .wp-plugin-embed-section,
body:not(.wp-admin) .portraits-category-tabs-section,
body:not(.wp-admin) .films-list-section,
body:not(.wp-admin) .journal-section,
body:not(.wp-admin) .testimonials-section,
body:not(.wp-admin) .contact-section{
  background:var(--twd-page-background)!important;
  background-image:none!important;
}
body:not(.wp-admin) main > section:not(.home-hero)::before,
body:not(.wp-admin) main > section:not(.home-hero)::after,
body:not(.wp-admin) .page-main > section::before,
body:not(.wp-admin) .page-main > section::after{
  background-image:none!important;
}

/* Compact, balanced editorial mosaic with smaller photographs. */
.portraits-page .portfolio-random-mosaic-block{
  max-width:1180px!important;
  margin:0 auto clamp(48px,6vw,82px)!important;
}
.portraits-page .twd-portfolio-mosaic-grid{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  grid-auto-rows:42px!important;
  grid-auto-flow:dense!important;
  gap:7px!important;
  width:100%!important;
  padding:0!important;
  background:transparent!important;
}
.portraits-page .twd-portfolio-mosaic-item,
.portraits-page .twd-portfolio-mosaic-item.is-wide,
.portraits-page .twd-portfolio-mosaic-item.is-tall{
  grid-column:span 3!important;
  grid-row:span 4!important;
  min-height:0!important;
  border:0!important;
  border-radius:6px!important;
  overflow:hidden!important;
  box-shadow:none!important;
  background:#f0ede7!important;
}
/* A restrained repeating rhythm: mostly small tiles with a few elegant accents. */
.portraits-page .twd-portfolio-mosaic-item:nth-child(16n+1),
.portraits-page .twd-portfolio-mosaic-item:nth-child(16n+10){
  grid-column:span 4!important;
  grid-row:span 6!important;
}
.portraits-page .twd-portfolio-mosaic-item:nth-child(16n+4),
.portraits-page .twd-portfolio-mosaic-item:nth-child(16n+13){
  grid-column:span 3!important;
  grid-row:span 6!important;
}
.portraits-page .twd-portfolio-mosaic-item:nth-child(16n+7),
.portraits-page .twd-portfolio-mosaic-item:nth-child(16n+15){
  grid-column:span 5!important;
  grid-row:span 4!important;
}
.portraits-page .twd-portfolio-mosaic-item:nth-child(16n+8){
  grid-column:span 4!important;
  grid-row:span 4!important;
}
.portraits-page .twd-portfolio-mosaic-item img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
  transform:scale(1.001);
  transition:transform .45s var(--ease),filter .35s var(--ease),opacity .35s var(--ease)!important;
}
.portraits-page .twd-portfolio-mosaic-item::before{
  inset:7px!important;
  border:1px solid rgba(255,255,255,.82)!important;
  border-radius:3px!important;
}
.portraits-page .twd-portfolio-mosaic-item::after{
  background:linear-gradient(180deg,rgba(213,168,79,.05),rgba(22,26,30,.18))!important;
}
.portraits-page .twd-portfolio-mosaic-item:hover,
.portraits-page .twd-portfolio-mosaic-item:focus-visible{
  z-index:3!important;
}
.portraits-page .twd-portfolio-mosaic-item:hover img,
.portraits-page .twd-portfolio-mosaic-item:focus-visible img{
  transform:scale(1.055)!important;
  filter:brightness(1.07) contrast(1.04) saturate(1.04)!important;
}

@media(max-width:1024px){
  .portraits-page .portfolio-random-mosaic-block{max-width:900px!important;}
  .portraits-page .twd-portfolio-mosaic-grid{
    grid-template-columns:repeat(8,minmax(0,1fr))!important;
    grid-auto-rows:44px!important;
    gap:6px!important;
  }
  .portraits-page .twd-portfolio-mosaic-item,
  .portraits-page .twd-portfolio-mosaic-item.is-wide,
  .portraits-page .twd-portfolio-mosaic-item.is-tall{
    grid-column:span 2!important;
    grid-row:span 4!important;
  }
  .portraits-page .twd-portfolio-mosaic-item:nth-child(12n+1),
  .portraits-page .twd-portfolio-mosaic-item:nth-child(12n+8){grid-column:span 4!important;grid-row:span 5!important;}
  .portraits-page .twd-portfolio-mosaic-item:nth-child(12n+4),
  .portraits-page .twd-portfolio-mosaic-item:nth-child(12n+10){grid-column:span 2!important;grid-row:span 6!important;}
}

@media(max-width:720px){
  .portraits-page .portfolio-random-mosaic-block{width:100%!important;}
  .portraits-page .twd-portfolio-mosaic-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    grid-auto-rows:46px!important;
    gap:5px!important;
  }
  .portraits-page .twd-portfolio-mosaic-item,
  .portraits-page .twd-portfolio-mosaic-item.is-wide,
  .portraits-page .twd-portfolio-mosaic-item.is-tall{
    grid-column:span 2!important;
    grid-row:span 3!important;
    border-radius:4px!important;
  }
  .portraits-page .twd-portfolio-mosaic-item:nth-child(10n+1),
  .portraits-page .twd-portfolio-mosaic-item:nth-child(10n+7){grid-column:span 4!important;grid-row:span 4!important;}
  .portraits-page .twd-portfolio-mosaic-item:nth-child(10n+4){grid-column:span 2!important;grid-row:span 5!important;}
  .portraits-page .twd-portfolio-mosaic-item::before{inset:5px!important;}
}
