:root{--ease:cubic-bezier(0.22,1,0.36,1);--ink:#14171A;--body:#3C4147;--muted:#7A7266;--bg:#F7F3EC;--surface:#FFFDF9;--line:#E7DCC9;--red:#C8102E;--red-dark:#A50D25;--gold:#E0A526;--gold-light:#F2C868;--dark:#101215}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Geist,"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body[data-dys="on"]{font-family:Lexend,Geist,sans-serif}
h1,h2,h3,h4{margin:0;line-height:1.06;letter-spacing:-0.025em;text-wrap:balance}
p{margin:0;text-wrap:pretty}
img{max-width:100%}
a{color:var(--red);text-decoration:none;transition:color .3s var(--ease)}
a:hover{color:var(--red-dark)}
button{font:inherit;cursor:pointer}
input,select,textarea{font:inherit}
::selection{background:var(--red);color:#fff}
:focus-visible{outline:2px solid var(--red);outline-offset:3px;border-radius:3px}
.wrap{max-width:1340px;margin:0 auto;padding-left:22px;padding-right:22px}
.skip{position:absolute;left:-9999px;top:8px;z-index:9999;background:var(--ink);color:#fff;padding:10px 16px;border-radius:8px}
.skip:focus{left:12px;color:#fff}

/* motion */
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.14) translate3d(-1.2%,-1.4%,0)}}
@keyframes sway{0%{transform:rotate(-2.6deg)}50%{transform:rotate(2.6deg)}100%{transform:rotate(-2.6deg)}}
@keyframes grainshift{0%{transform:translate3d(0,0,0)}25%{transform:translate3d(-2%,1%,0)}50%{transform:translate3d(1%,-2%,0)}75%{transform:translate3d(-1%,-1%,0)}100%{transform:translate3d(0,0,0)}}
.reveal,.wipe{transition:opacity .85s var(--ease),transform .85s var(--ease),clip-path .9s var(--ease)}
.ul{position:relative}
.ul::after{content:"";position:absolute;left:0;bottom:-3px;height:2px;width:100%;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.ul:hover::after,.ul:focus-visible::after{transform:scaleX(1)}

/* overlays */
#grain{position:fixed;inset:-60px;z-index:40;pointer-events:none;opacity:.045;mix-blend-mode:multiply;background-repeat:repeat;background-size:180px 180px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/></filter><rect width='180' height='180' filter='url(%23n)' opacity='0.9'/></svg>");animation:grainshift 7s steps(6) infinite}
#glow{position:fixed;inset:0;z-index:45;pointer-events:none;overflow:hidden}
#loader{position:fixed;inset:0;z-index:9990;background:var(--bg);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:22px;transition:opacity .5s var(--ease),visibility .5s var(--ease)}
#loader.gone{opacity:0;visibility:hidden}
#loader img{width:min(300px,68vw);height:auto;display:block;transform-origin:78% 12%;animation:sway 2.6s var(--ease) infinite}
#loader span{font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:#8B9096;font-weight:600}

/* header */
header{position:sticky;top:0;z-index:900;background:rgba(252,250,246,.92);border-bottom:1px solid var(--line)}
/* frosted glass lives on a pseudo-element: backdrop-filter on the header itself
   creates a containing block that traps the position:fixed mobile drawer */
header::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;-webkit-backdrop-filter:saturate(160%) blur(14px);backdrop-filter:saturate(160%) blur(14px)}
.headrow{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;padding-top:12px;padding-bottom:12px}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}
.brand img{width:58px;height:auto;display:block}
.brand b{display:block;font-size:17px;font-weight:800;letter-spacing:-.02em;color:var(--ink)}
.brand i{display:block;font-style:normal;font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#8B9096}
.mainnav{display:flex;align-items:center;justify-content:center;gap:2px}
.mainnav a{padding:10px 14px;border-radius:9px;font-size:15px;font-weight:500;color:var(--ink);transition:color .4s var(--ease)}
.mainnav a:hover,.mainnav a[aria-current="page"]{color:var(--red)}
.headright{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0}
.iconbtn{width:44px;height:44px;display:grid;place-items:center;border:0;background:transparent;border-radius:10px;color:var(--ink);transition:background .4s var(--ease),transform .4s var(--ease),color .4s var(--ease)}
.iconbtn:hover{background:#F0F0EC;transform:translateY(-1px);color:var(--red)}
.cta{display:inline-flex;align-items:center;gap:9px;background:var(--red);color:#fff;padding:13px 21px;border-radius:999px;font-size:15px;font-weight:600;box-shadow:0 6px 16px rgba(200,16,46,.22);transition:transform .45s var(--ease),box-shadow .45s var(--ease),background .45s var(--ease)}
.cta:hover{background:var(--red-dark);color:#fff;transform:translateY(-2px);box-shadow:0 12px 26px rgba(200,16,46,.3)}
.telink{display:inline-flex;align-items:center;font-size:15px;font-weight:600;color:var(--ink);padding:0 6px}
.telink:hover{color:var(--red)}
#burger{display:none;width:48px;height:48px;place-items:center;border:1px solid var(--line);background:var(--surface);border-radius:12px;color:var(--ink);flex-shrink:0}
.dropdown{position:absolute;right:0;top:52px;width:244px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 60px rgba(20,23,26,.14);padding:8px;display:none;gap:2px;z-index:20}
.dropdown.open{display:grid}
.dropdown a{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:9px;color:var(--ink);font-size:15px;font-weight:600}
.dropdown a:hover{background:#F4F1EA;color:var(--ink)}
#searchpanel{display:none;border-top:1px solid var(--line);background:var(--surface);padding:18px 0 24px}
#searchpanel.open{display:block}
.searchrow{display:flex;align-items:center;gap:12px}
.searchrow input{flex:1;min-width:0;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink)}
#results{display:grid;gap:6px;margin-top:14px}
#results a{padding:10px 12px;border-radius:9px;color:var(--ink);font-size:16px;font-weight:700}
#results a:hover{background:var(--bg);color:var(--ink)}
#results span{font-size:13px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-weight:500;margin-left:10px}

/* drawer */
#drawer{display:none;position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;height:100dvh;z-index:950;background:var(--dark);overflow-y:auto;-webkit-overflow-scrolling:touch}
#drawer.open{display:block}
.drawerin{max-width:440px;margin:0 auto;padding:20px 20px 56px;display:grid;gap:10px}
.drawerin .chip{display:inline-block;background:var(--bg);border-radius:10px;padding:7px 10px}
.drawerin .chip img{width:54px;height:auto;display:block}
.drawerin .drawernav{display:grid;gap:2px;padding:6px 0 12px}
.drawerin .drawernav a{display:block;text-align:left;padding:15px 4px;min-height:56px;border-bottom:1px solid #24282C;color:#F4F4F2;font-size:24px;font-weight:700;letter-spacing:-.02em}
.drawerin .drawernav a:hover{color:#FFD766}
.drawercta{display:block;text-align:center;background:var(--red);color:#fff;padding:18px;border-radius:14px;font-size:18px;font-weight:700}
.drawercta:hover{color:#fff}
.drawerrow{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid #33383D;border-radius:12px;color:#F4F4F2;font-weight:600;min-height:48px}
.drawerrow:hover{color:#F2C868}
.panel{margin-top:14px;padding:18px;border:1px solid #33383D;border-radius:14px;display:grid;gap:16px}
.panel .lab{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:#8B9096;font-weight:700}
.panel label{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:48px;color:#F4F4F2;font-size:16px;cursor:pointer}
.panel input[type=checkbox]{width:28px;height:28px;accent-color:var(--red);flex-shrink:0}
.panel select{padding:12px;border-radius:10px;border:1px solid #33383D;background:#1C2024;color:#F4F4F2;width:100%}
#closedrawer{width:48px;height:48px;display:grid;place-items:center;border:1px solid #33383D;background:transparent;border-radius:12px;color:#fff;font-size:20px}

/* settings slide-in */
#settings{display:none;position:fixed;top:0;right:0;bottom:0;width:min(390px,92vw);z-index:940;background:var(--surface);border-left:1px solid var(--line);box-shadow:-30px 0 80px rgba(20,23,26,.16);overflow-y:auto;padding:26px 24px 44px}
#settings.open{display:block}
#settings h3{font-size:20px;font-weight:800}
#settings .row{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}
#settings label{display:grid;gap:8px;font-size:15px;font-weight:600;color:#5C6269;margin-bottom:20px}
#settings label.inline{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:16px;color:var(--ink);min-height:48px}
#settings select,#settings input[type=range]{width:100%;padding:0;accent-color:var(--red)}
#settings select{padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}
#settings input[type=checkbox]{width:26px;height:26px;accent-color:var(--red)}

/* hero */
.hero{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:flex-end;margin:0;min-height:min(64vh,560px)}
.hero.home{min-height:min(90vh,780px)}
.herobg{position:absolute;inset:-8%;z-index:-2;background-size:cover;background-position:center 42%;animation:kb 26s var(--ease) infinite alternate;will-change:transform}
.heroveil{position:absolute;inset:0;z-index:-1;background:linear-gradient(175deg,rgba(24,16,12,.52) 0%,rgba(20,17,16,.3) 34%,rgba(14,13,14,.86) 100%)}
.heroin{width:100%;padding-top:132px;padding-bottom:58px;display:grid;gap:26px}
.kicker{display:inline-flex;align-items:center;gap:10px;width:fit-content;background:rgba(224,165,38,.14);border:1px solid rgba(224,165,38,.42);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--gold-light);padding:8px 17px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase}
.kicker .dot{width:8px;height:8px;border-radius:50%;background:#4ADE80;box-shadow:0 0 0 4px rgba(74,222,128,.28)}
.hero h1{color:#fff;font-size:clamp(40px,6.6vw,80px);font-weight:700;letter-spacing:-.04em;line-height:1.02;max-width:18ch}
.herosub{color:#EFE6D6;font-size:clamp(18px,2.1vw,23px);max-width:62ch}
.herobtns{display:flex;flex-wrap:wrap;gap:14px;align-items:center;padding-top:4px}
.btnprimary{display:inline-flex;align-items:center;gap:10px;background:var(--red);color:#fff;padding:19px 32px;border-radius:999px;font-size:18px;font-weight:700;box-shadow:0 10px 28px rgba(200,16,46,.3);transition:transform .45s var(--ease),box-shadow .45s var(--ease),background .45s var(--ease)}
.btnprimary:hover{background:var(--red-dark);color:#fff;transform:translateY(-2px);box-shadow:0 18px 40px rgba(200,16,46,.38)}
.btnghost{display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.34);color:#fff;padding:18px 28px;border-radius:999px;font-size:17px;font-weight:600;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .45s var(--ease),border-color .45s var(--ease),transform .45s var(--ease)}
.btnghost:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.6);transform:translateY(-2px);color:#fff}
.heronote{display:flex;align-items:center;gap:12px;color:var(--gold-light);font-size:16px;font-weight:600}
.heronote .rule{display:block;width:34px;height:1px;background:var(--gold)}

/* credentials rail */
.trust{background:linear-gradient(100deg,#7A1022 0%,#5E0D1B 58%,#3E0A14 100%);color:#fff;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.trustgrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.trustgrid div{display:grid;gap:7px;padding:26px;border-right:1px solid rgba(255,255,255,.14)}
.trustgrid div:first-child{padding-left:0}
.trustgrid div:last-child{border-right:0;padding-right:0}
.trustgrid .lab{font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:rgba(255,255,255,.58);font-weight:700}
.trustgrid .val{font-size:16px;font-weight:500;letter-spacing:-.015em;color:#F4F4F2}
.trustgrid .gold{color:#FFD97A}

/* sections */
section{margin:0}
.pad{padding-top:90px;padding-bottom:40px}
.eyebrow{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:#8B9096;font-weight:700}
.eyebrow::before{content:"";display:block;width:26px;height:1px;background:var(--red)}
h2.big{font-size:clamp(30px,3.5vw,48px);font-weight:700;letter-spacing:-.032em}
h3.mid{font-size:clamp(25px,2.9vw,36px);font-weight:700;letter-spacing:-.03em}
.lead{font-size:19px;color:var(--body)}
.split{display:grid;gap:56px;grid-template-columns:1.15fr .85fr;align-items:start}
figure{margin:0;border-radius:16px;overflow:hidden;background:#F0EADF;border:1px solid var(--line)}
figure img{width:100%;height:auto;display:block}
figcaption{padding:14px 18px;font-size:13px;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;border-top:1px solid #EFE6D6;background:var(--surface)}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:22px;transition:border-color .45s var(--ease),transform .45s var(--ease)}
.stat:hover{border-color:#D8C7AB;transform:translateY(-3px)}
.stat b{display:block;font-size:44px;font-weight:700;letter-spacing:-.045em;color:var(--ink);font-variant-numeric:tabular-nums}
.stat.dark{background:var(--ink);color:#fff}
.stat.dark b{color:#FFD766}
.stat small{font-size:14px;color:#5C6269;font-weight:600}
.stat.dark small{color:rgba(255,255,255,.7)}
.btnline{display:inline-block;border:1px solid var(--ink);background:transparent;color:var(--ink);padding:15px 26px;border-radius:999px;font-weight:700;transition:background .35s var(--ease),color .35s var(--ease)}
.btnline:hover{background:var(--ink);color:#fff}
.btnsoft{display:inline-block;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:15px 26px;border-radius:999px;font-weight:700;transition:background .4s var(--ease),border-color .4s var(--ease)}
.btnsoft:hover{background:#F3EADC;border-color:#D8C7AB;color:var(--ink)}

/* cards */
.cards{display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.card{display:grid;grid-template-rows:auto 1fr;background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 1px 2px rgba(20,23,26,.04);transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s var(--ease);color:var(--ink)}
.card:hover{transform:translateY(-6px);box-shadow:0 22px 48px rgba(20,23,26,.11);border-color:#D8C7AB;color:var(--ink)}
.card .shot{display:block;overflow:hidden;background:#F0EADF;line-height:0}
.card .shot img{width:100%;height:auto;display:block;filter:saturate(.97);transition:transform .9s var(--ease),filter .6s var(--ease)}
.card:hover .shot img{transform:scale(1.04);filter:saturate(1.06)}
.card .body{display:grid;gap:12px;align-content:start;padding:26px 26px 28px;border-top:1px solid #F0F0EC}
.card .head{display:flex;align-items:baseline;gap:12px}
.card .num{font-size:11px;font-weight:700;letter-spacing:.2em;color:#A9AEB4;font-variant-numeric:tabular-nums}
.card h3{font-size:21px;font-weight:700;letter-spacing:-.025em;line-height:1.15}
.card p{font-size:16px;color:#5C6269;line-height:1.66}
.card .more{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--red)}
.card .more i{font-style:normal;transition:transform .4s var(--ease)}
.card:hover .more i{transform:translateX(5px)}

/* service detail */
.svc{padding-top:54px;padding-bottom:54px;border-top:1px solid var(--line)}
.svcgrid{display:grid;gap:44px;grid-template-columns:.9fr 1.1fr;align-items:start}
.svcgrid.flip figure{order:2}
.svcbody{display:grid;gap:18px;align-content:start}
.svcnum{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:#8B9096;font-weight:800}
.benefits{margin:6px 0 0;padding:0;list-style:none;display:grid;gap:12px}
.benefits li{display:grid;grid-template-columns:22px 1fr;gap:12px;font-size:17px;align-items:start}
.benefits li::before{content:"";display:block;width:9px;height:9px;border-radius:50%;background:var(--red);margin-top:9px}
.svccta{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding-top:8px}
.svccta span{font-size:16px;color:#5C6269;font-weight:600;max-width:40ch}
.btnsm{background:var(--red);color:#fff;padding:15px 26px;border-radius:999px;font-weight:700;transition:background .35s var(--ease)}
.btnsm:hover{background:var(--red-dark);color:#fff}

/* reviews */
.reviews{margin-top:90px;background:var(--ink);color:#fff;overflow:hidden}
.reviewsin{max-width:1100px;margin:0 auto;padding:90px 22px 96px;display:grid;gap:34px;justify-items:center;text-align:center}
.reviewsin .stars{display:flex;gap:5px;font-size:22px;color:#FFD766}
#quote{font-size:clamp(21px,2.9vw,35px);font-weight:400;line-height:1.34;letter-spacing:-.028em;max-width:28ch;color:#F4F4F2;transition:opacity .5s var(--ease)}
.who{display:flex;align-items:center;gap:14px}
.mono{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#24282C;border:1px solid #3A3F45;color:#FFD766;font-size:17px;font-weight:800;flex-shrink:0}
.who b{display:block;font-size:17px}
.who small{display:block;font-size:14px;color:#8B9096}
.dots{display:flex;gap:9px;padding-top:6px}
.dots button{width:34px;height:5px;border:0;border-radius:99px;background:#3A3F45;padding:0;transition:background .35s var(--ease)}
.dots button[aria-current="true"]{background:#FFD766}

/* gallery */
.masonry{columns:3;column-gap:20px}
.masonry figure{margin:0 0 20px;break-inside:avoid;box-shadow:0 1px 2px rgba(20,23,26,.04);transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s var(--ease)}
.masonry figure:hover{transform:translateY(-5px);box-shadow:0 22px 46px rgba(20,23,26,.12);border-color:#D8C7AB}
.masonry button{display:block;padding:0;border:0;background:#F0EADF;overflow:hidden;line-height:0;width:100%;cursor:zoom-in}
.masonry img{transition:transform .9s var(--ease),filter .6s var(--ease);filter:saturate(.97)}
.masonry figure:hover img{transform:scale(1.04);filter:saturate(1.06)}
.masonry figcaption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px}
.masonry figcaption i{font-style:normal;color:var(--red);font-size:15px}
#lightbox{display:none;position:fixed;inset:0;z-index:960;background:rgba(12,11,10,.94);grid-template-rows:1fr auto;place-items:center;padding:24px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
#lightbox.open{display:grid}
#lightbox img{max-width:min(1200px,94vw);max-height:78vh;width:auto;height:auto;border-radius:12px;box-shadow:0 40px 120px rgba(0,0,0,.6)}
.lbbar{display:flex;align-items:center;gap:20px;padding-top:20px;color:#EFE6D6;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px}
.lbbar button{width:46px;height:46px;border:1px solid rgba(255,255,255,.28);background:transparent;color:#EFE6D6;border-radius:50%;transition:background .4s var(--ease)}
.lbbar button:hover{background:rgba(255,255,255,.12)}

/* contact */
.contactlist{display:grid;gap:2px;padding-top:8px;border-top:1px solid var(--line)}
.contactlist a,.contactlist div{padding:16px 0;border-bottom:1px solid var(--line);color:var(--ink)}
.contactlist a{width:fit-content;font-weight:600}
.contactlist .big{font-size:22px;font-weight:800}
.social{display:flex;gap:10px;padding-top:6px}
.social a{width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;color:var(--ink);transition:box-shadow .35s var(--ease),border-color .35s var(--ease)}
.social a:hover{border-color:var(--red);box-shadow:0 0 0 4px rgba(200,16,46,.12);color:var(--red)}
.formcard{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:clamp(24px,3.4vw,40px)}
.formcard form{display:grid;gap:16px}
.formcard label{display:grid;gap:7px;font-size:14px;font-weight:700;color:var(--body)}
.formcard input,.formcard select,.formcard textarea{padding:14px 15px;border:1px solid var(--line);border-radius:12px;background:#FAF7F1;font-size:17px}
.formcard textarea{resize:vertical}
.formcard button{border:0;background:var(--red);color:#fff;padding:17px 24px;border-radius:999px;font-size:17px;font-weight:800;transition:background .35s var(--ease),transform .35s var(--ease)}
.formcard button:hover{background:var(--red-dark);transform:translateY(-2px)}
.mapbox{border-radius:20px;overflow:hidden;border:1px solid var(--line);background:#E3E3DF;height:clamp(300px,46vw,480px)}
.mapbox iframe{width:100%;height:100%;border:0;display:block}
.chips{display:flex;flex-wrap:wrap;gap:8px;padding-top:10px}
.chips span{display:inline-block;padding:9px 15px;border:1px solid var(--line);border-radius:999px;font-size:14px;font-weight:600;color:var(--body);background:var(--surface)}

/* panels */
.panelcard{background:linear-gradient(160deg,#FFFDF9 0%,#F1E7D6 100%);border:1px solid var(--line);border-radius:20px;padding:clamp(30px,5vw,66px);display:grid;gap:20px;max-width:74ch}
.valuecards{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.valuecard{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:32px;display:grid;gap:12px;align-content:start;box-shadow:0 1px 2px rgba(20,23,26,.04);transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s var(--ease)}
.valuecard:hover{transform:translateY(-6px);box-shadow:0 22px 48px rgba(20,23,26,.1);border-color:#D8C7AB}
.valuecard .k{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--red);font-weight:800}

/* closing cta */
.closing{position:relative;isolation:isolate;overflow:hidden;border-top:1px solid var(--line)}
.closingbg{position:absolute;inset:-6%;z-index:-2;background-image:url("assets/cta-skyline-s.jpg");background-size:cover;background-position:center 62%;animation:kb 30s var(--ease) infinite alternate}
.closingveil{position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,rgba(88,12,26,.94) 0%,rgba(58,12,22,.86) 46%,rgba(18,14,18,.72) 100%)}
.closingin{padding-top:96px;padding-bottom:96px;display:grid;gap:22px;justify-items:start}
.closingin h2{font-size:clamp(28px,4vw,52px);font-weight:700;letter-spacing:-.038em;line-height:1.04;max-width:24ch;color:#FFFDF8}
.closingin p{font-size:19px;color:#D9CFC0;max-width:56ch}

/* footer */
footer{background:var(--ink);color:#F4F4F2}
.footgrid{display:grid;gap:46px;grid-template-columns:1.3fr .7fr 1fr 1fr;padding-top:72px;padding-bottom:30px}
.footgrid .lab{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:#8B9096;font-weight:800}
.footcol{display:grid;gap:12px;align-content:start}
.footcol a{color:#F4F4F2;font-size:16px;font-weight:600;width:fit-content}
.footcol a:hover{color:#FFD766}
.footcol .muted{font-size:16px;color:#A6ABB1}
.footlogo{display:inline-block;width:fit-content;background:var(--bg);border-radius:14px;padding:14px 18px}
.footlogo img{width:150px;height:auto;display:block}
.footsocial{display:flex;gap:10px}
.footsocial a{width:42px;height:42px;display:grid;place-items:center;border:1px solid #33383D;border-radius:11px;color:#F4F4F2;transition:box-shadow .35s var(--ease),border-color .35s var(--ease)}
.footsocial a:hover{border-color:#FFD766;box-shadow:0 0 0 4px rgba(255,215,102,.14);color:#FFD766}
.areas{padding-top:26px;padding-bottom:20px;border-top:1px solid #24282C}
.areas .list{display:flex;flex-wrap:wrap;gap:6px 16px}
.areas .list span{font-size:14px;color:#A6ABB1}
.foot2{padding-top:22px;padding-bottom:40px;border-top:1px solid #24282C;display:flex;flex-wrap:wrap;gap:12px 26px;align-items:center;justify-content:space-between}
.foot2 .copy{font-size:14px;color:#8B9096}
.journal{display:flex;flex-wrap:wrap;gap:18px}
.journal a{color:#A6ABB1;font-size:14px;font-weight:600}
.journal a:hover{color:#FFD766}

/* mobile call bar */
#callbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:930;grid-template-columns:1.4fr 1fr;gap:1px;background:var(--dark);border-top:1px solid rgba(255,255,255,.08);box-shadow:0 -10px 30px rgba(20,23,26,.2)}
#callbar a{display:flex;align-items:center;justify-content:center;padding:18px 12px;font-size:17px;font-weight:700}
#callbar .call{background:var(--red);color:#fff}
#callbar .text{background:var(--dark);color:var(--gold-light);font-weight:600}

/* responsive */
@media (max-width:1200px){
  .mainnav,.headright{display:none}
  #burger{display:grid}
  .headrow{grid-template-columns:1fr auto}
  #callbar{display:grid}
  body{padding-bottom:76px}
  .split,.svcgrid{grid-template-columns:1fr;gap:32px}
  .svcgrid.flip figure{order:0}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .masonry{columns:2}
  .footgrid{grid-template-columns:1fr 1fr}
  .trustgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .trustgrid div{padding-left:0;padding-right:26px}
}
@media (max-width:720px){
  .cards{grid-template-columns:1fr}
  .masonry{columns:1}
  .footgrid{grid-template-columns:1fr}
  .trustgrid{grid-template-columns:1fr}
  .trustgrid div{border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}
  .stats{grid-template-columns:1fr 1fr}
  .heroin{padding-top:104px}
  .pad{padding-top:64px}
}
@media (max-width:440px){
  .brand .words{display:none}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none !important;transition-duration:.01ms !important}
  .reveal,.wipe{opacity:1 !important;transform:none !important;clip-path:none !important}
}
