:root{--ink:#0b1220;--ink2:#131d31;--steel:#4b5a73;--line:#e3e7ee;--bg:#f6f7f9;--white:#fff;--gold:#e0a63e;--gold2:#c8832a;--teal:#1aa6b7;--text:#1b2333;--muted:#5d6a80;--r:14px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body.site{margin:0;font-family:Barlow,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--white);font-size:17px;line-height:1.6}
a{color:var(--gold2)}img{max-width:100%;display:block}
h1,h2,h3,.brand span{font-family:"Barlow Condensed",Barlow,sans-serif;letter-spacing:.01em;line-height:1.1;margin:0 0 .5em}
h1{font-size:clamp(2.2rem,5vw,3.8rem)}h2{font-size:clamp(1.8rem,3.4vw,2.6rem)}h3{font-size:1.35rem}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}.pad{padding-top:72px;padding-bottom:72px}.narrow{max-width:780px}.center{text-align:center}
.muted{color:var(--muted)}.small{font-size:.88rem}.gold{color:var(--gold)}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-weight:700;font-size:.78rem;color:var(--gold2);margin:0 0 10px}
.lead{font-size:1.2rem;color:var(--muted);max-width:720px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;border-radius:10px;font-weight:700;text-decoration:none;border:2px solid transparent;cursor:pointer;font-size:1rem;font-family:inherit;transition:.15s}
.btn-lg{padding:15px 28px;font-size:1.08rem}.btn-gold{background:linear-gradient(135deg,#f2c46d,var(--gold2));color:#1a1206}.btn-gold:hover{filter:brightness(1.07);transform:translateY(-1px)}
.btn-line{border-color:rgba(255,255,255,.5);color:#fff}.btn-line:hover{background:rgba(255,255,255,.1)}
.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{background:var(--ink2)}
.link{font-weight:700;text-decoration:none;color:var(--gold2)}
/* header */
.topbar{position:sticky;top:0;z-index:50;background:rgba(11,18,32,.96);backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,255,255,.08)}
.topbar-in{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff}.brand span{font-size:1.3rem;margin:0;color:#dfe5ee}.brand b{color:#fff}
.logo-mark{width:40px;height:40px;flex:none}
.mainnav{display:flex;align-items:center;gap:4px}.mainnav a{color:#cdd5e1;text-decoration:none;padding:8px 12px;border-radius:8px;font-weight:600}.mainnav a:hover,.mainnav a.on{color:#fff;background:rgba(255,255,255,.07)}
.mainnav .btn{margin-left:10px;color:#1a1206}
.navt{display:none}.navt-btn{display:none;cursor:pointer;padding:8px}.navt-btn span{display:block;width:24px;height:2px;background:#fff;margin:5px 0}
@media(max-width:920px){.navt-btn{display:block}.mainnav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--ink);flex-direction:column;align-items:stretch;padding:12px 16px 20px}.mainnav a{padding:12px}.mainnav .btn{margin:8px 0 0}.navt:checked~.mainnav{display:flex}}
/* hero */
.hero{position:relative;background:var(--ink);color:#fff;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:radial-gradient(1200px 500px at 85% -10%,rgba(224,166,62,.35),transparent 60%),radial-gradient(900px 600px at 0% 120%,rgba(26,166,183,.35),transparent 60%),linear-gradient(180deg,#0b1220,#0e1a2e)}
.hero-bg:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,transparent 0 40px,rgba(255,255,255,.025) 40px 41px)}
.hero-in{position:relative;padding-top:96px;padding-bottom:96px}.hero h1{max-width:880px}.hero .lead{color:#c3cbd8}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin:28px 0}
.trust{list-style:none;padding:0;margin:24px 0 0;display:flex;flex-wrap:wrap;gap:10px 24px;color:#c3cbd8;font-weight:600}.trust li:before{content:"✓ ";color:var(--gold)}
/* sections */
.sec-head{margin-bottom:32px}
.cats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}@media(max-width:980px){.cats{grid-template-columns:1fr 1fr}}@media(max-width:560px){.cats{grid-template-columns:1fr}}
.cat{display:block;background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:26px;text-decoration:none;color:var(--text);transition:.18s}.cat:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(11,18,32,.1);border-color:var(--gold)}
.cat-ic{display:inline-flex;width:58px;height:58px;border-radius:14px;background:var(--ink);color:var(--gold);padding:11px;margin-bottom:14px}.cat-ic svg{width:100%;height:100%}
.cat p{color:var(--muted);font-size:.98rem}
.band{background:var(--bg)}.band-dark{background:var(--ink);color:#fff}.band-dark .eyebrow{color:var(--gold)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}@media(max-width:860px){.two{grid-template-columns:1fr}}
.ticks{list-style:none;padding:0;margin:0}.ticks li{padding:10px 0 10px 34px;position:relative;border-bottom:1px solid var(--line)}.ticks li:before{content:"";position:absolute;left:0;top:14px;width:20px;height:20px;border-radius:50%;background:var(--gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10l3 3 7-7' stroke='%231a1206' stroke-width='2.5' fill='none'/%3E%3C/svg%3E")}
.svcs{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.svc{border:1px solid var(--line);border-radius:var(--r);padding:22px;background:#fff;display:flex;flex-direction:column}.svc p{color:var(--muted);font-size:.97rem;flex:1}
.svc-top{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.svc-top h3{margin:0}
.price{font-weight:700;color:var(--ink);background:#fbf1de;border-radius:8px;padding:3px 9px;font-size:.88rem;white-space:nowrap}
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:s}@media(max-width:860px){.steps{grid-template-columns:1fr 1fr}}@media(max-width:520px){.steps{grid-template-columns:1fr}}
.steps li{counter-increment:s;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--r);padding:22px}.steps li:before{content:counter(s);display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--gold);color:#1a1206;font-weight:800;margin-bottom:10px}
.steps b{display:block;font-size:1.15rem;margin-bottom:6px}.steps span{color:#b9c2d0}
.cta-box{background:linear-gradient(135deg,var(--ink),#15233d);color:#fff;border-radius:22px;padding:44px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}.cta-box p{color:#c3cbd8;margin:0}
.reviews{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}.review{margin:0;background:var(--bg);border-radius:var(--r);padding:22px}.stars{color:var(--gold)}.review cite{color:var(--muted);font-style:normal;font-weight:600}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.gallery figure{margin:0;border-radius:12px;overflow:hidden;background:var(--bg)}.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}.gallery figcaption{padding:8px 12px;font-size:.9rem;color:var(--muted)}
.page-head{background:var(--ink);color:#fff;padding:64px 0 48px}.page-head .lead{color:#c3cbd8}.page-head .eyebrow{color:var(--gold)}
.jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.jump a{color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:6px 14px;text-decoration:none;font-weight:600}.jump a:hover{background:rgba(255,255,255,.1)}
.svc-sec{margin-bottom:56px;scroll-margin-top:90px}.svc-sec-head{display:flex;gap:18px;align-items:center;margin-bottom:20px}.svc-sec-head p{color:var(--muted);margin:0}.svc-sec-head h2{margin:0 0 4px}
.note-box{background:#fbf6ea;border:1px solid #f0dfb8;border-radius:var(--r);padding:22px;margin:18px 0}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px;box-shadow:0 6px 24px rgba(11,18,32,.05)}
form label{display:block;font-weight:600;margin-bottom:14px;font-size:.95rem}
input,select,textarea{width:100%;font:inherit;padding:11px 12px;border:1.5px solid #cfd6e1;border-radius:10px;margin-top:5px;background:#fff;color:var(--text)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold2);box-shadow:0 0 0 3px rgba(224,166,62,.2)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}@media(max-width:640px){.grid2{grid-template-columns:1fr}}
.bookform h3{margin-top:18px;border-bottom:1px solid var(--line);padding-bottom:8px}
.catpick{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}@media(max-width:640px){.catpick{grid-template-columns:1fr 1fr}}
.catopt{margin:0!important}.catopt input{position:absolute;opacity:0}.catopt span{display:flex;flex-direction:column;align-items:center;gap:6px;border:2px solid var(--line);border-radius:12px;padding:14px 8px;cursor:pointer;text-align:center;font-size:.9rem}.catopt svg{width:38px;height:38px;color:var(--steel)}
.catopt input:checked+span{border-color:var(--gold2);background:#fbf1de}.catopt input:checked+span svg{color:var(--gold2)}.catopt input:focus-visible+span{box-shadow:0 0 0 3px rgba(224,166,62,.4)}
.estimate{background:var(--ink);color:#fff;border-radius:12px;padding:12px 16px;margin-bottom:14px;display:flex;flex-direction:column}.estimate span{font-size:.8rem;color:#b9c2d0;text-transform:uppercase;letter-spacing:.1em}.estimate b{font-size:1.7rem;color:var(--gold)}.estimate small{color:#b9c2d0}
.hp{position:absolute!important;left:-9999px!important}
.big-check{width:80px;height:80px;border-radius:50%;background:var(--gold);color:#1a1206;display:grid;place-items:center;font-size:42px;margin:0 auto 18px;font-weight:800}
.prose p{font-size:1.08rem}.values h3{margin-top:0}
.faq details{border-bottom:1px solid var(--line);padding:16px 0}.faq summary{font-weight:700;font-size:1.12rem;cursor:pointer}.faq p{color:var(--muted)}
.big{font-size:1.5rem;font-weight:700}
.empty-public{text-align:center;padding:60px 20px;background:var(--bg);border-radius:var(--r)}
.flash{max-width:1180px;margin:16px auto;padding:12px 18px;border-radius:10px;font-weight:600}.flash-ok{background:#e5f6ec;color:#16623a}.flash-err{background:#fde8e8;color:#9b1c1c}
.invoice .inv-head{display:flex;justify-content:space-between;gap:20px;border-bottom:2px solid var(--ink);margin-bottom:16px}.right{text-align:right}
.tbl{width:100%;border-collapse:collapse;margin:16px 0}.tbl th,.tbl td{padding:9px 6px;border-bottom:1px solid var(--line);text-align:left}.tbl .r{text-align:right}.tbl tfoot td{border:0}.tbl .due td{font-size:1.2rem;font-weight:800}
.paid-stamp{text-align:center;font-size:1.5rem;font-weight:800;color:#16623a;border:3px solid #16623a;border-radius:12px;padding:12px;margin-top:12px}
.foot{background:var(--ink);color:#c3cbd8;padding:56px 0 24px;margin-top:0}.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:30px}@media(max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.foot-grid{grid-template-columns:1fr}}
.foot h4{color:#fff;margin:0 0 10px}.foot a{display:block;color:#c3cbd8;text-decoration:none;padding:3px 0}.foot a:hover{color:var(--gold)}.foot .muted{color:#8994a8}.foot-bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:36px;padding-top:18px;font-size:.88rem}
.ig-head{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap}.verified{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#3897f0;color:#fff;font-size:15px;vertical-align:middle}
.igrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}@media(max-width:700px){.igrid{grid-template-columns:repeat(2,1fr)}}.igp{position:relative;display:block;border-radius:10px;overflow:hidden;background:#dde}.igp img{width:100%;aspect-ratio:1;object-fit:cover;transition:.2s}.igp:hover img{transform:scale(1.04)}.igp .play{position:absolute;top:8px;right:10px;color:#fff;text-shadow:0 1px 4px #000}
/* ===== White & Red theme ===== */
:root{--red:#d7262e;--red2:#a51c22;--redbg:#fdecec;--gold:var(--red);--gold2:var(--red2);--ink:#a51c22;--ink2:#8a161b;--text:#1d1d1f;--muted:#5f6368;--bg:#faf7f7;--line:#ececec}
a,.link,.eyebrow{color:var(--red)}
.logo-mark stop{stop-color:#d7262e}.logo-mark path:first-of-type{fill:#fff;stroke:#d7262e}
.btn-gold,.mainnav .btn{background:var(--red);color:#fff!important;border-color:var(--red)}.btn-gold:hover{background:var(--red2);filter:none}
.btn-dark{background:var(--red);color:#fff}.btn-dark:hover{background:var(--red2)}
.btn-line{border-color:var(--red);color:var(--red)}.btn-line:hover{background:var(--redbg)}
.topbar{background:rgba(255,255,255,.97);border-bottom:3px solid var(--red)}
.brand span{color:#1d1d1f}.brand b{color:var(--red)}
.mainnav a{color:#333}.mainnav a:hover,.mainnav a.on{color:var(--red);background:var(--redbg)}
.navt-btn span{background:#1d1d1f}
@media(max-width:920px){.mainnav{background:#fff;border-bottom:3px solid var(--red)}}
.hero{background:#fff;color:#1d1d1f}
.hero-bg{background:radial-gradient(900px 480px at 92% -10%,rgba(215,38,46,.16),transparent 60%),radial-gradient(700px 500px at -5% 120%,rgba(215,38,46,.10),transparent 60%),#fff}
.hero-bg:after{background:repeating-linear-gradient(115deg,transparent 0 40px,rgba(215,38,46,.035) 40px 41px)}
.hero .lead{color:#555}.gold{color:var(--red)}.trust{color:#333}.trust li:before{color:var(--red)}
.cat{background:#fff}.cat:hover{border-color:var(--red);box-shadow:0 14px 30px rgba(215,38,46,.12)}
.cat-ic{background:var(--red);color:#fff}
.band{background:var(--bg)}
.band-dark{background:linear-gradient(135deg,var(--red),var(--red2));color:#fff}.band-dark .eyebrow{color:#ffd9db}
.steps li{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.3)}.steps li:before{background:#fff;color:var(--red)}.steps span{color:#ffe3e4}
.ticks li:before{background:var(--red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10l3 3 7-7' stroke='%23fff' stroke-width='2.5' fill='none'/%3E%3C/svg%3E")}
.price{background:var(--redbg);color:var(--red2)}
.cta-box{background:linear-gradient(135deg,var(--red),var(--red2))}.cta-box p{color:#ffe3e4}
.cta-box .btn-gold{background:#fff;color:var(--red)!important;border-color:#fff}.cta-box .btn-gold:hover{background:#ffecec}
.stars{color:var(--red)}
.page-head{background:linear-gradient(135deg,var(--red),var(--red2))}.page-head .lead{color:#ffe3e4}.page-head .eyebrow{color:#ffd9db}
.jump a{border-color:rgba(255,255,255,.5)}.jump a:hover{background:rgba(255,255,255,.15)}
.note-box{background:var(--redbg);border-color:#f6c7c9}
input:focus,select:focus,textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(215,38,46,.18)}
.catopt input:checked+span{border-color:var(--red);background:var(--redbg)}.catopt input:checked+span svg{color:var(--red)}
.estimate{background:var(--red)}.estimate b{color:#fff}.estimate span,.estimate small{color:#ffe3e4}
.big-check{background:var(--red);color:#fff}
.invoice .inv-head{border-bottom-color:var(--red)}
.foot{background:#fff;color:#444;border-top:4px solid var(--red)}.foot h4{color:var(--red)}.foot a{color:#444}.foot a:hover{color:var(--red)}.foot .muted{color:#777}.foot-bottom{border-top-color:#eee}.foot .brand span{color:#1d1d1f}
/* ===== Custom TCM logo ===== */
.logo-mark{background:url(/public/logo-badge-sm.png) center/cover no-repeat;border-radius:50%;width:54px;height:54px}
.logo-mark *{display:none}
.topbar-in{height:76px}
.hero-in::before{content:"";display:block;width:220px;height:220px;margin:0 auto 28px;border-radius:50%;background:url(/public/logo-badge.png) center/cover no-repeat;box-shadow:0 18px 50px rgba(0,0,0,.25),0 0 0 6px #fff,0 0 0 9px var(--red)}
@media(min-width:1000px){
  .hero-in::before{position:absolute;right:20px;top:50%;transform:translateY(-50%);width:400px;height:400px;margin:0}
  .hero h1,.hero .lead{max-width:600px}.hero-cta,.trust{max-width:620px}
}
.foot .logo-mark{width:64px;height:64px}
