:root{
 --bg:#232220;
 --bg-2:#2a2926;
 --surface:#302e2a;
 --surface-2:#38352f;
 --line:#423e38;
 --text:#f1ede7;
 --muted:#a8a29a;
 --accent:#e5342a;
 --accent-deep:#b81c14;
 --gold:#c8ad74;
 --radius:18px;
 --radius-sm:11px;
 --radius-pill:999px;
 --maxw:1280px;
 }
 *{box-sizing:border-box;margin:0;padding:0}
 html{scroll-behavior:smooth}
 body{
 font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
 background:var(--bg);color:var(--text);line-height:1.6;
 -webkit-font-smoothing:antialiased;
 }
 h1,h2,h3,.display{font-family:'Fraunces',Georgia,serif;line-height:1.12;letter-spacing:0;font-weight:600}
 a{color:inherit;text-decoration:none}
 img{max-width:100%;display:block}
 .wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}
 /* Full-width top nav bar — uses the whole screen on wide displays */
 header.site .wrap{max-width:none;padding:0 clamp(20px,2.6vw,56px)}
 .accent{color:var(--accent)}

 /* Buttons */
 .btn{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:1rem;
 padding:15px 28px;border-radius:var(--radius-pill);cursor:pointer;border:2px solid transparent;
 transition:transform .25s cubic-bezier(.16,.7,.3,1),background .25s ease,border-color .25s ease,box-shadow .25s ease;white-space:nowrap}
 .btn:hover{transform:translateY(-2px)}
 .btn-primary{background:var(--accent);color:#fff}
 .btn-primary:hover{background:var(--accent-deep);color:#fff}
 .btn{letter-spacing:1.5px;text-transform:uppercase;font-weight:400;font-size:.82rem}
 .btn-ghost{background:transparent;border-color:var(--line);color:var(--text)}
 .btn-ghost:hover{border-color:var(--accent);color:var(--accent)}
 .btn-lg{font-size:1.08rem;padding:17px 32px}

 /* Header */
 header.site{position:sticky;top:0;z-index:50;background:rgba(26,24,21,.88);
 backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
 .nav{display:flex;align-items:center;justify-content:space-between;height:70px}
 .brand{display:flex;align-items:center;gap:11px;font-family:'Fraunces';font-weight:700;
 font-size:1.28rem;text-transform:uppercase;letter-spacing:.5px}
 .brand .logo{width:auto;height:44px;flex:none}
 .brand small{display:block;font-family:'Inter';font-weight:600;font-size:.62rem;
 letter-spacing:2px;color:var(--accent);text-transform:uppercase;margin-top:-3px}
 .nav-links{display:flex;align-items:center;gap:30px}
 .nav-links a{font-weight:600;font-size:.95rem;color:var(--muted);transition:color .2s}
 .nav-links a:hover{color:var(--text)}
 .nav-cta{display:flex;align-items:center;gap:14px}
 .nav-phone{font-family:'Fraunces';font-size:1.15rem;font-weight:600;color:var(--text)}
 .nav-phone:hover{color:var(--accent)}
 .menu-btn{display:none;align-items:center;justify-content:center;width:44px;height:44px;
 background:none;border:0;color:var(--text);cursor:pointer}

 /* Hero */
 .hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);
 min-height:78vh;display:flex;align-items:center;justify-content:center;text-align:center}
 .hero-media{position:absolute;inset:0;z-index:0;overflow:hidden;background:#08090b}
 .hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
 /* Hero background photo, slow zoom keeps it feeling alive. Drop images/hero.jpg to activate. */
 .hero-slides{position:absolute;inset:0}
 .hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0}
 .hero-slide.prev{opacity:1;z-index:1;animation:heroDrift 13s ease-out forwards}
 .hero-slide.on{opacity:1;z-index:2;transition:opacity 2s ease-in-out;animation:heroDrift 13s ease-out forwards}
 @media(prefers-reduced-motion:reduce){.hero-slide.on,.hero-slide.prev{animation:none}}
 /* Animated fallback, keeps the hero feeling alive before real footage is dropped in */
 .hero-fallback{position:absolute;inset:-25%;
 background:
 radial-gradient(50% 42% at 22% 28%,rgba(229,52,42,.30),transparent 62%),
 radial-gradient(46% 46% at 80% 72%,rgba(229,52,42,.22),transparent 60%),
 radial-gradient(60% 55% at 50% 108%,rgba(140,22,16,.40),transparent 60%),
 linear-gradient(120deg,#0b0d10,#15181e 45%,#0b0d10);
 animation:heroDrift 20s ease-in-out infinite alternate}
 .hero-sweep{position:absolute;top:0;bottom:0;left:-50%;width:45%;will-change:transform;
 background:linear-gradient(75deg,transparent,rgba(255,255,255,.06),transparent);
 animation:heroSweep 9s ease-in-out infinite}
 @keyframes heroDrift{0%{transform:scale(1.06) translate(0,0)}100%{transform:scale(1.16) translate(-3%,-2%)}}
 @keyframes heroSweep{0%{transform:translateX(0)}100%{transform:translateX(360%)}}
 .hero-overlay{position:absolute;inset:0;z-index:1;
 background:linear-gradient(180deg,rgba(8,9,11,.66),rgba(8,9,11,.5) 52%,rgba(8,9,11,.9))}
 .hero-inner{position:relative;z-index:2;max-width:840px;margin:0 auto;padding:70px 22px}
 .live-tag{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:.72rem;
 letter-spacing:2.5px;text-transform:uppercase;color:#fff;margin-bottom:24px;
 background:rgba(229,52,42,.14);border:1px solid rgba(229,52,42,.45);padding:9px 18px;border-radius:var(--radius-pill)}
 .live-dot{width:9px;height:9px;border-radius:50%;background:var(--accent);animation:pulse 1.8s infinite}
 @keyframes pulse{0%{box-shadow:0 0 0 0 rgba(229,52,42,.6)}70%{box-shadow:0 0 0 12px rgba(229,52,42,0)}100%{box-shadow:0 0 0 0 rgba(229,52,42,0)}}
 .hero h1{font-size:clamp(2.9rem,7vw,5.3rem);font-weight:700}
 .hero h1 .accent{display:block}
 .hero p.lead{color:#d7dbe1;font-size:1.18rem;margin:24px auto 32px;max-width:560px}
 .hero-cta{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-bottom:30px}
 .hero-trust{display:flex;flex-wrap:wrap;gap:26px;justify-content:center;color:#c3c9d2;font-size:.92rem;font-weight:500}
 .hero-trust span{display:flex;align-items:center;gap:8px}
 .hero-trust svg{color:var(--accent);flex:none}

 /* Photo placeholder */
 .photo-ph{position:relative;background:
 repeating-linear-gradient(45deg,#1b1f27 0 22px,#181c23 22px 44px);
 border:2px dashed #39414e;border-radius:var(--radius);
 display:flex;flex-direction:column;align-items:center;justify-content:center;
 color:#6c7686;gap:10px;min-height:180px;text-align:center;padding:20px}
 .photo-ph .ico{width:42px;height:42px;opacity:.65}
 .photo-ph .lbl{font-family:'Fraunces';text-transform:uppercase;letter-spacing:2px;
 font-size:.82rem;color:#7f8998}
 .hero-photo{min-height:430px;box-shadow:0 30px 60px -25px rgba(0,0,0,.7)}
 .hero-badge{position:absolute;bottom:-18px;left:-18px;background:var(--accent);color:#111;
 font-family:'Fraunces';font-weight:700;text-transform:uppercase;padding:16px 20px;
 border-radius:12px;line-height:1;box-shadow:0 14px 30px -10px rgba(229,52,42,.5)}
 .hero-badge b{font-size:1.9rem;display:block}
 .hero-badge span{font-size:.68rem;letter-spacing:1.5px}

 /* Trust bar */
 .trustbar{background:var(--bg-2);border-bottom:1px solid var(--line)}
 .trustbar .wrap{display:flex;flex-wrap:wrap;justify-content:space-around;gap:20px;
 padding:26px 22px;text-align:center}
 .stat b{font-family:'Fraunces';font-size:2rem;color:var(--text);display:block;line-height:1}
 .stat span{font-size:.82rem;color:var(--muted);letter-spacing:.5px}

 /* Sections */
 section{padding:58px 0}
 .sec-head{max-width:640px;margin-bottom:30px}
 .sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
 .sec-head h2{font-size:clamp(2rem,4vw,2.9rem);font-weight:700}
 .sec-head p{color:var(--muted);font-size:1.08rem;margin-top:14px}
 .kicker{font-weight:700;font-size:.78rem;letter-spacing:2.5px;text-transform:uppercase;
 color:var(--accent);margin-bottom:12px}

 /* Services */
 .services{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
 .svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
 .svc{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
 padding:30px 26px;transition:transform .2s,border-color .2s}
 .svc:hover{transform:translateY(-5px);border-color:var(--accent)}
 .svc .ico{width:54px;height:54px;border-radius:14px;background:rgba(229,52,42,.12);
 display:flex;align-items:center;justify-content:center;color:var(--accent);margin-bottom:18px}
 .svc h3{font-size:1.28rem;font-weight:600;margin-bottom:8px}
 .svc p{color:var(--muted);font-size:.96rem}

 /* About */
 .about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;align-items:center}
 .about-photo{min-height:400px}
 .about-brand{background:linear-gradient(160deg,var(--surface),var(--bg-2));border:1px solid var(--line);
 border-radius:var(--radius);padding:48px 30px;min-height:400px;display:flex;flex-direction:column;
 align-items:center;justify-content:center;text-align:center;gap:14px}
 .about-brand .mono{height:132px;width:auto}
 .ab-name{font-family:'Fraunces',serif;font-size:1.5rem;color:var(--text);letter-spacing:.5px}
 .ab-tag{color:var(--muted);font-style:italic;font-size:1.05rem}
 .ab-badge{margin-top:6px;font-family:'Fraunces',serif;text-transform:uppercase;letter-spacing:2px;
 font-size:.76rem;color:var(--accent);border:1px solid var(--accent);padding:9px 18px;border-radius:var(--radius-pill)}
 .about ul{list-style:none;margin-top:22px;display:grid;gap:14px}
 .about li{display:flex;gap:12px;align-items:flex-start;color:var(--muted)}
 .about li svg{color:var(--accent);flex:none;margin-top:3px}
 .about li b{color:var(--text)}

 /* Awards */
 .awards{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
 .award-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
 .award{background:linear-gradient(180deg,var(--surface),var(--bg-2));
 border:1px solid var(--line);border-radius:var(--radius);padding:30px 26px;text-align:center}
 .award .medal{width:54px;height:54px;margin:0 auto 16px;color:var(--gold)}
 .award h3{font-size:1.15rem;font-weight:600;color:var(--gold)}
 .award p{color:var(--muted);font-size:.92rem;margin-top:6px}
 .cert-showcase{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;margin-top:32px;
 background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:30px}
 .cert-frame{min-height:230px;margin:0}
 .cert-copy .seal-svg{width:88px;height:88px;margin-bottom:16px}
 .cert-copy h3{font-family:'Fraunces';text-transform:uppercase;font-size:1.55rem;color:var(--gold);margin-bottom:10px}
 .cert-copy p{color:var(--muted);font-size:1rem}

 /* Gallery */
 .gal-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:200px;gap:16px}
 .gal-grid .photo-ph.big{grid-row:span 2}
 .gal-note{text-align:center;color:var(--muted);font-size:.92rem;margin-top:22px}

 /* Reviews */
 .reviews{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
 .rev-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
 .rev{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:28px}
 .stars{color:var(--accent);letter-spacing:3px;font-size:1.05rem;margin-bottom:14px}
 .rev p{color:var(--muted);font-style:italic}
 .rev .who{margin-top:16px;font-weight:600;color:var(--text);font-style:normal;font-size:.92rem}
 .rev.placeholder{border-style:dashed;border-color:#39414e;display:flex;align-items:center;
 justify-content:center;text-align:center;color:#7f8998;min-height:180px}

 /* CTA / Quote */
 .quote{background:
 radial-gradient(1200px 500px at 80% -10%,rgba(229,52,42,.14),transparent 60%),var(--bg)}
 .quote-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
 .quote h2{font-size:clamp(2rem,4vw,2.9rem);font-weight:700}
 .quote p{color:var(--muted);font-size:1.08rem;margin-top:14px;max-width:440px}
 .quote-contact{margin-top:28px;display:grid;gap:16px}
 .qc{display:flex;gap:14px;align-items:center}
 .qc .ico{width:48px;height:48px;border-radius:14px;background:var(--surface);border:1px solid var(--line);
 display:flex;align-items:center;justify-content:center;color:var(--accent);flex:none}
 .qc b{display:block;font-family:'Fraunces';font-size:1.15rem}
 .qc span{color:var(--muted);font-size:.9rem}
 form{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:32px}
 form h3{font-size:1.5rem;font-weight:600;margin-bottom:6px}
 form .sub{color:var(--muted);font-size:.94rem;margin-bottom:22px}
 .field{margin-bottom:16px}
 .field label{display:block;font-size:.85rem;font-weight:600;margin-bottom:7px;color:var(--text)}
 .field input,.field textarea,.field select{width:100%;background:var(--bg-2);border:1px solid var(--line);
 border-radius:var(--radius-sm);padding:14px 16px;color:var(--text);font-family:inherit;font-size:.98rem;transition:border-color .2s,box-shadow .2s}
 .field input:focus,.field textarea:focus,.field select:focus{box-shadow:0 0 0 3px rgba(229,52,42,.15)}
 .field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--accent)}
 .field textarea{resize:vertical;min-height:96px}
 .row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
 form button{width:100%;justify-content:center;margin-top:6px}
 .form-fine{font-size:.8rem;color:var(--muted);text-align:center;margin-top:14px}
 .form-msg{margin-top:14px;text-align:center;font-size:.92rem;font-weight:600}
 .form-msg:empty{display:none}
 .form-msg.ok{color:#8fd39a}
 .form-msg.err{color:var(--accent)}

 /* Footer */
 footer.site{background:var(--bg-2);border-top:1px solid var(--line);padding:56px 0 30px}
 .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px;margin-bottom:38px}
 .foot-brand p{color:var(--muted);margin-top:14px;max-width:320px;font-size:.95rem}
 .foot-col h4{font-family:'Fraunces';text-transform:uppercase;letter-spacing:1px;font-size:1rem;margin-bottom:16px}
 .foot-col a,.foot-col p{display:block;color:var(--muted);font-size:.94rem;margin-bottom:10px}
 .foot-col a:hover{color:var(--accent)}
 .socials{display:flex;gap:12px;margin-top:16px}
 .socials a{width:42px;height:42px;border-radius:12px;background:var(--surface);border:1px solid var(--line);
 display:flex;align-items:center;justify-content:center;color:var(--muted);transition:.2s}
 .socials a:hover{background:var(--accent);color:#111;border-color:var(--accent)}
 .foot-bot{border-top:1px solid var(--line);padding-top:22px;display:flex;flex-wrap:wrap;
 justify-content:space-between;gap:12px;color:var(--muted);font-size:.85rem}
 .foot-bot a{color:var(--muted)}
 .foot-bot .built a{color:var(--accent)}

 /* Mobile call bar */
 .callbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;
 background:var(--accent);padding:13px 16px}
 .callbar a{display:flex;align-items:center;justify-content:center;gap:9px;
 font-family:'Fraunces';font-weight:700;font-size:1.1rem;text-transform:uppercase;color:#111}

 /* Collapse the top nav to a hamburger earlier — 8 links + phone + CTA need room */
 @media(max-width:1150px){
 .nav-phone{display:none}
 .nav-cta .btn{display:none}
 .menu-btn{display:flex}
 .nav-links{position:absolute;top:70px;left:0;right:0;flex-direction:column;gap:0;
 background:rgba(26,24,21,.98);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);
 padding:6px 22px 14px;display:none}
 .nav-links.open{display:flex}
 .nav-links a{font-size:1.05rem;color:var(--text);padding:14px 2px;border-bottom:1px solid var(--line)}
 .nav-links a:last-child{border-bottom:0}
 }
 @media(max-width:900px){
 .hero-grid,.about-grid,.quote-grid{grid-template-columns:1fr;gap:36px}
 .svc-grid,.award-grid,.rev-grid,.gal-grid{grid-template-columns:1fr 1fr}
 .foot-grid{grid-template-columns:1fr 1fr}
 .nav-phone{display:none}
 .nav-cta .btn{display:none}
 .menu-btn{display:flex}
 .nav-links{position:absolute;top:70px;left:0;right:0;flex-direction:column;gap:0;
 background:rgba(26,24,21,.98);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);
 padding:6px 22px 14px;display:none}
 .nav-links.open{display:flex}
 .nav-links a{font-size:1.05rem;color:var(--text);padding:14px 2px;border-bottom:1px solid var(--line)}
 .nav-links a:last-child{border-bottom:0}
 .hero-photo{min-height:300px}
 }
 @media(max-width:600px){
 section{padding:44px 0}
 .svc-grid,.award-grid,.rev-grid,.gal-grid,.foot-grid,.row2,.cert-showcase{grid-template-columns:1fr}
 .gal-grid{grid-auto-rows:160px}
 .gal-grid .photo-ph.big{grid-row:span 1}
 .callbar{display:block}
 body{padding-bottom:60px}
 .hero-cta{flex-direction:column}
 .hero-cta .btn{width:100%;flex:none}
 .brand{font-size:.9rem;gap:8px}
 .brand .logo{height:34px}
 .brand small{font-size:.56rem}
 }

 /* Award tiers */
 .award .tier{display:inline-block;font-family:'Fraunces';font-size:.72rem;letter-spacing:2px;
 text-transform:uppercase;padding:4px 14px;border-radius:var(--radius-pill);margin-bottom:13px}
 .award.gold .tier{background:rgba(216,173,95,.14);border:1px solid rgba(216,173,95,.42);color:var(--gold)}
 .award.gold .medal,.award.gold h3{color:var(--gold)}
 .award.platinum{background:linear-gradient(180deg,#232833,#12151b);border-color:#3a424e}
 .award.platinum .tier{background:rgba(233,239,246,.12);border:1px solid rgba(233,239,246,.4);color:#e9eff6}
 .award.platinum .medal,.award.platinum h3{color:#eaf0f7}
 .awards-note{text-align:center;color:var(--muted);font-size:.92rem;margin-top:26px}

 /* Before / After slider */
 .ba-wrap{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:34px;align-items:start}
 .ba{position:relative;width:100%;aspect-ratio:1/1;border-radius:var(--radius);overflow:hidden;
 border:1px solid var(--line);user-select:none;touch-action:pan-y}
 .ba .layer{position:absolute;inset:0;background-size:contain;background-position:center;background-repeat:no-repeat;background-color:#141310;display:flex;align-items:flex-end;padding:16px}
 .ba .before{background-color:#141310}
 .ba .after{background-color:#141310;clip-path:inset(0 0 0 50%)}
 .ba .tag{font-family:'Fraunces';text-transform:uppercase;letter-spacing:2px;font-size:.76rem;color:#fff;
 background:rgba(0,0,0,.6);padding:6px 12px;border-radius:8px}
 .ba .after .tag{margin-left:auto}
 .ba .handle{position:absolute;top:0;bottom:0;left:50%;width:3px;background:var(--accent);transform:translateX(-50%)}
 .ba .knob{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;
 background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;cursor:ew-resize;
 box-shadow:0 4px 16px rgba(0,0,0,.45);font-size:1.15rem;font-weight:700}
 .ba-cap{position:absolute;top:14px;left:50%;transform:translateX(-50%);z-index:2;font-family:'Fraunces',serif;
 text-transform:uppercase;letter-spacing:2px;font-size:.76rem;color:#fff;background:rgba(8,9,11,.6);padding:6px 14px}
 .ba2-wrap{display:grid;gap:22px;margin-bottom:34px}
 .ba2{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface)}
 .ba2-cap{display:block;font-family:'Fraunces',serif;text-transform:uppercase;letter-spacing:2px;font-size:.82rem;
 text-align:center;padding:14px;color:var(--text)}
 .ba2-imgs{display:grid;grid-template-columns:1fr 1fr;gap:2px}
 .ba2-img{position:relative;aspect-ratio:3/4;background-size:cover;background-position:center}
 .ba2-lbl{position:absolute;top:12px;left:12px;font-family:'Fraunces',serif;text-transform:uppercase;
 letter-spacing:2px;font-size:.72rem;color:#fff;background:rgba(8,9,11,.65);padding:5px 12px}
 .ba2-lbl.after{left:auto;right:12px}
 @media(max-width:600px){.ba2-imgs{grid-template-columns:1fr}}
 .ba-pairs{display:grid;grid-template-columns:1fr 1fr;gap:18px}
 .ba-pair{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface)}
 .ba-pair .duo{display:grid;grid-template-columns:1fr 1fr;gap:2px}
 .ba-pair .photo-ph{min-height:190px;border:0;border-radius:0}
 .ba-pair .cap{font-family:'Fraunces';text-transform:uppercase;letter-spacing:1.5px;font-size:.74rem;text-align:center;padding:10px;color:var(--muted)}
 .shot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
 .shot{position:relative;aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);
 background-size:cover;background-position:center;transition:transform .25s}
 .shot:hover{transform:translateY(-4px)}
 .shot::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(8,9,11,.8))}
 .shot-tag{position:absolute;left:14px;bottom:12px;z-index:1;font-family:'Fraunces';text-transform:uppercase;
 letter-spacing:1.5px;font-size:.8rem;color:#fff}
 @media(max-width:800px){.shot-grid{grid-template-columns:1fr 1fr}}
 @media(max-width:600px){.shot-grid{grid-template-columns:1fr}}

 /* Portfolio album tiles + lightbox */
 .shot[data-album]{cursor:pointer}
 .shot[data-album]:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
 .shot-more{position:absolute;top:12px;right:12px;z-index:2;display:inline-flex;align-items:center;gap:6px;
 font-family:'Fraunces';font-size:.82rem;line-height:1;color:#fff;background:rgba(8,9,11,.55);
 border:1px solid rgba(255,255,255,.28);padding:6px 11px;border-radius:var(--radius-pill);
 -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .25s,border-color .25s}
 .shot-more svg{width:15px;height:15px;flex:none}
 .shot[data-album]:hover .shot-more,.shot[data-album]:focus-visible .shot-more{background:var(--accent);border-color:var(--accent)}

 .lb{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:24px;
 background:rgba(8,9,11,.93);opacity:0;visibility:hidden;transition:opacity .3s ease}
 .lb.open{opacity:1;visibility:visible}
 .lb-stage{margin:0;max-width:92vw;max-height:86vh;display:flex;align-items:center;justify-content:center}
 .lb-img{max-width:92vw;max-height:86vh;width:auto;height:auto;border-radius:var(--radius);
 box-shadow:0 30px 80px rgba(0,0,0,.6);background:#111}
 .lb.open .lb-img{animation:lbIn .35s cubic-bezier(.16,.7,.3,1)}
 @keyframes lbIn{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
 .lb-close{position:absolute;top:18px;right:20px;width:46px;height:46px;border-radius:50%;
 border:1px solid rgba(255,255,255,.25);background:rgba(0,0,0,.4);color:#fff;cursor:pointer;
 display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s}
 .lb-close:hover{background:var(--accent);border-color:var(--accent)}
 .lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;
 border:1px solid rgba(255,255,255,.25);background:rgba(0,0,0,.4);color:#fff;cursor:pointer;
 display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s}
 .lb-nav:hover{background:var(--accent);border-color:var(--accent)}
 .lb-prev{left:20px}.lb-next{right:20px}
 .lb-bar{position:absolute;bottom:22px;left:0;right:0;display:flex;gap:16px;justify-content:center;align-items:baseline;
 color:#fff;font-family:'Fraunces';letter-spacing:1px;padding:0 20px}
 .lb-title{text-transform:uppercase;font-size:.9rem}
 .lb-count{color:var(--muted);font-size:.85rem}
 @media(max-width:600px){
 .lb-nav{width:44px;height:44px}.lb-prev{left:8px}.lb-next{right:8px}
 .lb-close{top:12px;right:12px}.lb-img{max-height:80vh}
 }
 @media(prefers-reduced-motion:reduce){.lb{transition:none}.lb.open .lb-img{animation:none}}

 /* Merch */
 .merch{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
 .merch-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}
 .merch-photos{display:grid;grid-template-columns:1fr;gap:16px}
 .merch-photos .shot{aspect-ratio:16/10}
 .merch h2{font-size:clamp(2rem,4vw,2.9rem)}
 .merch .make{font-family:'Fraunces';color:var(--accent);letter-spacing:2px;text-transform:uppercase;font-size:.95rem;margin-top:8px}
 .merch p{color:var(--muted);margin-top:16px;font-size:1.05rem}
 .rev .date{color:#6c7686;font-size:.82rem;margin-top:4px}
 @media(max-width:800px){.merch-grid{grid-template-columns:1fr;gap:32px}}
 @media(max-width:700px){.ba-wrap{grid-template-columns:1fr}}

 /* Side-by-side before/after (whole photos, no crop, no borders) */
 .ba-set{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;margin-bottom:34px}
 @media(max-width:700px){.ba-set{grid-template-columns:1fr;max-width:460px;margin-left:auto;margin-right:auto}}
 /* Interactive before/after slider */
 .bas{position:relative;aspect-ratio:1/1;overflow:hidden;user-select:none;-webkit-user-select:none;
   touch-action:pan-y;cursor:ew-resize;background:#141310;border-radius:var(--radius)}
 .bas:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
 .bas img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;-webkit-user-drag:none}
 .bas .bas-before{clip-path:inset(0 calc(100% - var(--pos,50%)) 0 0)}
 .bas .bas-handle{position:absolute;top:0;bottom:0;left:var(--pos,50%);width:3px;background:var(--accent);
   transform:translateX(-50%);pointer-events:none;box-shadow:0 0 12px rgba(0,0,0,.5)}
 .bas .bas-knob{position:absolute;top:50%;left:var(--pos,50%);transform:translate(-50%,-50%);width:44px;height:44px;
   border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;
   pointer-events:none;box-shadow:0 4px 16px rgba(0,0,0,.45)}
 .bas .bas-lbl{position:absolute;top:14px;z-index:2;font-family:'Fraunces',serif;text-transform:uppercase;
   letter-spacing:2px;font-size:.72rem;color:#fff;background:rgba(8,9,11,.6);padding:5px 12px;border-radius:6px;pointer-events:none}
 .bas .bas-lbl.before{left:14px}
 .bas .bas-lbl.after{right:14px;background:var(--accent)}
 .ba-proj{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
 .ba-proj-cap{font-family:'Fraunces',serif;text-transform:uppercase;letter-spacing:2px;font-size:.9rem;
 text-align:center;padding:14px;color:var(--text);border-bottom:1px solid var(--line)}
 .ba-duo{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:flex-start;padding:16px;background:var(--bg-2)}
 .ba-ph{position:relative;line-height:0}
 .ba-duo img{height:clamp(320px,42vw,540px);width:auto;display:block;border-radius:2px}
 .ba-lbl{position:absolute;top:10px;left:10px;font-family:'Fraunces',serif;text-transform:uppercase;
 letter-spacing:2px;font-size:.72rem;color:#fff;background:rgba(8,9,11,.7);padding:5px 12px;border-radius:2px;line-height:1}
 .ba-lbl.after{left:auto;right:10px;background:var(--accent)}
 @media(max-width:600px){.ba-duo img{height:auto;width:100%;max-width:100%}}

/* ===== Multi-page additions ===== */
.trustbadges{background:var(--bg-2);border-bottom:1px solid var(--line)}
.trustbadges .wrap{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 34px;padding:18px 22px;text-align:center}
.trustbadges span{font-family:'Inter';font-weight:600;font-size:.8rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:9px}
.trustbadges span svg{color:var(--accent);flex:none}

/* Interior page header */
.page-hero{position:relative;border-bottom:1px solid var(--line);overflow:hidden;background:var(--bg-2)}
.page-hero .bgimg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.20}
.page-hero .veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,18,15,.4),rgba(35,34,32,.9))}
.page-hero .wrap{position:relative;z-index:1;padding:44px 22px 40px;text-align:center}
.page-hero .kicker{margin-bottom:12px}
.page-hero h1{font-size:clamp(2.4rem,5.5vw,3.8rem);font-weight:700}
.page-hero p{color:var(--muted);font-size:1.12rem;max-width:640px;margin:16px auto 0}

/* Process timeline */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.step{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:30px 26px;position:relative;transition:.25s}
.step:hover{border-color:var(--accent);transform:translateY(-4px)}
.step .no{font-family:'Fraunces',serif;font-size:2.4rem;color:var(--accent);line-height:1}
.step h3{font-size:1.25rem;font-weight:600;margin:10px 0 8px}
.step p{color:var(--muted);font-size:.95rem}
@media(max-width:800px){.steps{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.steps{grid-template-columns:1fr}}

/* Guarantee / statement block */
.statement{background:linear-gradient(160deg,var(--surface),var(--bg-2));border:1px solid var(--line);border-radius:var(--radius);padding:42px 40px;text-align:center;margin-top:12px}
.statement .q{font-family:'Fraunces',serif;font-size:clamp(1.6rem,3.4vw,2.4rem);color:var(--text);line-height:1.3;max-width:820px;margin:0 auto}
.statement .by{margin-top:18px;font-family:'Inter';font-weight:600;letter-spacing:2px;text-transform:uppercase;font-size:.78rem;color:var(--accent)}

/* CTA band */
.ctaband{background:radial-gradient(1200px 500px at 80% -10%,rgba(229,52,42,.14),transparent 60%),var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center}
.ctaband .wrap{padding:58px 22px}
.ctaband h2{font-size:clamp(2rem,4vw,2.9rem);font-weight:700}
.ctaband p{color:var(--muted);font-size:1.08rem;margin:14px auto 26px;max-width:520px}

/* Featured work strip on home */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:800px){.feat-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.feat-grid{grid-template-columns:1fr}}
.center-btn{text-align:center;margin-top:40px}

/* ===== Nav fit refinements (multi-page) ===== */
.brand span{white-space:nowrap}
.nav-links{gap:17px}
.nav-links a{white-space:nowrap}
.nav-phone{white-space:nowrap}
.nav-cta{gap:12px}
.nav-cta .btn{padding:12px 18px;font-size:.72rem;letter-spacing:1px}
@media(max-width:1140px){.nav-phone{display:none}}

/* Fraunces is wider than Marcellus — give the nav a little more breathing room */
.brand{font-size:1.16rem}
.nav-links{margin:0 8px}
.nav-cta{margin-left:14px}

/* =====================================================================
   MOTION LAYER — scroll reveals, entrances, micro-interactions.
   All heavy motion sits inside prefers-reduced-motion:no-preference so
   the site degrades to a clean static page when motion is reduced.
   ===================================================================== */

/* Scroll progress bar */
.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:100;pointer-events:none;
  background:linear-gradient(90deg,var(--accent),var(--gold));box-shadow:0 0 12px rgba(229,52,42,.5);
  transition:width .1s linear}

/* Header condenses + gains a shadow once you scroll */
header.site{transition:background .3s ease,box-shadow .3s ease}
header.site .nav{transition:height .3s ease}
header.site.scrolled{background:rgba(20,18,15,.94);box-shadow:0 8px 30px -14px rgba(0,0,0,.75)}
header.site.scrolled .nav{height:60px}

/* Animated nav underline */
.nav-links a{position:relative}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-5px;height:2px;width:0;
  background:var(--accent);border-radius:2px;transition:width .28s cubic-bezier(.16,.7,.3,1)}
.nav-links a:hover::after{width:100%}
@media(max-width:900px){.nav-links a::after{display:none}}

@media (prefers-reduced-motion:no-preference){

  /* ---- Scroll reveal (class added by app.js so no-JS stays visible) ---- */
  .reveal{opacity:0;transform:translateY(42px) scale(.975);filter:blur(6px);
    will-change:opacity,transform,filter;
    transition:opacity 1s cubic-bezier(.16,.7,.3,1),transform 1.05s cubic-bezier(.16,.7,.3,1),
      filter 1s ease;transition-delay:var(--rd,0ms)}
  .reveal.r-left{transform:translateX(-46px) scale(.985)}
  .reveal.r-right{transform:translateX(46px) scale(.985)}
  .reveal.r-scale{transform:scale(.9)}
  .reveal.in{opacity:1;transform:none;filter:none}

  /* ---- Hero entrance: staggered rise on load ---- */
  .hero-inner>*{opacity:0;animation:heroUp .95s cubic-bezier(.16,.7,.3,1) both}
  .hero-inner>.live-tag{animation-delay:.15s}
  .hero-inner>h1{animation-delay:.30s}
  .hero-inner>.lead{animation-delay:.48s}
  .hero-inner>.hero-cta{animation-delay:.64s}
  .hero-inner>.hero-trust{animation-delay:.80s}
  @keyframes heroUp{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:none}}

  /* ---- Live "shine" sweep across the accent headline word ---- */
  .hero h1 .accent{
    background:linear-gradient(100deg,var(--accent) 0%,#ff7a6d 45%,var(--accent) 78%);
    background-size:220% auto;-webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;color:transparent;animation:textShine 6s linear infinite}
  @keyframes textShine{to{background-position:220% center}}

  /* ---- Button glossy sweep on hover ---- */
  .btn-primary{position:relative;overflow:hidden}
  .btn-primary::after{content:"";position:absolute;top:0;left:-140%;width:60%;height:100%;z-index:0;
    background:linear-gradient(120deg,transparent,rgba(255,255,255,.38),transparent);
    transform:skewX(-22deg)}
  .btn-primary:hover::after{animation:btnShine .85s ease}
  @keyframes btnShine{to{left:150%}}

  /* ---- Count-up numbers get a soft gold pop while animating ---- */
  .stat.counting b{background:linear-gradient(180deg,#fff,var(--gold));-webkit-background-clip:text;
    background-clip:text;-webkit-text-fill-color:transparent;color:transparent}

  /* ---- Icon nudge on button hover ---- */
  .btn svg{transition:transform .25s ease}
  .btn:hover svg{transform:translateX(3px)}
  .btn-ghost:hover svg{transform:scale(1.12)}

  /* ---- Award medal gentle float ---- */
  .award .medal{transition:transform .4s ease}
  .award:hover .medal{transform:translateY(-4px) scale(1.08) rotate(-4deg)}
}

/* keep the accent word visible if background-clip text is unsupported */
@supports not ((-webkit-background-clip:text) or (background-clip:text)){
  .hero h1 .accent{color:var(--accent);-webkit-text-fill-color:currentColor}
}

/* ---- Card lift + glow ---- */
.svc,.step,.award,.rev{transition:transform .32s cubic-bezier(.16,.7,.3,1),
  border-color .32s ease,box-shadow .32s ease}
.svc:hover,.step:hover{box-shadow:0 22px 46px -22px rgba(229,52,42,.55)}
.award:hover{transform:translateY(-5px);border-color:var(--gold);
  box-shadow:0 22px 46px -24px rgba(200,173,116,.5)}
.rev:hover{transform:translateY(-4px);border-color:var(--accent)}

/* ---- Featured shots: cinematic zoom + tag rise ---- */
.shot{transition:transform .55s cubic-bezier(.16,.7,.3,1),box-shadow .4s ease}
.shot:hover{transform:scale(1.035) translateY(-5px);box-shadow:0 30px 60px -26px rgba(0,0,0,.85)}
.shot::after{transition:opacity .4s ease}
.shot:hover::after{opacity:.85}
.shot-tag{transition:transform .4s cubic-bezier(.16,.7,.3,1)}
.shot-tag::before{content:"";display:block;width:26px;height:2px;background:var(--accent);
  margin-bottom:9px;transform:scaleX(0);transform-origin:left;transition:transform .4s ease .05s}
.shot:hover .shot-tag{transform:translateY(-4px)}
.shot:hover .shot-tag::before{transform:scaleX(1)}

/* ---- Kicker drawn accent line ---- */
.kicker{display:inline-flex;align-items:center;gap:10px}
.kicker::after{content:"";width:34px;height:2px;background:var(--accent);opacity:.7;border-radius:2px}
.sec-head.center .kicker{justify-content:center}
.sec-head.center .kicker::before{content:"";width:34px;height:2px;background:var(--accent);opacity:.7;border-radius:2px}

/* ---- Statement quote: left accent bar ---- */
.statement{position:relative;overflow:hidden}
.statement::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:linear-gradient(180deg,var(--accent),transparent)}

/* =====================================================================
   BENTO GALLERY — asymmetric featured work (replaces equal 3-col grid)
   ===================================================================== */
.bento{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:212px;gap:16px}
.bento .shot{aspect-ratio:auto;height:100%;min-height:0}
.bento .b-lg{grid-column:span 2;grid-row:span 2}
.bento .b-wide{grid-column:span 2}
.bento .shot .shot-tag{font-size:.82rem}
.bento .b-lg .shot-tag{font-size:1.05rem}
@media(max-width:820px){
  .bento{grid-template-columns:1fr 1fr;grid-auto-rows:180px}
  .bento .b-lg{grid-column:span 2;grid-row:span 2}
  .bento .b-wide{grid-column:span 2}
}
@media(max-width:520px){
  .bento{grid-template-columns:1fr;grid-auto-rows:230px}
  .bento .b-lg,.bento .b-wide{grid-column:span 1;grid-row:span 1}
}

/* =====================================================================
   TIERED AWARDS — Platinum featured large, Gold row below
   ===================================================================== */
.award-tier{display:grid;gap:18px;margin-bottom:18px}
.platinum-row{grid-template-columns:1fr 1fr;max-width:840px;margin-left:auto;margin-right:auto}
.platinum-row .award{padding:42px 30px}
.platinum-row .award .medal{width:64px;height:64px}
.platinum-row .award h3{font-size:1.4rem}
.gold-row{grid-template-columns:repeat(3,1fr)}
@media(max-width:800px){
  .platinum-row{grid-template-columns:1fr 1fr}
  .gold-row{grid-template-columns:1fr}
}
@media(max-width:520px){.platinum-row{grid-template-columns:1fr}}

/* =====================================================================
   CINEMATIC PAGE TRANSITIONS (View Transitions API, progressive)
   Falls back to a normal navigation where unsupported.
   ===================================================================== */
@view-transition{navigation:auto}
@media (prefers-reduced-motion:no-preference){
  ::view-transition-old(root){animation:pageOut .32s cubic-bezier(.4,0,1,1) both}
  ::view-transition-new(root){animation:pageIn .5s cubic-bezier(.16,.7,.3,1) both}
  @keyframes pageOut{to{opacity:0;transform:translateY(-10px) scale(.995)}}
  @keyframes pageIn{from{opacity:0;transform:translateY(18px) scale(.995)}to{opacity:1;transform:none}}

  /* Universal fade-in on first paint (works even without View Transitions) */
  body{animation:bodyIn .6s ease both}
  @keyframes bodyIn{from{opacity:0}to{opacity:1}}
}

/* Parallax layer hint (JS drives --py via background-position) */
[data-parallax]{will-change:background-position}

/* Softer, larger shadow language now that corners are rounded */
.about-brand{box-shadow:0 30px 60px -40px rgba(0,0,0,.7)}
.statement{box-shadow:0 30px 70px -45px rgba(0,0,0,.7)}

/* =====================================================================
   PRICING / INVESTMENT GUIDE
   ===================================================================== */
.pricing-intro{background:var(--bg-2);border-bottom:1px solid var(--line)}
.pricing-intro .wrap{max-width:920px}
.pricing-intro .lead{font-size:1.14rem;color:var(--text)}
.pricing-intro p{color:var(--muted);margin-top:14px;font-size:1.02rem}
.pricing-intro .mk{margin-top:26px;padding-top:24px;border-top:1px solid var(--line)}
.pricing-intro .mk .kicker{margin-bottom:10px}

.tier-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media(max-width:820px){.tier-grid{grid-template-columns:1fr}}
.tier{position:relative;background:linear-gradient(180deg,var(--surface),var(--bg-2));
  border:1px solid var(--line);border-radius:var(--radius);padding:34px 30px;display:flex;flex-direction:column;
  transition:transform .32s cubic-bezier(.16,.7,.3,1),border-color .32s,box-shadow .32s}
.tier:hover{transform:translateY(-5px);box-shadow:0 26px 54px -30px rgba(0,0,0,.7)}
.tier.flagship{border-color:rgba(200,173,116,.6)}
.tier.flagship:hover{box-shadow:0 26px 54px -28px rgba(200,173,116,.45)}
.tier-flag{position:absolute;top:20px;right:20px;font-family:'Fraunces';font-size:.66rem;letter-spacing:2px;
  text-transform:uppercase;color:var(--gold);border:1px solid rgba(200,173,116,.5);
  border-radius:var(--radius-pill);padding:5px 13px}
.tier-top{display:flex;align-items:baseline;gap:14px}
.tier-no{font-family:'Fraunces';font-size:2.1rem;color:var(--accent);line-height:1}
.tier-badge{font-family:'Inter';font-weight:700;font-size:.7rem;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}
.tier-name{font-size:1.55rem;font-weight:600;margin-top:10px}
.tier-sub{color:var(--muted);font-size:.98rem;margin-top:2px}
.tier-price{font-family:'Fraunces';font-size:2.5rem;font-weight:700;margin-top:18px;line-height:1;color:var(--text)}
.tier-price small{display:block;font-family:'Inter';font-size:.7rem;font-weight:600;letter-spacing:2px;
  text-transform:uppercase;color:var(--muted);margin-top:8px}
.tier-timeline{margin-top:12px;font-size:.82rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);font-weight:600}
.tier-desc{color:var(--muted);font-size:.98rem;margin-top:18px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.tier-lists{margin-top:22px;display:grid;gap:20px}
.tier-lists h4{font-family:'Inter';font-size:.7rem;letter-spacing:2px;text-transform:uppercase;margin-bottom:12px;color:var(--text)}
.tier-lists ul{list-style:none;display:grid;gap:9px}
.tier-lists li{display:flex;gap:11px;align-items:flex-start;font-size:.94rem;line-height:1.45}
.tier-lists .inc li{color:var(--muted)}
.tier-lists .inc li::before{content:"✓";color:var(--accent);font-weight:700;flex:none}
.tier-lists .exc li{color:#867f74}
.tier-lists .exc li::before{content:"—";color:#6c7686;flex:none}
.tier .tier-cta{margin-top:26px;align-self:flex-start}

/* Add-on table */
.addon-scroll{overflow-x:auto;border-radius:var(--radius)}
.addon-table{width:100%;border-collapse:collapse;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;min-width:440px}
.addon-table th,.addon-table td{text-align:left;padding:15px 22px;border-bottom:1px solid var(--line);font-size:.96rem}
.addon-table th{font-family:'Inter';font-size:.7rem;letter-spacing:2px;text-transform:uppercase;color:var(--muted);background:var(--bg-2)}
.addon-table td{color:var(--text)}
.addon-table td:last-child,.addon-table th:last-child{text-align:right;white-space:nowrap}
.addon-table td:last-child{color:var(--gold);font-family:'Fraunces';font-size:1rem}
.addon-table tr:last-child td{border-bottom:0}
.addon-table tbody tr{transition:background .2s}
.addon-table tbody tr:hover td{background:var(--surface-2)}

/* Payment milestones */
.pay-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:700px){.pay-grid{grid-template-columns:1fr}}
.pay{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:32px 26px;text-align:center;
  transition:transform .3s cubic-bezier(.16,.7,.3,1),border-color .3s}
.pay:hover{transform:translateY(-4px);border-color:var(--accent)}
.pay b{font-family:'Fraunces';font-size:2.7rem;color:var(--accent);display:block;line-height:1}
.pay h4{font-family:'Inter';font-size:.76rem;letter-spacing:2px;text-transform:uppercase;margin:12px 0 10px}
.pay p{color:var(--muted);font-size:.93rem}

/* Terms */
.terms{max-width:840px;margin:0 auto;display:grid;gap:0}
.terms .t{display:grid;grid-template-columns:auto 1fr;gap:18px;color:var(--muted);font-size:.98rem;
  padding:18px 0;border-bottom:1px solid var(--line)}
.terms .t:last-child{border-bottom:0}
.terms .t b{font-family:'Fraunces';color:var(--accent);font-size:1.05rem}

/* =====================================================================
   CLIENT INTAKE FORM (Start a Project)
   ===================================================================== */
.quote-contact-row{display:flex;flex-wrap:wrap;gap:16px 30px;margin:0 auto 32px;max-width:820px;
  padding-bottom:26px;border-bottom:1px solid var(--line)}
.intake{max-width:820px;margin:0 auto}
.intake .intake-sec{border-top:1px solid var(--line);padding:26px 0 2px}
.intake .intake-sec:first-child{border-top:0;padding-top:0}
.intake-head{display:flex;align-items:baseline;gap:12px;margin-bottom:6px}
.intake-head .rn{font-family:'Fraunces',serif;font-weight:700;color:var(--accent);font-size:1.15rem;min-width:20px}
.intake-head h3{font-size:1.3rem;font-weight:600}
.intake .intake-sec .lead{color:var(--muted);font-size:.95rem;margin:0 0 18px;max-width:640px}
.intake label{display:block;font-size:.85rem;font-weight:600;margin-bottom:7px;color:var(--text)}
.checkgroup{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;margin-top:4px}
@media(max-width:560px){.checkgroup{grid-template-columns:1fr}}
.checkopt{display:flex;align-items:flex-start;gap:10px;font-size:.94rem;font-weight:400;color:var(--muted);cursor:pointer;margin-bottom:0}
.checkopt input{width:18px;height:18px;margin-top:1px;accent-color:var(--accent);flex:none}
.notice{background:var(--surface);border:1px solid var(--accent);border-radius:var(--radius);padding:22px 24px;margin:26px 0}
.notice .nh{font-family:'Fraunces',serif;font-size:.95rem;color:var(--accent);margin-bottom:12px}
.notice p{color:var(--muted);font-size:.95rem;margin-bottom:12px}
.notice p:last-child{margin-bottom:0}
.declaration{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;margin-bottom:22px}
.declaration .nh{font-family:'Fraunces',serif;font-size:.95rem;margin-bottom:10px;color:var(--text)}
.declaration p{color:var(--muted);font-size:.94rem}

/* =====================================================================
   THE SYSTEM — package cards
   ===================================================================== */
.pkg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:800px){.pkg-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.pkg-grid{grid-template-columns:1fr}}
.pkg{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px;
  display:flex;flex-direction:column;transition:transform .3s cubic-bezier(.16,.7,.3,1),border-color .3s,box-shadow .3s}
.pkg:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 20px 44px -26px rgba(0,0,0,.7)}
.pkg .pn{font-family:'Fraunces',serif;font-size:1.5rem;color:var(--accent);line-height:1}
.pkg .pk{font-family:'Inter';font-size:.7rem;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin:10px 0 4px}
.pkg h3{font-size:1.18rem;font-weight:600;margin-bottom:8px}
.pkg p{color:var(--muted);font-size:.94rem;flex:1}
.pkg .pl{margin-top:14px;font-weight:600;font-size:.82rem;letter-spacing:1px;text-transform:uppercase;color:var(--accent)}
.pkg-list{list-style:none;margin-top:14px;display:grid;gap:8px}
.pkg-list li{position:relative;padding-left:20px;color:var(--muted);font-size:.9rem;line-height:1.45}
.pkg-list li::before{content:"";position:absolute;left:0;top:8px;width:7px;height:7px;background:var(--accent);border-radius:2px;transform:rotate(45deg)}

/* Brand specification cards (Brands page) */
.brandcard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:6px}
@media(max-width:760px){.brandcard-grid{grid-template-columns:1fr}}
.brandcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:30px 28px;
  transition:transform .3s cubic-bezier(.16,.7,.3,1),border-color .3s,box-shadow .3s}
.brandcard:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 20px 44px -26px rgba(0,0,0,.7)}
.brandcard .cat{font-family:'Fraunces';text-transform:uppercase;letter-spacing:1.5px;font-size:.72rem;color:var(--accent)}
.brandcard h3{font-size:1.55rem;font-weight:600;margin:8px 0 6px}
.brandcard .origin{display:inline-block;font-size:.72rem;color:var(--muted);border:1px solid var(--line);padding:4px 12px;border-radius:var(--radius-pill);margin-bottom:16px}
.brandcard p{color:var(--muted);font-size:.98rem}
.brandcard ul{list-style:none;margin-top:16px;display:grid;gap:8px}
.brandcard li{position:relative;padding-left:20px;color:var(--text);font-size:.9rem;line-height:1.45}
.brandcard li::before{content:"";position:absolute;left:0;top:8px;width:7px;height:7px;background:var(--accent);border-radius:2px;transform:rotate(45deg)}
.brandcard .finishes{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:.82rem;color:var(--muted)}

