*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:#111;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",sans-serif;overflow-x:hidden}
img{display:block;width:100%;height:100%;object-fit:cover}
.header{position:fixed;top:0;left:0;right:0;z-index:100;height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 7vw;background:rgba(255,255,255,.88);backdrop-filter:blur(18px)}
.logo{font-size:24px;font-weight:850;letter-spacing:-.06em;text-decoration:none;color:#111}
.contact-btn{background:#111;color:#fff;text-decoration:none;border-radius:999px;padding:14px 26px;font-weight:800}
.eyebrow{font-size:12px;letter-spacing:.24em;color:#888;font-weight:850}
.hero{min-height:100svh;display:grid;grid-template-columns:.82fr 1.18fr;align-items:center;gap:5vw;padding:112px 7vw 70px;background:#fbfaf8}
.hero h1{font-size:clamp(48px,6vw,96px);line-height:1.15;letter-spacing:-.07em;margin:28px 0 24px}
.hero p:not(.eyebrow){font-size:18px;line-height:2;color:#222;font-weight:600}
.hero-img{height:74vh;min-height:540px;overflow:hidden}
.button{display:inline-flex;align-items:center;justify-content:center;background:#111;color:#fff;text-decoration:none;border-radius:999px;padding:15px 30px;font-weight:850;margin-top:26px}
.about{min-height:58vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:110px 24px}
.about h2{font-size:clamp(38px,6vw,82px);line-height:1.25;letter-spacing:-.065em;margin:22px 0 26px}
.about p:last-child{max-width:820px;color:#444;font-size:18px;line-height:2;font-weight:600}
.about.big{min-height:72vh;background:#fbfaf8}
.wide-img{height:80vh;min-height:560px;overflow:hidden}
.service-cards{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:120px 7vw;background:#fff}
.service-cards article{border-radius:28px;overflow:hidden;background:#fff;box-shadow:0 30px 90px rgba(0,0,0,.07)}
.service-cards img{height:360px}
.service-cards div{padding:30px}
.service-cards h3{font-size:24px;margin:0 0 14px}
.service-cards p{line-height:1.9;color:#555;font-weight:600;margin:0}
.price{padding:130px 7vw;text-align:center;background:#fff}
.price h2{font-size:clamp(38px,5vw,74px);letter-spacing:-.06em;margin:22px 0 50px}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;text-align:left}
.plans article{border:1px solid #e8e8e8;border-radius:30px;padding:34px;min-height:235px;box-shadow:0 28px 80px rgba(0,0,0,.045)}
.plans .main{background:#111;color:#fff}
.plans h3{font-size:22px;margin:0 0 26px}
.plans strong{display:block;font-size:clamp(32px,3.4vw,48px);letter-spacing:-.06em;margin-bottom:18px}
.plans p{color:#666;line-height:1.8}.plans .main p{color:#ddd}
.sunset{position:relative;height:78vh;min-height:560px;color:#fff;text-align:center;display:flex;align-items:center;justify-content:center;overflow:hidden}
.sunset img{position:absolute;inset:0}
.sunset:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.58),rgba(0,0,0,.08))}
.sunset div{position:relative;z-index:2;padding:0 24px}
.sunset h2{font-size:clamp(34px,5vw,72px);line-height:1.35;letter-spacing:-.06em;margin:0 0 30px}
.light{background:#fff;color:#111}
footer{height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 7vw;background:#fff}
footer strong{font-size:22px}footer small{font-size:14px}
.reveal{opacity:0;transform:translateY(36px);transition:opacity 1s ease,transform 1s ease}
.reveal.show{opacity:1;transform:translateY(0)}
@media(max-width:820px){
.header{height:74px;padding:0 22px}.logo{font-size:24px}.contact-btn{padding:13px 22px}
.hero{display:flex;flex-direction:column;padding:94px 0 70px;gap:0;min-height:auto}
.hero-copy{padding:0 28px 52px;order:2}.hero-img{order:1;width:100%;height:58svh;min-height:460px}
.hero h1{font-size:clamp(42px,12vw,66px);margin:24px 0 20px}.hero p:not(.eyebrow){font-size:16px}
.about{min-height:58vh;padding:100px 24px}.about.big{min-height:70vh}.about p:last-child{font-size:16px}
.wide-img{height:68svh;min-height:440px}
.service-cards{grid-template-columns:1fr;padding:96px 24px}.service-cards img{height:300px}
.price{padding:105px 24px}.plans{grid-template-columns:1fr}
.sunset{height:76svh;min-height:520px}
footer{padding:0 24px}
}
