:root{
	--bg:#0e0f12;
	--elev:#15171c;
	--card:#111318;
	--primary:#7cc4a5;
	--primary-ink:#062c20;
	--text:#e8e9ec;
	--muted:#a9acb6;
	--line:#23262d;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
	font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
	color:var(--text);
	background:radial-gradient(1200px 800px at 80% -10%, #1a1d24, transparent 60%), var(--bg);
	line-height:1.6;
}
img{max-width:100%;display:block}
.container{width:100%;max-width:1120px;margin:0 auto;padding:0 20px}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(14,15,18,.7);backdrop-filter:saturate(120%) blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{font-family:"Playfair Display",serif;font-weight:700;letter-spacing:.04em}
.menu a{color:var(--muted);text-decoration:none;margin-left:20px;font-weight:500}
.menu a:hover{color:var(--text)}

/* Hero */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.hero-wrap{padding:96px 0 72px;position:relative}
.hero h1{font-family:"Playfair Display",serif;font-size:44px;line-height:1.15;margin:0 0 16px}
.hero p{max-width:780px;color:var(--muted);margin:0 0 28px}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap}
.hero-bg{position:absolute;inset:0;background:conic-gradient(from 210deg at 70% 10%, rgba(124,196,165,.18), transparent 40%), radial-gradient(600px 280px at 20% 120%, rgba(124,196,165,.25), transparent 60%);opacity:.7;pointer-events:none}

/* Sections */
.section{padding:72px 0;border-bottom:1px solid var(--line)}
.section.alt{background:linear-gradient(180deg, rgba(18,20,25,.6), rgba(18,20,25,0))}
.section h2{font-size:28px;margin:0 0 20px;font-family:"Playfair Display",serif}

/* Grids */
.grid{display:grid;gap:20px}
.grid.two{grid-template-columns:1.2fr .8fr}
.grid.three{grid-template-columns:repeat(3,1fr)}
@media (max-width:960px){.grid.two,.grid.three{grid-template-columns:1fr}}

/* Cards */
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.cards .card h3{margin:2px 0 8px}
.cards .card p{color:var(--muted);margin:0}

/* Stats */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-content:start}
.stats strong{display:block;font-size:28px}
.stats span{color:var(--muted)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:12px;text-decoration:none;border:1px solid var(--line);transition:.2s ease;will-change:transform}
.btn-primary{background:linear-gradient(180deg, var(--primary), #64b796);color:#0b1914;border-color:transparent;box-shadow:0 8px 18px rgba(124,196,165,.25)}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(124,196,165,.32)}
.btn-ghost{color:var(--text);background:transparent}
.btn-ghost:hover{background:rgba(255,255,255,.04)}

/* Lists */
.checks{list-style:none;padding:0;margin:12px 0 0}
.checks li{position:relative;padding-left:26px;margin:8px 0;color:var(--muted)}
.checks li:before{content:"";position:absolute;left:0;top:.55em;width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 40% 40%, #fff, #b6e3d0);box-shadow:0 0 0 3px rgba(124,196,165,.18)}

/* Gallery */
.gallery .tile{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.gallery .ph{height:160px;background:linear-gradient(135deg,#1c2027,#20242c);border-bottom:1px solid var(--line);position:relative}
.gallery .ph:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg, rgba(124,196,165,.08) 0 6px, transparent 6px 12px)}
.gallery span{display:block;padding:12px;color:var(--muted)}

/* Steps */
.steps{list-style:none;padding:0;margin:6px 0 0;counter-reset:step}
.steps li{display:grid;gap:6px;padding:16px;border-bottom:1px dashed var(--line)}
.steps strong{font-weight:600}
.steps span{color:var(--muted)}

/* Feature/quote */
.features .quote p{font-family:"Playfair Display",serif;font-size:18px;margin:0 0 6px}
.features .quote span{color:var(--muted)}

/* Footer */
.site-footer{padding:32px 0}
.footer-wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:18px}
.brand strong{display:block}
.brand span{color:var(--muted)}
.legal{color:var(--muted)}

/* Helpers */
.center{text-align:center}

/* Motion preferences */
@media (prefers-reduced-motion:reduce){
	*{animation:none!important;transition:none!important}
}

