
*,*::before,*::after{box-sizing:border-box;margin:0;border:0 solid var(--border)}
:root{
 --radius:.25rem;
 --background:oklch(.16 .006 60);--foreground:oklch(.95 .01 80);--card:oklch(.2 .008 60);
 --primary:oklch(.7 .18 48);--primary-foreground:oklch(.15 .01 60);--primary-glow:oklch(.8 .16 70);
 --muted-foreground:oklch(.68 .015 70);--border:oklch(.32 .01 60);
 --gradient-molten:linear-gradient(120deg,var(--primary),var(--primary-glow));
 --gradient-fade:linear-gradient(180deg,transparent 0%,color-mix(in oklab,var(--background) 70%,transparent) 55%,var(--background) 100%);
 --shadow-glow:0 20px 60px -20px color-mix(in oklab,var(--primary) 55%,transparent);
 --display:"Bricolage Grotesque",system-ui,sans-serif;--sans:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
}
html{-webkit-text-size-adjust:100%;scroll-padding-top:6rem}
body{background:var(--background);color:var(--foreground);font-family:var(--sans);line-height:1.5;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--display);letter-spacing:-.03em;font-weight:800;line-height:1.1}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
ul{list-style:none;padding:0}
table{border-collapse:collapse}
.ic{width:1.25rem;height:1.25rem;flex:none}
.container{max-width:80rem;margin:0 auto;padding:0 1.25rem}
.muted{color:var(--muted-foreground)}.primary{color:var(--primary)}
.text-molten{background-image:var(--gradient-molten);-webkit-background-clip:text;background-clip:text;color:transparent}
.eyebrow{font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.25em;color:var(--primary)}
.btn{display:inline-flex;align-items:center;gap:.5rem;border-radius:var(--radius);font-weight:700;transition:transform .2s,border-color .2s}
.btn-molten{background-image:var(--gradient-molten);color:var(--primary-foreground);box-shadow:var(--shadow-glow)}
.btn-lg{padding:1rem 1.75rem}.btn-lg .ic{width:1.25rem;height:1.25rem}
.btn-ghost{border:1px solid var(--border);background:color-mix(in oklab,var(--background) 40%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.btn-ghost:hover{border-color:var(--primary)}
.lift:hover{transform:translateY(-2px)}
@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes marquee{to{transform:translateX(-50%)}}
.rise{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
@media (prefers-reduced-motion:reduce){.rise,.marquee{animation:none!important}}

/* header */
.hdr{position:fixed;inset:0 0 auto 0;z-index:50;border-bottom:1px solid color-mix(in oklab,var(--border) 60%,transparent);background:color-mix(in oklab,var(--background) 70%,transparent);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}
.hdr-in{height:4rem;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:.5rem;font-family:var(--display);font-size:1.25rem;font-weight:800}
.brand-mark{display:grid;place-items:center;width:2rem;height:2rem;border-radius:var(--radius);background-image:var(--gradient-molten);color:var(--primary-foreground)}
.nav-d{display:none;gap:2rem;font-size:.875rem}
.nav-d a{color:var(--muted-foreground);transition:color .2s}.nav-d a:hover,.nav-d a.active{color:var(--foreground)}
.call{padding:.5rem 1rem;font-size:.875rem}
.call .long{display:none}
.nav-m{display:flex;justify-content:center;gap:1.25rem;border-top:1px solid color-mix(in oklab,var(--border) 60%,transparent);padding:.75rem;font-size:.75rem}
.nav-m a{color:var(--muted-foreground)}.nav-m a.active{color:var(--primary)}
@media(min-width:640px){.call .long{display:inline}.call .short{display:none}}
@media(min-width:768px){.nav-d{display:flex}.nav-m{display:none}}

/* hero */
.hero{position:relative;display:flex;align-items:flex-end;min-height:100vh;min-height:100svh;overflow:hidden}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fade{position:absolute;inset:0;background-image:var(--gradient-fade)}
.hero-in{position:relative;width:100%;padding-bottom:5rem;padding-top:10rem}
.hero h1{margin-top:1.25rem;max-width:64rem;font-size:clamp(2.5rem,13vw,3.75rem);line-height:.95;overflow-wrap:anywhere}
.hero p.lead{margin-top:1.5rem;max-width:36rem;font-size:1.125rem;color:var(--muted-foreground)}
.hero .eyebrow{letter-spacing:.3em}
.row{display:flex;flex-wrap:wrap;gap:.75rem}
.hero .row{margin-top:2.25rem}
@media(min-width:768px){.hero h1{font-size:6rem}}

.marq-wrap{overflow:hidden;border-block:1px solid var(--border);background:var(--card);padding:1.25rem 0}
.marquee{display:flex;width:max-content;gap:3rem;white-space:nowrap;font-family:var(--display);font-size:1.5rem;font-weight:700;color:var(--muted-foreground);animation:marquee 40s linear infinite}
.marquee span{display:flex;align-items:center;gap:3rem}.marquee i{font-style:normal;color:var(--primary)}

.sec{padding:7rem 1.25rem}
.sec h2.big{max-width:42rem;font-size:2.25rem}
@media(min-width:768px){.sec h2.big{font-size:3.75rem}}
.steps{margin-top:3.5rem;display:grid;gap:1px;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--border)}
.step{background:var(--background);padding:2.25rem;transition:background .2s}.step:hover{background:var(--card)}
.step-top{display:flex;align-items:center;justify-content:space-between}
.step-top .ic{width:2.25rem;height:2.25rem;color:var(--primary)}
.step-n{font-family:var(--display);font-size:3rem;font-weight:800;color:var(--border);transition:color .2s}.step:hover .step-n{color:color-mix(in oklab,var(--primary) 40%,transparent)}
.step h3{margin-top:2.5rem;font-size:1.5rem;font-weight:700}.step p{margin-top:.5rem;color:var(--muted-foreground)}
@media(min-width:768px){.steps{grid-template-columns:repeat(3,1fr)}}

.mat-grid{display:grid;gap:1.5rem;padding:0 1.25rem 7rem}
.mat-img{position:relative;overflow:hidden;border-radius:var(--radius)}
.mat-img img{width:100%;height:100%;min-height:20rem;object-fit:cover}
.mat-img div{position:absolute;inset:auto 0 0 0;background-image:var(--gradient-fade);padding:6rem 1.75rem 1.75rem}
.mat-img p{font-family:var(--display);font-size:1.875rem;font-weight:800;line-height:1.1}
.mat-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);padding:1.75rem}
.mat-card .top{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}
.mat-card h3{font-size:1.5rem;font-weight:700}
.tag{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--primary)}
.mat-card p{margin-top:.75rem;color:var(--muted-foreground)}
@media(min-width:768px){.mat-grid{grid-template-columns:repeat(5,1fr)}.mat-img{grid-column:span 2;grid-row:span 2}.mat-card{grid-column:span 3}}

