/*
Theme Name: SwanSong Productions
Theme URI: https://swansongproductions.ca
Author: AIscend NS
Author URI: https://aiscendgroup.ca
Description: Custom WordPress theme for SwanSong Productions — Indigenous-owned video production. 30 colour schemes, 4 layout variants, selectable from Theme Options.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: Proprietary
Text Domain: swansong
*/

/* ===== RESET & BASE ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--fh,system-ui,-apple-system,sans-serif);background:var(--bg-page);color:var(--text-primary);line-height:1.6;overflow-x:hidden;}
img{max-width:100%;display:block;}a{color:inherit;text-decoration:none;}ul{list-style:none;}
:root{--fh:system-ui,-apple-system,sans-serif;--hw:400;--ht:none;--hs:0;--border-radius:6px;--inp-bg:#fff;}

/* ===== THEME COLOR SETS (all 30) ===== */
[data-theme="northern-lights"]{--bg-page:#0a0e1a;--bg-card:#12141E;--bg-section:#12141E;--bg-footer:#080a12;--text-primary:#f0eef5;--text-secondary:rgba(255,255,255,0.55);--text-accent:#3AAFA9;--text-muted:rgba(255,255,255,0.35);--border-color:rgba(255,255,255,0.06);--btn-bg:linear-gradient(135deg,#7B4FBF,#3AAFA9);--btn-text:#fff;--btn2-bdr:rgba(255,255,255,0.15);--btn2-text:rgba(255,255,255,0.7);--a1:#7B4FBF;--a2:#3AAFA9;--a3:#E84E62;--a4:#F2A63C;--inp-bg:#12141E;}
[data-theme="medicine-wheel"]{--bg-page:#FFFBF5;--bg-card:#fff;--bg-section:#F5EDE0;--bg-footer:#F0E8DA;--text-primary:#2C1810;--text-secondary:#7A6652;--text-accent:#C4463A;--text-muted:#B09A7E;--border-color:#E8DDD0;--btn-bg:#3D2B1F;--btn-text:#FFFBF5;--btn2-bdr:#C4B99A;--btn2-text:#5C4A38;--a1:#C4463A;--a2:#D4A843;--a3:#2D6A4F;--a4:#3B6FA0;--inp-bg:#FFFBF5;}
[data-theme="storykeeper"]{--bg-page:#fff;--bg-card:#fff;--bg-section:#f5f3f0;--bg-footer:#faf9f7;--text-primary:#1a1a1a;--text-secondary:#666;--text-accent:#7B4FBF;--text-muted:#999;--border-color:#eee;--btn-bg:#1a1a1a;--btn-text:#fff;--btn2-bdr:#ddd;--btn2-text:#555;--a1:#1a1a1a;--a2:#7B4FBF;--a3:#555;--a4:#999;--inp-bg:#fff;}
[data-theme="river-stone"]{--bg-page:#F4F7F5;--bg-card:#fff;--bg-section:#E8EDEA;--bg-footer:#E8EDEA;--text-primary:#1C2D26;--text-secondary:#5A7466;--text-accent:#3D7A5F;--text-muted:#6B8574;--border-color:#D4DDD7;--btn-bg:#2D5E44;--btn-text:#E8EDEA;--btn2-bdr:#A3BBA9;--btn2-text:#3D5E4A;--a1:#3D7A5F;--a2:#8B6E4E;--a3:#5B8FA6;--a4:#7A8B6E;--inp-bg:#F4F7F5;}
[data-theme="bold-reel"]{--bg-page:#111;--bg-card:#1a1a1a;--bg-section:#1a1a1a;--bg-footer:#0a0a0a;--text-primary:#fff;--text-secondary:#777;--text-accent:#E8384F;--text-muted:#555;--border-color:#222;--btn-bg:#E8384F;--btn-text:#fff;--btn2-bdr:#333;--btn2-text:#888;--a1:#E8384F;--a2:#E8384F;--a3:#E8384F;--a4:#E8384F;--inp-bg:#1a1a1a;--hw:800;--ht:uppercase;--hs:-1px;}
[data-theme="wampum"]{--bg-page:#F8F6FB;--bg-card:#fff;--bg-section:#F0EAF5;--bg-footer:#F0EAF5;--text-primary:#2A1F3D;--text-secondary:#6E5E85;--text-accent:#6B4C9A;--text-muted:#8A7BA0;--border-color:#E0DAE8;--btn-bg:#6B4C9A;--btn-text:#F8F6FB;--btn2-bdr:#C4B5D6;--btn2-text:#5A4878;--a1:#6B4C9A;--a2:#9B7CC4;--a3:#B89BD6;--a4:#D4C0E8;--inp-bg:#F8F6FB;}
[data-theme="two-spirit-sun"]{--bg-page:#FFFAF5;--bg-card:#fff;--bg-section:#FFF5EE;--bg-footer:#FFF0E5;--text-primary:#3D2520;--text-secondary:#7D6150;--text-accent:#A45A2A;--text-muted:#876850;--border-color:#F0DDD0;--border-radius:24px;--btn-bg:#A45A2A;--btn-text:#FFFAF5;--btn2-bdr:#C4A888;--btn2-text:#6A4830;--a1:#A45A2A;--a2:#C89830;--a3:#3A8A50;--a4:#3A6AAA;--inp-bg:#FFFAF5;--hw:700;}
[data-theme="birchbark"]{--bg-page:#FAF6F0;--bg-card:#fff;--bg-section:#F0E8D8;--bg-footer:#F0E8D8;--text-primary:#3B2F24;--text-secondary:#7A6B58;--text-accent:#8B6E4E;--text-muted:#B09A7E;--border-color:#E5DAC9;--btn-bg:#3B2F24;--btn-text:#FAF6F0;--btn2-bdr:#C4B49E;--btn2-text:#5C4D3C;--a1:#C4A97A;--a2:#8B7355;--a3:#A69070;--a4:#BCA888;--inp-bg:#FAF6F0;--fh:Georgia,'Times New Roman',serif;}
[data-theme="midnight-cinema"]{--bg-page:#08090F;--bg-card:#12141E;--bg-section:#12141E;--bg-footer:#050608;--text-primary:#E0DED8;--text-secondary:rgba(255,255,255,0.45);--text-accent:#C8A04A;--text-muted:rgba(255,255,255,0.25);--border-color:rgba(255,255,255,0.06);--btn-bg:transparent;--btn-text:#C8A04A;--btn2-bdr:rgba(255,255,255,0.12);--btn2-text:rgba(255,255,255,0.4);--a1:#C8A04A;--a2:#C8A04A;--a3:#C8A04A;--a4:#C8A04A;--inp-bg:#12141E;--hs:-1px;}
[data-theme="mosaic"]{--bg-page:#FEFCFA;--bg-card:#fff;--bg-section:#F8F4EE;--bg-footer:#F8F4EE;--text-primary:#1E1E2E;--text-secondary:#666;--text-accent:#D45B4F;--text-muted:#888;--border-color:#E8E0D8;--btn-bg:#1E1E2E;--btn-text:#FEFCFA;--btn2-bdr:#D0C8C0;--btn2-text:#555;--a1:#D45B4F;--a2:#E8A840;--a3:#3A8F6E;--a4:#4878C8;--inp-bg:#FEFCFA;}
[data-theme="stillwater"]{--bg-page:#F2F5F8;--bg-card:#fff;--bg-section:#E8EEF2;--bg-footer:#E8EEF2;--text-primary:#1A2A3A;--text-secondary:#6A7A8A;--text-accent:#5B8BA0;--text-muted:#8A9AAA;--border-color:#D8E0E8;--btn-bg:#2A4A5E;--btn-text:#E8EEF2;--btn2-bdr:#B8C8D4;--btn2-text:#4A6A7E;--a1:#5B8BA0;--a2:#5B8BA0;--a3:#5B8BA0;--a4:#5B8BA0;--inp-bg:#F2F5F8;--hw:300;}
[data-theme="campfire"]{--bg-page:#1A1410;--bg-card:rgba(232,168,80,0.06);--bg-section:rgba(232,168,80,0.04);--bg-footer:#140F0A;--text-primary:#F0E0D0;--text-secondary:rgba(232,216,200,0.55);--text-accent:#E8A850;--text-muted:rgba(232,216,200,0.35);--border-color:rgba(232,168,80,0.1);--btn-bg:#E8A850;--btn-text:#1A1410;--btn2-bdr:rgba(232,168,80,0.25);--btn2-text:#E8A850;--a1:rgba(232,168,80,0.4);--a2:rgba(232,168,80,0.3);--a3:rgba(232,168,80,0.25);--a4:rgba(232,168,80,0.2);--inp-bg:rgba(232,168,80,0.06);}
[data-theme="gallery"]{--bg-page:#fff;--bg-card:#fff;--bg-section:#f8f8f6;--bg-footer:#f8f8f6;--text-primary:#111;--text-secondary:#777;--text-accent:#111;--text-muted:#aaa;--border-color:#eee;--border-radius:0px;--btn-bg:transparent;--btn-text:#111;--btn2-bdr:#ddd;--btn2-text:#888;--a1:#111;--a2:#333;--a3:#555;--a4:#777;--inp-bg:#fff;--hw:300;--ht:uppercase;--hs:3px;}
[data-theme="ribbon-skirt"]{--bg-page:#1C0F2A;--bg-card:rgba(199,72,130,0.08);--bg-section:rgba(199,72,130,0.06);--bg-footer:#140A1E;--text-primary:#F0E8F5;--text-secondary:rgba(240,232,245,0.5);--text-accent:#C74882;--text-muted:rgba(240,232,245,0.3);--border-color:rgba(255,255,255,0.06);--btn-bg:linear-gradient(90deg,#C74882,#E8A840);--btn-text:#fff;--btn2-bdr:rgba(240,232,245,0.15);--btn2-text:rgba(240,232,245,0.5);--a1:#C74882;--a2:#E8A840;--a3:#3AA880;--a4:#5878D8;--inp-bg:rgba(199,72,130,0.06);}
[data-theme="typewriter"]{--bg-page:#F5F2EB;--bg-card:#fff;--bg-section:#EDE8DF;--bg-footer:#EDE8DF;--text-primary:#1A1A1A;--text-secondary:#555;--text-accent:#1A1A1A;--text-muted:#888;--border-color:#1A1A1A;--border-radius:0px;--btn-bg:transparent;--btn-text:#1A1A1A;--btn2-bdr:#aaa;--btn2-text:#666;--a1:#1A1A1A;--a2:#1A1A1A;--a3:#1A1A1A;--a4:#1A1A1A;--inp-bg:#F5F2EB;--fh:'Courier New',Courier,monospace;--hs:1px;}
[data-theme="sweetgrass"]{--bg-page:#F5F8F0;--bg-card:#fff;--bg-section:#EAF0DE;--bg-footer:#E4ECD4;--text-primary:#2A3520;--text-secondary:#6A7A58;--text-accent:#7A8A38;--text-muted:#8A9A72;--border-color:#D8E0C8;--btn-bg:#4A5E30;--btn-text:#F0F5E8;--btn2-bdr:#B0C090;--btn2-text:#4A5E30;--a1:#8BA05E;--a2:#A0B878;--a3:#C4A05A;--a4:#8BA05E;--inp-bg:#F5F8F0;}
[data-theme="neon-reel"]{--bg-page:#0A0A12;--bg-card:#14141E;--bg-section:#14141E;--bg-footer:#060608;--text-primary:#E0E0E8;--text-secondary:rgba(255,255,255,0.4);--text-accent:#E040A0;--text-muted:rgba(255,255,255,0.2);--border-color:rgba(224,64,160,0.1);--btn-bg:transparent;--btn-text:#E040A0;--btn2-bdr:rgba(255,255,255,0.1);--btn2-text:rgba(255,255,255,0.4);--a1:#E040A0;--a2:#E040A0;--a3:#E040A0;--a4:#E040A0;--inp-bg:#14141E;--hw:700;}
[data-theme="patchwork"]{--bg-page:#FBF8F3;--bg-card:#fff;--bg-section:#F0E8D8;--bg-footer:#F0E8D8;--text-primary:#2A2420;--text-secondary:#6A5A48;--text-accent:#C85A50;--text-muted:#A08868;--border-color:#E0D8CC;--btn-bg:#2A2420;--btn-text:#FBF8F3;--btn2-bdr:#C8B8A0;--btn2-text:#5A4A38;--a1:#C85A50;--a2:#E8B040;--a3:#4878A0;--a4:#6A9860;--inp-bg:#FBF8F3;}
[data-theme="horizon-line"]{--bg-page:#0C1018;--bg-card:#141820;--bg-section:#141820;--bg-footer:#080C12;--text-primary:#D0D4D8;--text-secondary:rgba(255,255,255,0.45);--text-accent:#D08040;--text-muted:rgba(255,255,255,0.25);--border-color:rgba(255,255,255,0.06);--btn-bg:#D08040;--btn-text:#0C1018;--btn2-bdr:rgba(208,128,64,0.3);--btn2-text:#D08040;--a1:#D08040;--a2:#D08040;--a3:#D08040;--a4:#D08040;--inp-bg:#141820;}
[data-theme="drum-circle"]{--bg-page:#F8F0E8;--bg-card:#fff;--bg-section:#F0E4D4;--bg-footer:#EEE2D0;--text-primary:#3A2418;--text-secondary:#7A5A40;--text-accent:#B85830;--text-muted:#9A7A60;--border-color:#DDD0C0;--border-radius:50px;--btn-bg:#B85830;--btn-text:#F8F0E8;--btn2-bdr:#C8A888;--btn2-text:#6A4830;--a1:#B85830;--a2:#B85830;--a3:#B85830;--a4:#B85830;--inp-bg:#F8F0E8;}
[data-theme="polar"]{--bg-page:#F0F4F8;--bg-card:#fff;--bg-section:#E2EBF3;--bg-footer:#D4E1ED;--text-primary:#0F2138;--text-secondary:#4A6B8A;--text-accent:#2980B9;--text-muted:#7FA3C2;--border-color:#C8D8E8;--btn-bg:#1B3A5C;--btn-text:#F0F4F8;--btn2-bdr:#8AAEC8;--btn2-text:#2A5578;--a1:#2980B9;--a2:#3498DB;--a3:#1ABC9C;--a4:#2980B9;--inp-bg:#F0F4F8;--fh:'Outfit',sans-serif;--hw:600;}
[data-theme="darkroom"]{--bg-page:#1A0A10;--bg-card:#2A1420;--bg-section:#2A1420;--bg-footer:#120810;--text-primary:#F0E4D8;--text-secondary:rgba(240,228,216,0.55);--text-accent:#C4785A;--text-muted:rgba(240,228,216,0.3);--border-color:rgba(196,120,90,0.12);--btn-bg:#C4785A;--btn-text:#1A0A10;--btn2-bdr:rgba(196,120,90,0.25);--btn2-text:#C4785A;--a1:#C4785A;--a2:#D4A574;--a3:#8A4A5A;--a4:#C4785A;--inp-bg:#2A1420;--fh:'Playfair Display',serif;--hw:400;}
[data-theme="powwow"]{--bg-page:#FFF8F0;--bg-card:#fff;--bg-section:#FFF0E0;--bg-footer:#F8E8D4;--text-primary:#2A1008;--text-secondary:#6A4A38;--text-accent:#D42B1E;--text-muted:#A08068;--border-color:#F0D8C0;--border-radius:4px;--btn-bg:#D42B1E;--btn-text:#FFF8F0;--btn2-bdr:#D8A880;--btn2-text:#8A3A18;--a1:#D42B1E;--a2:#E8782A;--a3:#F0C040;--a4:#D42B1E;--inp-bg:#FFF8F0;--fh:'Oswald',sans-serif;--hw:700;--ht:uppercase;--hs:1px;}
[data-theme="blueprint"]{--bg-page:#0A2A48;--bg-card:#0E3458;--bg-section:#0E3458;--bg-footer:#081E38;--text-primary:#C8E0F0;--text-secondary:rgba(200,224,240,0.55);--text-accent:#68B8E8;--text-muted:rgba(200,224,240,0.3);--border-color:rgba(104,184,232,0.12);--btn-bg:#68B8E8;--btn-text:#0A2A48;--btn2-bdr:rgba(104,184,232,0.25);--btn2-text:#68B8E8;--a1:#68B8E8;--a2:#68B8E8;--a3:#68B8E8;--a4:#68B8E8;--inp-bg:#0E3458;--fh:'JetBrains Mono',monospace;--hs:0.5px;}
[data-theme="wildflower"]{--bg-page:#FAF8F5;--bg-card:#fff;--bg-section:#F2EFE8;--bg-footer:#EDE8E0;--text-primary:#2A3028;--text-secondary:#6A7068;--text-accent:#8A6898;--text-muted:#9A9890;--border-color:#E0DCD4;--border-radius:12px;--btn-bg:#8A6898;--btn-text:#FAF8F5;--btn2-bdr:#C8B8D0;--btn2-text:#6A5878;--a1:#8A6898;--a2:#A8B898;--a3:#D8A8B0;--a4:#8A9878;--inp-bg:#FAF8F5;--fh:'Cormorant Garamond',serif;--hw:300;}
[data-theme="marquee"]{--bg-page:#F8F4EC;--bg-card:#fff;--bg-section:#EDE6D8;--bg-footer:#E0D8C8;--text-primary:#2A1420;--text-secondary:#5A3848;--text-accent:#7A2840;--text-muted:#8A6878;--border-color:#D8CCC0;--btn-bg:#7A2840;--btn-text:#F8F4EC;--btn2-bdr:#B8A090;--btn2-text:#5A2838;--a1:#7A2840;--a2:#C8A868;--a3:#7A2840;--a4:#C8A868;--inp-bg:#F8F4EC;--fh:'Cinzel',serif;--hw:400;--ht:uppercase;--hs:2px;}
[data-theme="boreal"]{--bg-page:#F5F0E4;--bg-card:#fff;--bg-section:#E8E0D0;--bg-footer:#DCD4C0;--text-primary:#1A2A10;--text-secondary:#4A5838;--text-accent:#3A5A20;--text-muted:#7A8868;--border-color:#D0C8B0;--btn-bg:#2A3A1A;--btn-text:#F5F0E4;--btn2-bdr:#A8A088;--btn2-text:#3A4A28;--a1:#3A5A20;--a2:#6A8A48;--a3:#4A6A30;--a4:#8AA868;--inp-bg:#F5F0E4;--fh:'Lora',serif;}
[data-theme="ember"]{--bg-page:#0A0A0A;--bg-card:#161616;--bg-section:#161616;--bg-footer:#050505;--text-primary:#F0F0F0;--text-secondary:rgba(240,240,240,0.5);--text-accent:#F07020;--text-muted:rgba(240,240,240,0.2);--border-color:rgba(240,112,32,0.1);--btn-bg:#F07020;--btn-text:#0A0A0A;--btn2-bdr:rgba(240,112,32,0.3);--btn2-text:#F07020;--a1:#F07020;--a2:#F09030;--a3:#F07020;--a4:#E05010;--inp-bg:#161616;--fh:'Bebas Neue',sans-serif;--hw:400;--ht:uppercase;--hs:2px;}
[data-theme="chalk"]{--bg-page:#2A3038;--bg-card:#343C44;--bg-section:#343C44;--bg-footer:#222830;--text-primary:#E8E0D0;--text-secondary:rgba(232,224,208,0.6);--text-accent:#E8D898;--text-muted:rgba(232,224,208,0.3);--border-color:rgba(232,224,208,0.1);--btn-bg:#E8D898;--btn-text:#2A3038;--btn2-bdr:rgba(232,224,208,0.2);--btn2-text:#E8D898;--a1:#E8D898;--a2:#A8D8C8;--a3:#E8A8A8;--a4:#A8B8E8;--inp-bg:#343C44;--fh:'Caveat',cursive;--hw:700;}
[data-theme="spectrum"]{--bg-page:#FAFAFE;--bg-card:#fff;--bg-section:#F0F0F8;--bg-footer:#E8E8F0;--text-primary:#1A1A2E;--text-secondary:#4A4A68;--text-accent:#4088D8;--text-muted:#8888A8;--border-color:#D8D8E8;--border-radius:16px;--btn-bg:#4088D8;--btn-text:#fff;--btn2-bdr:#B8B8D0;--btn2-text:#4A4A68;--a1:#E84040;--a2:#F08828;--a3:#40B868;--a4:#4088D8;--inp-bg:#FAFAFE;--fh:'Sora',sans-serif;--hw:600;}

/* ===== WORDPRESS ADMIN BAR SPACING ===== */
body.admin-bar .site-wrap{padding-top:32px;}
@media(max-width:782px){body.admin-bar .site-wrap{padding-top:46px;}}

/* ===== LAYOUT — WordPress uses real pages, no .page show/hide ===== */
.site-wrap{min-height:100vh;}
.ab{height:4px;width:100%;}
.sec{padding:40px 24px;max-width:1100px;margin:0 auto;}
.sec h1,.sec h2{font-family:var(--fh);font-weight:var(--hw);text-transform:var(--ht);letter-spacing:var(--hs);}
.sec h1{font-size:26px;margin-bottom:8px;}.sec h2{font-size:20px;margin-bottom:18px;}

/* ===== HEADER + NAV ===== */
.hdr{padding:12px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:none;max-width:1100px;margin:0 auto;position:sticky;top:0;z-index:100;background:transparent;transition:box-shadow .3s;}.hdr::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:100vw;height:100%;background:var(--bg-page);z-index:-1;border-bottom:1px solid var(--border-color);}.hdr.scrolled::before{box-shadow:0 2px 12px rgba(0,0,0,.08);}
.logo{display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--text-accent);}.logo svg{width:32px;height:29px;}.logo span{font-size:14px;font-weight:500;}
.nav{display:flex;align-items:center;}
.ham{display:none;flex-direction:column;gap:4px;cursor:pointer;padding:8px;}.ham span{width:22px;height:2px;background:var(--text-primary);border-radius:1px;transition:transform .2s,opacity .2s;}

/* ===== HERO VARIANTS ===== */
.hero-a{padding:56px 24px 44px;max-width:1100px;margin:0 auto;}
.hero-a .hs{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;}
.hero-a h1{font-size:32px;line-height:1.2;margin-bottom:10px;font-family:var(--fh);font-weight:var(--hw);text-transform:var(--ht);letter-spacing:var(--hs);}.hero-a h1 .ac{color:var(--text-accent);}
.hero-a .sub{font-size:14px;color:var(--text-secondary);line-height:1.7;margin-bottom:20px;max-width:460px;}
.hero-a .hm{background:var(--bg-section);border-radius:var(--border-radius);aspect-ratio:16/10;position:relative;overflow:hidden;}.hero-a .hm img{width:100%;height:100%;object-fit:cover;border-radius:var(--border-radius);}
.hey{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px;}

/* Buttons */
.bp{padding:10px 22px;border-radius:var(--border-radius);background:var(--btn-bg);color:var(--btn-text);font-size:13px;font-weight:500;cursor:pointer;border:none;display:inline-block;}.bp:hover{opacity:.85;}
[data-theme="midnight-cinema"] .bp,[data-theme="gallery"] .bp,[data-theme="neon-reel"] .bp,[data-theme="typewriter"] .bp{border:2px solid var(--text-accent);}
.bs{padding:10px 22px;border-radius:var(--border-radius);border:1px solid var(--btn2-bdr);color:var(--btn2-text);font-size:13px;cursor:pointer;display:inline-block;background:0;}
.play{width:48px;height:48px;border-radius:50%;background:rgba(128,128,128,.15);display:flex;align-items:center;justify-content:center;}.play::after{content:'';width:0;height:0;border-left:14px solid var(--text-secondary);border-top:9px solid transparent;border-bottom:9px solid transparent;margin-left:3px;opacity:.4;}

/* ===== SERVICE CARDS (homepage) ===== */
.sg{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.sc{background:var(--bg-card);border-radius:8px;padding:18px 14px;border:1px solid var(--border-color);cursor:pointer;transition:transform .15s;}.sc:hover{transform:translateY(-2px);}
.sc-bar{width:18px;height:3px;border-radius:2px;margin-bottom:8px;}.sc h3{font-size:13px;font-weight:500;margin-bottom:3px;}.sc p{font-size:11px;color:var(--text-secondary);line-height:1.4;}
.tp{font-size:9px;color:var(--text-accent);margin-top:6px;letter-spacing:1px;text-transform:uppercase;}

/* Stat callout */
.stat-callout{background:var(--bg-section);border-radius:var(--border-radius);padding:24px 28px;display:flex;align-items:baseline;gap:14px;border-left:4px solid var(--text-accent);margin-top:24px;}
.stat-num{font-size:36px;font-weight:700;color:var(--text-accent);line-height:1;font-family:var(--fh);}
.stat-txt{font-size:14px;color:var(--text-primary);line-height:1.5;flex:1;}
.stat-src{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;}

/* ===== SERVICES LANDING CARDS ===== */
.sl-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.sl-card{background:var(--bg-card);border-radius:8px;border:1px solid var(--border-color);overflow:hidden;cursor:pointer;transition:transform .15s;display:grid;grid-template-columns:180px 1fr;}
.sl-card:hover{transform:translateY(-2px);}.sl-img{background:var(--bg-section);overflow:hidden;}.sl-img img{width:100%;height:100%;object-fit:cover;}
.sl-body{padding:18px;}.sl-body h3{font-size:16px;font-weight:500;margin:6px 0 4px;}.sl-body p{font-size:12px;color:var(--text-secondary);line-height:1.5;}
.sl-link{font-size:12px;color:var(--text-accent);margin-top:8px;display:inline-block;}

/* ===== COMMUNITIES ===== */
.cg{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}.cc{background:var(--bg-card);border-radius:8px;border:1px solid var(--border-color);overflow:hidden;}
.cci{aspect-ratio:4/3;background:var(--bg-section);overflow:hidden;}.cci img{width:100%;height:100%;object-fit:cover;}
.cc h3{font-size:13px;font-weight:500;padding:10px 14px 3px;}.cc p{font-size:11px;color:var(--text-secondary);padding:0 14px 12px;}

/* ===== TESTIMONIALS ===== */
.tg{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;}.tc{background:var(--bg-card);border-radius:8px;padding:20px;border:1px solid var(--border-color);}
.tc blockquote{font-size:13px;color:var(--text-secondary);font-style:italic;line-height:1.7;margin-bottom:10px;}
.ta{font-size:11px;display:flex;gap:10px;align-items:center;}.ta strong{color:var(--text-primary);}.ta span{color:var(--text-muted);}
.tst-logo{height:32px;width:auto;object-fit:contain;flex-shrink:0;}

/* ===== BADGES + SOCIAL ===== */
.badges{display:flex;gap:12px;flex-wrap:wrap;align-items:center;}.cert-logo{height:40px;width:auto;object-fit:contain;}
.sl2{display:flex;gap:12px;font-size:12px;margin-top:14px;}.sl2 a{color:var(--text-accent);}
.soc-bar{display:flex;gap:2px;align-items:center;}.soc-i{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-size:9px;font-weight:600;color:var(--text-secondary);border:1px solid var(--border-color);text-transform:uppercase;letter-spacing:0;}.soc-i:hover{color:var(--text-accent);border-color:var(--text-accent);}

/* ===== SERVICE DETAIL PAGES ===== */
.back-link{font-size:12px;color:var(--text-accent);display:inline-block;margin-bottom:16px;}.back-link:hover{text-decoration:underline;}
.sd{padding:44px 24px;max-width:900px;margin:0 auto;}.sd h1{font-family:var(--fh);font-size:26px;font-weight:var(--hw);margin-bottom:6px;text-transform:var(--ht);letter-spacing:var(--hs);}
.stag{font-size:14px;color:var(--text-accent);margin-bottom:18px;}.sbody{font-size:14px;color:var(--text-secondary);line-height:1.8;}.sbody p{margin-bottom:10px;}
.hero-img{width:100%;aspect-ratio:16/9;background:var(--bg-section);border-radius:8px;margin-bottom:20px;overflow:hidden;}.hero-img img{width:100%;height:100%;object-fit:cover;}
.cta{margin-top:24px;padding:22px;background:var(--bg-section);border-radius:8px;text-align:center;}.cta h3{font-size:16px;margin-bottom:4px;}.cta p{font-size:13px;color:var(--text-secondary);margin-bottom:10px;}
.cta-soc{margin-top:12px;font-size:11px;color:var(--text-muted);}.cta-soc a{color:var(--text-accent);margin:0 4px;}.cta-soc a:hover{text-decoration:underline;}
.cs{margin-top:16px;padding:16px;background:var(--bg-section);border-radius:8px;border-left:3px solid var(--text-accent);}.cs h3{font-size:13px;font-weight:500;margin-bottom:6px;}.cs p,.cs li{font-size:12px;color:var(--text-secondary);line-height:1.6;}.cs ul{padding-left:14px;list-style:disc;}.cs li{margin-bottom:3px;}
.tr{display:flex;gap:6px;margin-bottom:10px;flex-wrap:wrap;}.tb{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-accent);background:var(--bg-section);padding:3px 10px;border-radius:4px;}
.tdet{margin-top:20px;padding-top:16px;border-top:1px solid var(--border-color);}.tdet h2{font-size:16px;margin-bottom:12px;}
.td{margin-bottom:12px;}.td h3{font-size:13px;font-weight:500;color:var(--text-accent);margin-bottom:2px;}.td p{font-size:12px;color:var(--text-secondary);line-height:1.6;}
.sub-sec{display:grid;grid-template-columns:200px 1fr;gap:20px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border-color);}
.sub-img{aspect-ratio:16/9;background:var(--bg-section);border-radius:6px;overflow:hidden;}.sub-img img{width:100%;height:100%;object-fit:cover;}
.sub-body h2{font-size:17px;margin-bottom:4px;}.sub-body p{font-size:13px;color:var(--text-secondary);line-height:1.7;margin-top:6px;}
.sub-ex{padding-left:14px;list-style:disc;margin-top:6px;}.sub-ex li{font-size:12px;color:var(--text-secondary);margin-bottom:3px;}

/* ===== PORTFOLIO ===== */
.pg2{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}.pc{background:var(--bg-card);border-radius:8px;border:1px solid var(--border-color);overflow:hidden;}
.pt{aspect-ratio:16/9;background:var(--bg-section);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}.pt img{width:100%;height:100%;object-fit:cover;}.play-ov{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;}.play-ov::after{content:'';width:0;height:0;border-left:12px solid #fff;border-top:7px solid transparent;border-bottom:7px solid transparent;margin-left:2px;}.ss-video-facade[data-embed]:hover .play-ov{background:rgba(0,0,0,.7);transform:translate(-50%,-50%) scale(1.15);transition:all .2s;}.pi{padding:10px 14px;}.pi h3{font-size:13px;font-weight:500;margin-bottom:2px;}.pty{font-size:10px;color:var(--text-accent);letter-spacing:1px;text-transform:uppercase;}.pd{font-size:11px;color:var(--text-secondary);margin-top:3px;}.pt iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;}
.demo-reel-wrap{position:relative;aspect-ratio:16/9;max-width:900px;margin:0 auto;overflow:hidden;border-radius:var(--border-radius);background:var(--bg-section);}.demo-reel-wrap img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;}.demo-reel-wrap iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;border-radius:var(--border-radius);}.demo-reel-sec{text-align:center;}

/* ===== ABOUT ===== */
.ag{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start;}
.at2 h1,.at2 h2{font-family:var(--fh);font-weight:var(--hw);text-transform:var(--ht);letter-spacing:var(--hs);}.at2 h1{font-size:26px;margin-bottom:12px;}.at2 h2{font-size:17px;margin:16px 0 8px;}
.at2 p{font-size:13px;color:var(--text-secondary);line-height:1.8;margin-bottom:10px;}
.ab-divider{height:1px;background:var(--border-color);margin:24px 0;}
.wwd-sub{font-size:15px;color:var(--text-accent);margin-bottom:10px;font-weight:500;}
.ai2{background:var(--bg-section);border-radius:8px;aspect-ratio:3/4;overflow:hidden;}.ai2 img{width:100%;height:100%;object-fit:cover;}
.capg{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px;}.cap{background:var(--bg-section);border-radius:8px;padding:14px;}.cap h3{font-size:12px;font-weight:500;margin-bottom:3px;}.cap p{font-size:11px;color:var(--text-secondary);line-height:1.4;}
.eqg{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px;}.eq{background:var(--bg-card);border-radius:6px;padding:12px;border:1px solid var(--border-color);}.eq h4{font-size:12px;font-weight:500;margin-bottom:2px;}.eq p{font-size:11px;color:var(--text-secondary);}
.addon-list{padding-left:14px;list-style:disc;margin-top:8px;}.addon-list li{font-size:12px;color:var(--text-secondary);margin-bottom:3px;}

/* ===== SERVICE AREA ===== */
.area-sec{margin-top:24px;padding-top:16px;border-top:1px solid var(--border-color);}.area-sec h2{font-size:17px;margin-bottom:6px;}
.area-note{font-size:12px;color:var(--text-secondary);margin-bottom:10px;}.area-g{display:flex;flex-wrap:wrap;gap:8px;}
.at{background:var(--bg-section);padding:6px 14px;border-radius:var(--border-radius);border:1px solid var(--border-color);font-size:12px;font-weight:500;}

/* ===== CONTACT + FAQ ACCORDION ===== */
.ctg{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:32px;}.cti-essential{grid-column:1;grid-row:1;}.cf{grid-column:2;grid-row:1/3;}.cti-supplementary{grid-column:1;grid-row:2;}
.cti-essential h1{font-family:var(--fh);font-size:26px;font-weight:var(--hw);margin-bottom:10px;text-transform:var(--ht);letter-spacing:var(--hs);}.cti-essential p{font-size:13px;color:var(--text-secondary);line-height:1.8;margin-bottom:10px;}
.cd{display:flex;gap:8px;margin-bottom:8px;align-items:baseline;}.cd .cl{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);min-width:48px;}.cd .cv{font-size:13px;}
.cf{background:var(--bg-card);border-radius:8px;padding:22px;border:1px solid var(--border-color);}.cf h2{font-size:16px;font-weight:500;margin-bottom:14px;}
.fg{margin-bottom:10px;}.fg label{display:block;font-size:11px;color:var(--text-secondary);margin-bottom:2px;}
.fg input,.fg textarea,.fg select{width:100%;padding:8px 10px;border:1px solid var(--border-color);border-radius:var(--border-radius);background:var(--inp-bg);color:var(--text-primary);font-size:12px;font-family:inherit;}.fg textarea{resize:vertical;min-height:50px;}.fr{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.faq-sec{margin-top:32px;padding-top:20px;border-top:1px solid var(--border-color);}.faq-sec h2{font-size:18px;margin-bottom:14px;}
.fi{border-bottom:1px solid var(--border-color);}.fq{padding:12px 0;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:13px;font-weight:500;}.fq:hover{color:var(--text-accent);}.ft{font-size:16px;color:var(--text-muted);}.fa{display:none;padding:0 0 12px;}.fa.open{display:block;}.fa p{font-size:12px;color:var(--text-secondary);line-height:1.6;}

/* ===== MERCH ===== */
.mg2{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.mc{background:var(--bg-card);border-radius:8px;border:1px solid var(--border-color);overflow:hidden;transition:transform .15s;}.mc:hover{transform:translateY(-2px);}
.mci{aspect-ratio:1;background:var(--bg-section);display:flex;align-items:center;justify-content:center;}.merch-svg{width:80px;height:80px;color:var(--text-primary);}.merch-svg svg{width:100%;height:100%;}
.mcb{padding:12px;}.mcn{font-size:13px;font-weight:500;margin-bottom:2px;}.mcp{font-size:12px;color:var(--text-accent);margin-bottom:8px;}
.mcbt{display:block;text-align:center;padding:7px;border-radius:var(--border-radius);background:var(--btn-bg);color:var(--btn-text);font-size:11px;cursor:pointer;border:none;}.mcbt:hover{opacity:.85;}
.shopify-note{text-align:center;margin-top:16px;font-size:10px;color:var(--text-muted);letter-spacing:1px;}
.mn{font-size:11px;color:var(--text-muted);font-style:italic;padding:10px 14px;background:var(--bg-section);border-radius:6px;margin-bottom:16px;border-left:3px solid var(--text-accent);}

/* ===== BLOG ===== */
.bg2{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}.bl{background:var(--bg-card);border-radius:8px;border:1px solid var(--border-color);overflow:hidden;}
.bl-t{aspect-ratio:16/9;background:var(--bg-section);overflow:hidden;}.bl-t img{width:100%;height:100%;object-fit:cover;}.bl-i{padding:12px 14px;}.bl-i h3{font-size:13px;font-weight:500;margin-bottom:2px;}.bl-d{font-size:11px;color:var(--text-muted);}
.blog-sub{background:var(--bg-section);border-radius:var(--border-radius);padding:14px 18px;margin-bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:14px;}.blog-sub span{font-size:12px;color:var(--text-secondary);}
.sub-row{display:flex;gap:6px;}.sub-row input{padding:7px 10px;border:1px solid var(--border-color);border-radius:var(--border-radius);background:var(--inp-bg);color:var(--text-primary);font-size:12px;width:200px;}

/* ===== MAP ===== */
.map-embed{margin-top:16px;border-radius:var(--border-radius);overflow:hidden;}

/* ===== FOOTER ===== */
.ftr{padding:28px 24px;border-top:1px solid var(--border-color);max-width:1100px;margin:0 auto;}
.fg3{display:grid;grid-template-columns:2fr 1fr 1fr;gap:28px;}
.fb{display:flex;align-items:center;gap:8px;margin-bottom:6px;color:var(--text-accent);}.fb svg{width:24px;height:22px;}.fb span{font-size:13px;font-weight:500;}
.fi2{font-size:11px;color:var(--text-secondary);line-height:1.8;}
.fhd{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--text-secondary);margin-bottom:6px;font-weight:600;}
.fl{font-size:12px;color:var(--text-secondary);list-style:none;padding:0;margin:0;line-height:2.0;}.fl li{margin:0;padding:0;}.fl a{display:inline;padding:0;margin:0;text-decoration:none;}.fl a:hover{color:var(--text-primary);}
.ftr-soc{display:flex;gap:4px;margin-top:10px;font-size:13px;flex-wrap:wrap;}.ftr-soc a{color:var(--text-accent);padding:6px 10px;min-height:44px;display:inline-flex;align-items:center;gap:10px;text-decoration:none;border-radius:var(--border-radius);transition:background .2s;}.ftr-soc a:hover{background:var(--bg-section);text-decoration:none;}.soc-icon{display:inline-flex;align-items:center;}.soc-icon svg{flex-shrink:0;}.soc-label{font-size:13px;}
.sl2{display:flex;gap:4px;margin-top:12px;flex-wrap:wrap;}.sl2::before{content:'Follow us — click to visit:';display:block;width:100%;font-size:11px;color:var(--text-muted);margin-bottom:4px;}.sl2 a{color:var(--text-accent);padding:8px 12px;min-height:44px;display:inline-flex;align-items:center;gap:10px;text-decoration:none;border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:13px;transition:background .2s;}.sl2 a:hover{background:var(--bg-section);}
.fc{margin-top:20px;padding-top:12px;border-top:1px solid var(--border-color);font-size:10px;color:var(--text-muted);display:flex;justify-content:space-between;}

/* ===== LAYOUT B: CINEMATIC ===== */
.hero-b,.alt-rows-wrap,.feat-strip,.port-asym{display:none;}
[data-layout="b"] .hero-a{display:none;}
[data-layout="b"] .hero-b{display:block;position:relative;height:75vh;min-height:450px;overflow:hidden;}
[data-layout="b"] .hero-b>img,[data-layout="b"] .hero-b>video{width:100%;height:100%;object-fit:cover;}
[data-layout="b"] .hero-b .ho{position:absolute;bottom:0;left:0;right:0;padding:60px 40px 40px;background:linear-gradient(transparent,rgba(0,0,0,.75));}
[data-layout="b"] .hero-b h1{font-size:36px;color:#F8F4EC;line-height:1.2;margin-bottom:8px;font-family:var(--fh);font-weight:var(--hw);text-transform:var(--ht);letter-spacing:var(--hs);}[data-layout="b"] .hero-b h1 .ac{color:var(--text-accent);}
[data-layout="b"] .hero-b .sub{font-size:14px;color:rgba(248,244,236,.7);margin-bottom:16px;}
[data-layout="b"] .hero-b .bp{border:1px solid var(--text-accent);background:transparent;color:var(--text-accent);}
[data-layout="b"] .svc-standard{display:none;}
[data-layout="b"] .alt-rows-wrap{display:block;}
[data-layout="b"] .feat-strip{display:block;}
[data-layout="b"] .port-standard{display:none;}
[data-layout="b"] .port-asym{display:grid;grid-template-columns:1.5fr 1fr;gap:14px;max-width:1100px;margin:0 auto;padding:0 24px;}
.alt-row{display:grid;grid-template-columns:1fr 1fr;min-height:320px;border-bottom:1px solid var(--border-color);}.alt-rev{direction:rtl;}.alt-rev>*{direction:ltr;}
.alt-img{overflow:hidden;background:var(--bg-section);}.alt-img img{width:100%;height:100%;object-fit:cover;}
.alt-txt{padding:36px;display:flex;flex-direction:column;justify-content:center;}.alt-txt h2{font-size:20px;margin-bottom:4px;}.alt-txt p{font-size:13px;color:var(--text-secondary);line-height:1.7;}
.feat-strip{background:var(--bg-section);padding:48px 40px;text-align:center;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);}
.feat-q{font-size:20px;color:var(--text-primary);font-style:italic;line-height:1.6;max-width:700px;margin:0 auto 12px;}.feat-attr{font-size:12px;color:var(--text-muted);}
.port-feat{background:var(--bg-card);border:1px solid var(--border-color);overflow:hidden;}.port-feat .pt{aspect-ratio:16/10;}
.port-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}

/* ===== LAYOUT C: EDITORIAL ===== */
.hero-c,.ed-services-wrap,.pull-quotes{display:none;}
[data-layout="c"] .hero-a{display:none;}
[data-layout="c"] .hero-c{display:flex;position:relative;height:55vh;min-height:380px;overflow:hidden;align-items:center;justify-content:center;text-align:center;}
[data-layout="c"] .hero-c>img,[data-layout="c"] .hero-c>video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;}
[data-layout="c"] .hero-c .ho{position:relative;z-index:1;padding:20px;}
[data-layout="c"] .hero-c h1{font-size:32px;color:#F8F4EC;line-height:1.3;margin-bottom:8px;text-shadow:0 2px 20px rgba(0,0,0,.5);font-family:var(--fh);font-weight:var(--hw);text-transform:var(--ht);letter-spacing:var(--hs);}
[data-layout="c"] .hero-c h1 .ac{color:var(--text-accent);filter:brightness(1.4);}
[data-layout="c"] .hero-c .sub{font-size:14px;color:rgba(248,244,236,.8);max-width:500px;margin:0 auto 16px;text-shadow:0 1px 8px rgba(0,0,0,.4);}
[data-layout="c"] .hero-c .bp{border:1px solid rgba(248,244,236,.4);background:transparent;color:#F8F4EC;}
[data-layout="c"] .svc-standard{display:none;}
[data-layout="c"] .ed-services-wrap{display:block;max-width:900px;margin:0 auto;padding:0 24px;}
[data-layout="c"] .ed-svc{display:grid;grid-template-columns:180px 1fr;gap:20px;padding:20px 0;border-bottom:1px solid var(--border-color);cursor:pointer;}.ed-svc:last-child{border:none;}
[data-layout="c"] .ed-svc-img{background:var(--bg-section);overflow:hidden;}.ed-svc-img img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;}
[data-layout="c"] .ed-svc-txt h3{font-size:15px;margin-bottom:4px;}.ed-svc-txt p{font-size:12px;color:var(--text-secondary);line-height:1.6;}
[data-layout="c"] .about-standard .ag{grid-template-columns:1fr;max-width:650px;margin:0 auto;text-align:center;}
[data-layout="c"] .about-standard .ai2{max-width:200px;aspect-ratio:1;border-radius:50%;margin:0 auto 20px;}

/* ===== LAYOUT D: SCROLL ===== */
.hero-d,.scroll-services{display:none;}
[data-layout="d"] .hero-a{display:none;}
[data-layout="d"] .hero-d{display:flex;position:relative;height:90vh;overflow:hidden;align-items:center;justify-content:center;text-align:center;}
[data-layout="d"] .hero-d>img,[data-layout="d"] .hero-d>video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;}
[data-layout="d"] .hero-d .ho{position:relative;z-index:1;}
[data-layout="d"] .hero-d h1{font-size:38px;color:#F8F4EC;line-height:1.2;text-shadow:0 2px 30px rgba(0,0,0,.6);font-family:var(--fh);font-weight:var(--hw);text-transform:var(--ht);letter-spacing:var(--hs);}
[data-layout="d"] .hero-d h1 .ac{color:var(--text-accent);filter:brightness(1.4);}
[data-layout="d"] .scroll-arrow{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);z-index:1;color:var(--text-accent);font-size:24px;animation:bob 2s ease-in-out infinite;}
@keyframes bob{0%,100%{transform:translateX(-50%) translateY(0);}50%{transform:translateX(-50%) translateY(8px);}}
[data-layout="d"] .svc-standard{display:none;}
[data-layout="d"] .scroll-services{display:block;}
.scroll-sec{position:relative;height:65vh;min-height:380px;overflow:hidden;display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center;cursor:pointer;}
.scroll-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.55);}
.scroll-content{position:relative;z-index:1;text-align:center;padding:40px;max-width:600px;}.scroll-content h2{font-size:24px;color:#F8F4EC;margin-bottom:8px;}.scroll-content p{font-size:14px;color:rgba(248,244,236,.7);}
.tb-light{background:rgba(255,255,255,.1);color:rgba(255,255,255,.8);}
[data-layout="d"] .about-standard .ag{grid-template-columns:1fr;max-width:650px;margin:0 auto;text-align:center;}
[data-layout="d"] .about-standard .ai2{max-width:180px;aspect-ratio:1;border-radius:50%;margin:0 auto 20px;}
[data-layout="d"] .port-standard .pg2{grid-template-columns:1fr;max-width:800px;margin:0 auto;}
[data-layout="d"] .port-standard .pt{aspect-ratio:21/9;}
[data-layout="d"] .feat-strip{display:block;}

/* ===== RESPONSIVE ===== */
@media(max-width:768px){
.sg,.pg2,.capg,.eqg,.bg2,.sl-grid{grid-template-columns:1fr 1fr;}
.mg2,.cg{grid-template-columns:1fr 1fr;}
.hs,.ag,.ctg,.fg3,.hero-a .hs{grid-template-columns:1fr;}
.ctg{display:flex;flex-direction:column;}.cti-essential{order:1;}.cf{order:2;}.cti-supplementary{order:3;}
.hero-a h1{font-size:24px;}
.sl-card{grid-template-columns:1fr;}
.sub-sec{grid-template-columns:1fr;}
.blog-sub{flex-direction:column;align-items:flex-start;}
.sub-row input{width:160px;}
.ham{display:flex;flex-direction:column;gap:4px;cursor:pointer;z-index:9991;padding:8px;}
.ham span{width:22px;height:2px;background:var(--text-primary);border-radius:1px;transition:transform .2s,opacity .2s;}
.ham.open span:nth-child(1){transform:rotate(45deg) translate(4px,4px);}
.ham.open span:nth-child(2){opacity:0;}
.ham.open span:nth-child(3){transform:rotate(-45deg) translate(4px,-4px);}
.alt-row,.ed-svc{grid-template-columns:1fr !important;}
[data-layout="b"] .hero-b,[data-layout="c"] .hero-c{height:50vh;min-height:300px;}
[data-layout="d"] .hero-d{height:70vh;}
.scroll-sec{height:50vh;min-height:280px;}
[data-layout="b"] .port-asym{grid-template-columns:1fr;}
.port-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:480px){
.sg,.mg2,.pg2,.cg,.capg,.eqg,.bg2,.tg,.sl-grid{grid-template-columns:1fr;}
.hero-a{padding:32px 16px 24px;}
.stat-callout{flex-direction:column;gap:6px;}
}

/* =============================================================
   ACCESSIBILITY
   ============================================================= */

/* Skip to content link */
.skip-link{position:absolute;top:-100%;left:16px;z-index:10000;background:var(--accent);color:#fff;padding:8px 16px;border-radius:0 0 var(--border-radius) var(--border-radius);font-size:14px;text-decoration:none;transition:top .2s;}
.skip-link:focus{top:0;}

/* Focus states for keyboard navigation */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.fq:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px;}

/* FAQ button styling (was a div, now a button for a11y) */
button.fq{background:none;border:none;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;}

/* Hamburger as button */
button.ham{background:none;border:none;cursor:pointer;}

/* =============================================================
   WORDPRESS NAV MENU — replaces hardcoded nav
   ============================================================= */

/* Reset WP menu defaults */
.ss-menu{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:0;}
.ss-menu li{position:relative;}
.ss-menu li a{display:block;padding:8px 14px;font-size:13px;color:var(--text-secondary);text-decoration:none;transition:color .2s;}
.ss-menu li a:hover,.ss-menu li.current-menu-item>a,.ss-menu li.current-menu-ancestor>a{color:var(--text-accent);}

/* Dropdown parent */
.ss-menu li.menu-item-has-children>a::after{content:' ▾';font-size:10px;opacity:.5;}

/* Dropdown submenu */
.ss-menu .sub-menu{display:none;position:absolute;top:100%;left:0;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:6px 0;min-width:220px;z-index:100;box-shadow:0 8px 24px rgba(0,0,0,.08);}
.ss-menu .sub-menu li a{padding:8px 16px;font-size:12px;white-space:nowrap;}
.ss-menu .sub-menu li a:hover{background:var(--bg-section);}
.ss-menu li.menu-item-has-children:hover>.sub-menu{display:block;}

/* Mobile nav */
@media(max-width:768px){
.nav{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg-page);z-index:99;padding:80px 24px 24px;overflow-y:auto;}
.nav.mob-open{display:block;}
.ss-menu{flex-direction:column;align-items:stretch;gap:0;}
.ss-menu li a{padding:12px 0;font-size:16px;border-bottom:1px solid var(--border-color);}
.ss-menu .sub-menu{display:none;position:static;border:none;box-shadow:none;padding:0 0 0 16px;background:transparent;}
.ss-menu li.menu-item-has-children.mob-dd>.sub-menu{display:block;}
.ss-menu .sub-menu li a{font-size:14px;padding:8px 0;border-bottom:1px solid var(--border-color);}
}

/* =============================================================
   BLOG ENHANCEMENTS
   ============================================================= */

/* Placeholder gradient when no featured image */
.bl-placeholder{width:100%;height:100%;min-height:160px;background:linear-gradient(135deg, var(--bg-section) 0%, var(--border-color) 100%);border-radius:var(--border-radius);}
.bl-t{display:block;overflow:hidden;border-radius:var(--border-radius);aspect-ratio:16/10;background:var(--bg-section);}
.bl-t img{width:100%;height:100%;object-fit:cover;transition:transform .3s;}
.bl:hover .bl-t img{transform:scale(1.03);}

/* Excerpt text */
.bl-ex{font-size:12px;color:var(--text-muted);line-height:1.6;margin-top:4px;}

/* Date styling */
.bl-d{font-size:11px;color:var(--text-muted);letter-spacing:0.5px;text-transform:uppercase;}

/* Blog pagination */
.blog-pagination .page-numbers{display:inline-block;padding:6px 12px;margin:0 2px;font-size:13px;color:var(--text-secondary);text-decoration:none;border:1px solid var(--border-color);border-radius:4px;}
.blog-pagination .page-numbers.current{background:var(--btn-bg);color:var(--btn-text);border-color:var(--btn-bg);}
.blog-pagination .page-numbers:hover:not(.current){background:var(--bg-section);}

/* Portfolio play overlay */
.play-ov{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:48px;height:48px;background:rgba(0,0,0,.5);border-radius:50%;opacity:0;transition:opacity .3s;}
.play-ov::after{content:'';position:absolute;top:50%;left:54%;transform:translate(-50%,-50%);border-left:16px solid #fff;border-top:10px solid transparent;border-bottom:10px solid transparent;}
.pc:hover .play-ov{opacity:1;}
.pt{position:relative;overflow:hidden;border-radius:var(--border-radius);aspect-ratio:16/10;background:var(--bg-section);}
.pt img{width:100%;height:100%;object-fit:cover;transition:transform .3s;}
.pc:hover .pt img{transform:scale(1.03);}

/* Portfolio placeholder when no image */
.pt-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg, var(--bg-section) 0%, var(--border-color) 100%);color:var(--text-muted);font-size:12px;}

/* Service sub-body (inside content blocks) */
.sub-body{font-size:14px;color:var(--text-secondary);line-height:1.8;}
.sub-body h2{font-family:var(--fh);font-weight:var(--hw);text-transform:var(--ht);letter-spacing:var(--hs);font-size:18px;margin-bottom:6px;}
.sub-body p{margin-bottom:10px;}
.sub-body .tb{display:inline-block;margin-bottom:8px;}
.sub-ex{font-size:13px;color:var(--text-secondary);line-height:1.7;padding-left:16px;}
.sub-ex li{margin-bottom:8px;}

/* Portfolio page wrapper (layout-neutral — not hidden by any layout) */
.port-page{max-width:1100px;margin:0 auto;padding:0 24px;}

/* Post navigation (single blog) */
.post-nav{display:flex;justify-content:space-between;margin-top:32px;padding-top:16px;border-top:1px solid var(--border-color);font-size:13px;}

/* =============================================================
   MOBILE REFINEMENTS
   ============================================================= */
@media(max-width:768px){
/* Hero B/C/D text sizing for tablets */
[data-layout="b"] .hero-b h1{font-size:28px;}
[data-layout="b"] .hero-b .ho{padding:40px 24px 32px;}
[data-layout="b"] .hero-b .sub{font-size:13px;}
[data-layout="c"] .hero-c h1{font-size:26px;}
[data-layout="d"] .hero-d h1{font-size:28px;}
/* Fix nav z-index — must be above everything on mobile */
.nav{z-index:9990;}
/* Post navigation stacks on narrow screens */
.post-nav{flex-direction:column;gap:12px;}
.post-nav>div:last-child{text-align:left;}
/* Portfolio grid — 2 columns on tablet */
.pg2{grid-template-columns:1fr 1fr;}
}
@media(max-width:480px){
/* Hero B/C/D even smaller on phones */
[data-layout="b"] .hero-b h1{font-size:22px;}
[data-layout="b"] .hero-b .ho{padding:32px 16px 24px;}
[data-layout="b"] .hero-b .sub{font-size:12px;margin-bottom:10px;}
[data-layout="c"] .hero-c h1{font-size:22px;}
[data-layout="d"] .hero-d h1{font-size:22px;}
/* Portfolio single column on phones */
.pg2{grid-template-columns:1fr;}
/* Header — tighter on phones */
.hdr{padding:10px 16px;}
.logo span{font-size:12px;}
/* CTA section */
.cta{padding:16px;}
.cta h3{font-size:14px;}
}

/* Scroll to top */
.scroll-top{position:fixed;bottom:24px;right:24px;width:44px;height:44px;border-radius:var(--border-radius,6px);background:var(--text-primary);color:var(--bg-page);border:none;font-size:18px;cursor:pointer;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s,transform .3s;z-index:999;box-shadow:0 2px 12px rgba(0,0,0,.2);display:flex;align-items:center;justify-content:center;line-height:1;}.scroll-top.visible{opacity:.8;visibility:visible;}.scroll-top:hover{opacity:1;transform:translateY(-2px);}

/* Cookie notice */
.cookie-notice{position:fixed;bottom:0;left:0;right:0;background:var(--text-primary);color:var(--bg-page);padding:12px 24px;font-size:12px;z-index:1000;display:flex;align-items:center;justify-content:center;gap:16px;box-shadow:0 -2px 12px rgba(0,0,0,.15);}.cookie-notice p{margin:0;}.cookie-notice a{color:var(--bg-page);text-decoration:underline;opacity:.8;}.cookie-notice a:hover{opacity:1;}.cookie-notice button{background:var(--bg-page);color:var(--text-primary);border:none;padding:6px 16px;border-radius:var(--border-radius,6px);font-size:12px;cursor:pointer;white-space:nowrap;font-weight:600;}

/* Sticky header */
/* Smooth scroll offset for sticky header */
[id]{scroll-margin-top:80px;}

/* Print stylesheet */
@media print{.hdr,.ab,.scroll-top,.cookie-notice,.ham,footer,.demo-reel-sec,.hero-b video,.hero-c video,.hero-d video{display:none!important;}body{background:#fff!important;color:#000!important;font-size:12pt;}.sec{padding:12px 0;}.hero-b,.hero-c,.hero-d{height:auto;min-height:0;}.hero-b .ho,.hero-c .ho{position:static;background:none;padding:12px 0;}a{color:#000;text-decoration:underline;}a[href]::after{content:" (" attr(href) ")";font-size:9pt;color:#666;}}

/* Admin bar offset for sticky header */
body.admin-bar .hdr{top:32px;}
@media(max-width:782px){body.admin-bar .hdr{top:46px;}}
