:root{--ink:#1d1d1f;--muted:#6e6e73;--soft:#f5f5f7;--line:#d2d2d7;--link:#2f6f87;--brand:#78C2D7;--cta:#D9467A;--dark:#0f1a24}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}
a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}
img{display:block;max-width:100%}
.wrap{max-width:1180px;margin:0 auto;padding:0 22px}
.nav{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.78);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,.08)}
.nav .wrap{max-width:1040px;min-height:52px;display:flex;flex-wrap:wrap;gap:8px 28px;align-items:center;justify-content:space-between}
.logo{display:flex;align-items:center}
.logo img{height:28px;width:auto}
.nav nav{display:flex;flex-wrap:wrap;gap:6px 26px;align-items:center;font-size:13px}
.nav nav a{color:var(--ink)}
.nav nav a[aria-current]{color:var(--link);font-weight:600}
.btn{display:inline-block;background:var(--cta);color:#fff!important;border-radius:999px;padding:13px 26px;font-size:17px;font-weight:500}
.btn:hover{text-decoration:none;filter:brightness(1.06)}
.btn.sm{padding:7px 15px;font-size:13px}
.hero{text-align:center;padding:96px 0 0}
.eyebrow{font-size:21px;font-weight:600;color:var(--link)}
h1{margin:14px 0 0;font-size:clamp(40px,7vw,72px);line-height:1.04;font-weight:700;letter-spacing:-1.5px}
.lead{margin:20px auto 0;font-size:clamp(18px,2.2vw,22px);line-height:1.45;color:var(--muted);max-width:680px}
.ctas{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:30px;align-items:center}
.more{font-size:17px;font-weight:500;padding:13px 10px}
.price-tag{margin-top:18px;font-size:17px;color:var(--muted)}
.price-tag b{color:var(--ink);font-weight:600}
.hero-img{margin:56px auto 0;max-width:1180px;border-radius:28px;overflow:hidden;aspect-ratio:16/9;background:var(--soft)}
.hero-img img{width:100%;height:100%;object-fit:cover}
.hero-img.contain img{object-fit:contain;mix-blend-mode:multiply;padding:32px}
section{padding:110px 0 0}
h2{margin:0 0 40px;text-align:center;font-size:clamp(34px,5vw,48px);font-weight:700;letter-spacing:-1px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:20px}
.tile{background:var(--soft);border-radius:28px;padding:56px 32px 0;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;overflow:hidden}
.tile h3{margin:0;font-size:clamp(30px,4vw,40px);font-weight:700;letter-spacing:-.8px}
.tile p{margin:0;font-size:19px;color:var(--muted)}
.tile .links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 22px;margin-top:8px;font-size:17px}
.tile .ph{margin-top:28px;width:100%;height:320px;border-radius:20px 20px 0 0;overflow:hidden}
.tile .ph img{width:100%;height:100%;object-fit:cover}
.tile .ph.contain img{object-fit:contain;mix-blend-mode:multiply}
.prices{max-width:1040px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));border-top:1px solid var(--line)}
.prices>div{padding:28px 8px;display:flex;flex-direction:column;gap:6px;border-bottom:1px solid var(--line)}
.prices span:first-child{font-size:15px;color:var(--muted)}
.prices b{font-size:34px;font-weight:600}
.prices small{font-size:14px;color:var(--muted)}
.center{text-align:center;margin-top:36px;font-size:17px}
.about{background:var(--soft);margin-top:110px;padding:100px 0}
.about .wrap{display:flex;flex-wrap:wrap;gap:48px;align-items:center}
.about .img{flex:1 1 420px;border-radius:24px;overflow:hidden;aspect-ratio:3/2}
.about .img img{width:100%;height:100%;object-fit:cover}
.about .txt{flex:1 1 420px}
.about h2{text-align:left;margin-bottom:20px}
.about p{margin:0 0 16px;font-size:21px;line-height:1.5;color:#424245}
.contact{background:var(--dark);color:#f5f5f7;padding:100px 0}
.contact .wrap{max-width:1040px;display:flex;flex-wrap:wrap;gap:48px}
.contact .col{flex:1 1 340px}
.contact h2{text-align:left;margin-bottom:20px}
.contact p{margin:0 0 16px;font-size:19px;line-height:1.6;color:#a1a1a6}
.contact a{color:#8fd0e3}
.contact .tel{color:#f5f5f7;font-weight:600}
.map{flex:1 1 420px;min-height:320px;border-radius:24px;background:#1b2a37;overflow:hidden;display:flex}
.map iframe{border:0;width:100%;min-height:320px}
/* article pages */
.article{max-width:760px;margin:0 auto;padding:96px 22px 0}
.article .block{margin:0 0 56px}
.article h2{text-align:left;font-size:clamp(28px,3.6vw,36px);margin:0 0 18px;letter-spacing:-.6px}
.article p{margin:0 0 16px;font-size:19px;line-height:1.65;color:#424245}
.article ul{margin:0 0 16px;padding-left:22px;font-size:19px;line-height:1.65;color:#424245}
.faq{max-width:760px;margin:0 auto;padding:40px 22px 0}
.faq h2{text-align:left;font-size:clamp(28px,3.6vw,36px);margin:0 0 12px}
details{border-bottom:1px solid var(--line)}
details:first-of-type{border-top:1px solid var(--line)}
summary{list-style:none;cursor:pointer;padding:22px 36px 22px 0;font-size:19px;font-weight:600;position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:4px;top:18px;font-size:26px;font-weight:400;color:var(--muted);transition:transform .2s}
details[open] summary::after{transform:rotate(45deg)}
details p{margin:0 0 22px;font-size:18px;line-height:1.65;color:#424245}
.band{margin:110px 0 0;background:var(--soft);padding:80px 22px;text-align:center}
.band h2{margin:0 0 14px}
.band p{margin:0 0 26px;font-size:19px;color:var(--muted)}
.pricelist{max-width:860px;margin:0 auto;padding:0 22px}
.pricelist .row{display:grid;grid-template-columns:1fr auto;column-gap:24px;row-gap:8px;align-items:baseline;padding:26px 0;border-bottom:1px solid var(--line)}
.pricelist .row:first-child{border-top:1px solid var(--line)}
.pricelist .name{font-size:21px;font-weight:600}
.pricelist .meta{grid-column:1/-1;font-size:15px;color:var(--muted);line-height:1.6}
.pricelist .val{white-space:nowrap;text-align:right}
.pricelist .val{font-size:24px;font-weight:600}
footer{background:var(--soft);color:var(--muted);font-size:12px}
footer .wrap{max-width:1040px;padding:20px 22px}
.band+footer{border-top:1px solid var(--line)}
@media (max-width:640px){.hero{padding-top:64px}section{padding-top:80px}.tile{padding-top:44px}.tile .ph{height:240px}.about,.contact{padding:72px 0}.nav nav{gap:6px 16px}.article{padding-top:64px}}
.wa{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:30;display:flex;align-items:center;justify-content:center;width:56px;height:56px;background:#25D366;color:#fff!important;border-radius:50%;box-shadow:0 6px 20px rgba(0,0,0,.18)}.wa:hover{text-decoration:none;filter:brightness(1.05)}
.nav .btn.sm{order:3}
.band-img{max-width:1040px;margin:0 auto 56px;padding:0 22px}.band-img div{border-radius:28px;overflow:hidden;aspect-ratio:21/9;background:var(--soft)}.band-img img{width:100%;height:100%;object-fit:cover}
@media (max-width:640px){.nav .wrap{padding-top:8px;padding-bottom:0;gap:0}.logo{order:1;min-height:40px}.nav .btn.sm{order:2;margin-left:auto}.nav nav{order:3;flex:1 1 100%;flex-wrap:nowrap;justify-content:space-between;gap:0;min-height:40px;white-space:nowrap}.band-img div{aspect-ratio:4/3;border-radius:20px}}