.feat-wrap{border-block:1px solid var(--border);background:var(--card)}
.feat{display:grid;gap:2.5rem;padding:5rem 1.25rem}
.feat .ic{width:2rem;height:2rem;color:var(--primary)}
.feat h3{margin-top:1.25rem;font-size:1.25rem;font-weight:700}.feat p{margin-top:.5rem;color:var(--muted-foreground)}
@media(min-width:768px){.feat{grid-template-columns:repeat(3,1fr)}}

.open{display:grid;gap:2.5rem;align-items:center;border-radius:var(--radius);background-image:var(--gradient-molten);color:var(--primary-foreground);padding:2.5rem}
.open h2{font-size:2.25rem}.open .addr{margin-top:1rem;font-size:1.125rem;opacity:.8}
.open .btn{margin-top:2rem;background:var(--background);color:var(--foreground)}
.open .hrs{font-family:var(--display);font-size:1.25rem;font-weight:700}
.open .hrs div{display:flex;justify-content:space-between;border-bottom:1px solid color-mix(in oklab,var(--primary-foreground) 20%,transparent);padding-bottom:.75rem;margin-bottom:.75rem}
@media(min-width:768px){.open{grid-template-columns:1fr 1fr;padding:4rem}.open h2{font-size:3.75rem}}

/* footer */
.ftr{border-top:1px solid var(--border);background:var(--card)}
.ftr-in{display:grid;gap:2.5rem;padding:3.5rem 1.25rem}
.ftr .logo{font-family:var(--display);font-size:1.875rem;font-weight:800}
.ftr .about{margin-top:.75rem;max-width:24rem;color:var(--muted-foreground)}
.ftr .col{font-size:.875rem;display:grid;gap:.75rem;align-content:start}
.ftr .col>*{display:flex;gap:.5rem}.ftr .ic{width:1rem;height:1rem;color:var(--primary);margin-top:.2rem}
.ftr .hr{display:flex;justify-content:space-between;color:var(--muted-foreground)}
.ftr .col.hrs{gap:.25rem}
.copy{border-top:1px solid var(--border);padding:1.25rem;text-align:center;font-size:.75rem;color:var(--muted-foreground)}
@media(min-width:768px){.ftr-in{grid-template-columns:2fr 1fr 1fr}}

/* inner pages */
.phero{border-bottom:1px solid var(--border);padding:9rem 0 4rem;background-image:radial-gradient(color-mix(in oklab,var(--foreground) 6%,transparent) 1px,transparent 1px);background-size:22px 22px}
.phero h1{margin-top:1rem;max-width:56rem;font-size:3rem}
.phero p.lead{margin-top:1.5rem;max-width:42rem;font-size:1.125rem;color:var(--muted-foreground)}
@media(min-width:768px){.phero h1{font-size:4.5rem}}
.link-more{display:inline-block;font-weight:700;color:var(--primary);text-decoration:underline;text-underline-offset:4px}
.cards{display:grid;gap:1.25rem;padding:5rem 1.25rem}
.card{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);padding:2rem;transition:transform .3s,border-color .3s,box-shadow .3s}
.card:hover{transform:translateY(-4px);border-color:var(--primary);box-shadow:var(--shadow-glow)}
.card h2{margin-top:.75rem;font-size:1.875rem}
.card li{display:flex;align-items:center;gap:.5rem;color:var(--muted-foreground);margin-top:.5rem}
.card ul{margin-top:1.5rem}.card li .ic{width:1rem;height:1rem;color:var(--primary)}
@media(min-width:768px){.cards{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.cards{grid-template-columns:repeat(3,1fr)}}
.cta-box{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:1.5rem;border:1px solid var(--border);border-radius:var(--radius);padding:2.5rem;margin:0 1.25rem 6rem}
.cta-box h2{font-size:1.875rem}.cta-box p{margin-top:.5rem;color:var(--muted-foreground)}
@media(min-width:768px){.cta-box{flex-direction:row;align-items:center}}

.ptop{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--border);padding-bottom:1.25rem;margin-bottom:2.5rem}
.ptop h2{font-size:1.5rem;font-weight:700}.ptop span{font-size:.875rem;font-weight:700;color:var(--primary)}
.pgrid{display:grid;gap:3rem;align-items:start}
.pgrid h3{min-height:3.5rem;margin-bottom:1.25rem;border-bottom:2px solid var(--primary);padding-bottom:1rem;font-size:1.5rem;font-weight:700}
.pgrid table{width:100%;table-layout:fixed;text-align:left}
.pgrid thead tr{font-size:.75rem;color:var(--muted-foreground)}.pgrid thead th{padding-bottom:.75rem;font-weight:500}
.pgrid tbody tr{border-bottom:1px solid var(--border);transition:background .2s}.pgrid tbody tr:hover{background:var(--card)}
.pgrid tbody th{padding:1rem .75rem 1rem 0;font-size:.875rem;font-weight:500}
.pgrid tbody th small{display:block;margin-top:.25rem;font-size:.75rem;font-weight:600;color:var(--primary)}
.pgrid td{padding:1rem 0;text-align:right;font-family:var(--display);font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--primary)}
.pgrid .tr{text-align:right}
.pgrid col.a{width:70%}.pgrid col.b{width:30%}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pfoot{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:1.25rem;margin-top:3.5rem;border-top:1px solid var(--border);padding-top:2rem}
.pfoot p{max-width:36rem;font-size:.875rem;color:var(--muted-foreground)}
.pfoot .btn{padding:.75rem 1.5rem;flex:none}
@media(min-width:640px){.pfoot{flex-direction:row;align-items:center}}
@media(min-width:1024px){.pgrid{grid-template-columns:repeat(3,1fr);gap:2rem}}
.ptab{padding:3.5rem 1.25rem}@media(min-width:768px){.ptab{padding:5rem 1.25rem}}

.kgrid{display:grid;gap:1.5rem;padding:5rem 1.25rem}
.kcol{display:grid;gap:1.25rem;align-content:start}
.kbox{display:block;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);padding:2rem;transition:border-color .2s}
a.kbox:hover{border-color:var(--primary)}
.kbox .ic{width:1.75rem;height:1.75rem;color:var(--primary)}
.kbox .lbl{margin-top:1.5rem;font-size:.875rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted-foreground)}
.kbox .val{font-family:var(--display);font-size:1.5rem;font-weight:700;line-height:1.2;overflow-wrap:anywhere}
.kbox.hot{background-image:var(--gradient-molten);border:0;color:var(--primary-foreground);box-shadow:var(--shadow-glow)}
.kbox.hot .ic{color:inherit}.kbox.hot .lbl{color:inherit;opacity:.75}.kbox.hot .val{font-size:1.875rem;font-weight:800}
.kbox .route{margin-top:1.25rem;display:inline-flex;align-items:center;gap:.5rem;font-weight:700;color:var(--primary)}.kbox .route .ic{width:1rem;height:1rem}
.kbox .hrow{display:flex;justify-content:space-between;border-bottom:1px solid var(--border);padding:.5rem 0}.kbox .hrow:last-child{border:0}.kbox .hrow b{font-weight:700}
.kbox .lbl.m{margin-bottom:.75rem}
.map{width:100%;min-height:30rem;border:1px solid var(--border);border-radius:var(--radius);filter:grayscale(1)}
@media(min-width:1024px){.kgrid{grid-template-columns:repeat(5,1fr)}.kcol{grid-column:span 2}.map{grid-column:span 3}}
.page{display:none}.page.on{display:block}
