@font-face{font-family:'Forum';src:url('fonts/forum-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Allura';src:url('fonts/allura-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Jost';src:url('fonts/jost-latin-300-normal.woff2') format('woff2');font-weight:300;font-display:swap}
@font-face{font-family:'Jost';src:url('fonts/jost-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Jost';src:url('fonts/jost-latin-500-normal.woff2') format('woff2');font-weight:500;font-display:swap}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#F3EEE1;color:#2E3B3C;font-family:'Jost','Futura','Century Gothic',sans-serif;font-weight:300;font-size:18px;line-height:1.7}
a{color:#2F6A70}a:hover{color:#1F4C51}
p,h1,h2,h3,ol{margin:0}
img{display:block}
h1,h2,h3{font-family:'Forum',Georgia,serif;font-weight:400}
h2{font-size:clamp(34px,3.4vw,46px);line-height:1.15;color:#2F6A70}
h3{color:#2F6A70}

.site-header{position:relative;z-index:2;background:#F3EEE1;border-bottom:1px solid #DDD3BE}
.site-header-inner{max-width:1240px;margin:0 auto;padding:18px 32px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:#3E7E85}
.brand img{width:44px;height:44px;object-fit:contain}
.brand-text{display:flex;flex-direction:column;line-height:1.1}
.brand-name{font-size:26px;font-weight:300;letter-spacing:.02em}
.brand-sub{font-size:12px;letter-spacing:.22em;text-transform:lowercase;color:#2F6A70}
.main-nav{display:flex;flex-wrap:wrap;align-items:center;gap:4px 28px;font-size:16px;font-weight:400}
.main-nav a{text-decoration:none;padding:10px 0}
.main-nav a.nav-cta{padding:12px 24px;border-radius:999px;background:#2F6A70;color:#FFF}

.hero{display:flex;flex-wrap:wrap;background:#3E7E85}
.hero-text{flex:1 1 460px;display:flex;flex-direction:column;justify-content:center;gap:28px;padding:clamp(48px,7vw,112px) clamp(24px,6vw,96px);color:#FFF}
.hero-line{width:1px;height:64px;background:rgba(255,255,255,.6)}
.hero-kicker{font-size:15px;letter-spacing:.24em;text-transform:uppercase;font-weight:400}
.hero h1{font-size:clamp(38px,4.4vw,62px);line-height:1.15;max-width:620px}
.hero-lead{font-size:19px;max-width:520px}
.btn-row{display:flex;flex-wrap:wrap;gap:14px}
.hero .btn-row{margin-top:8px}
.btn{display:inline-flex;align-items:center;min-height:48px;padding:0 30px;border-radius:999px;text-decoration:none;font-weight:400}
.btn-light,.btn-light:hover{background:#F3EEE1;color:#2F6A70}
.btn-outline,.btn-outline:hover{border:1px solid rgba(255,255,255,.75);color:#FFF}
.hero-image{flex:1 1 520px;min-height:560px;position:relative}
.cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

.claim{padding:clamp(72px,9vw,128px) 24px;text-align:center}
.claim-inner{max-width:820px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:28px}
.claim img{width:200px;height:auto}
.claim h2{font-size:clamp(32px,3.6vw,48px);line-height:1.2}
.claim p{font-size:20px;max-width:640px}

.wrap{max-width:1240px;margin:0 auto}
.kicker{font-size:14px;letter-spacing:.24em;text-transform:uppercase;color:#2F6A70;font-weight:500}
.method{background:#FBF8F1}
.method-inner{padding:clamp(64px,8vw,120px) 32px;display:flex;flex-wrap:wrap;align-items:center;gap:clamp(40px,6vw,96px)}
.method-image{flex:1 1 380px;max-width:480px}
.method-image img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:240px 240px 8px 8px}
.stack{flex:999 1 460px;min-width:0;display:flex;flex-direction:column;gap:22px}

.care{padding:clamp(64px,8vw,120px) 32px}
.care-inner{display:flex;flex-direction:column;gap:48px}
.care-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px}
.care-head h2{max-width:560px}
.care-head p{max-width:460px;font-size:17px}
.care-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:20px}
.care-card{background:#FFF;border-radius:20px;padding:32px 26px;display:flex;flex-direction:column;gap:18px}
.care-card h3{font-size:25px;line-height:1.2}
.note{font-size:14px;line-height:1.6;color:#55605F;max-width:900px}

.gallery{padding:0 32px}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.gallery-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px}

.steps{padding:clamp(64px,8vw,120px) 32px}
.steps-inner{display:flex;flex-wrap:wrap;gap:clamp(40px,6vw,96px);align-items:flex-start}
.steps-intro{flex:1 1 360px;display:flex;flex-direction:column;gap:22px}
.steps-intro img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 75%;border-radius:16px;margin-top:12px}
.step-list{flex:999 1 460px;min-width:0;list-style:none;padding:0;display:flex;flex-direction:column}
.step-list li{display:flex;gap:28px;padding:30px 0;border-top:1px solid #D6CCB6}
.step-list li:last-child{border-bottom:1px solid #D6CCB6}
.step-no{flex:0 0 auto;font-family:'Forum',Georgia,serif;font-size:40px;line-height:1;color:#519299}
.step-body{display:flex;flex-direction:column;gap:8px}
.step-body h3{font-size:27px}

.about{background:#E9F1EF}
.about-inner{padding:clamp(64px,8vw,120px) 32px;display:flex;flex-wrap:wrap-reverse;align-items:center;gap:clamp(40px,6vw,96px)}
.about-role{margin-top:-10px;font-size:17px;font-weight:400;color:#2F6A70}
.signature{margin-top:8px;font-family:'Allura',cursive;font-size:46px;line-height:1.1;color:#3E7E85}
.about-image{flex:1 1 380px;max-width:500px}
.about-image img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 30%;border-radius:8px 8px 240px 240px}

.prices{padding:clamp(64px,8vw,120px) 32px}
.prices-inner{max-width:1000px;margin:0 auto;display:flex;flex-direction:column;gap:40px;align-items:center;text-align:center}
.prices h2{margin-top:-16px}
.price-grid{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.price-card{background:#FFF;border-radius:24px;padding:40px 32px;display:flex;flex-direction:column;gap:10px;align-items:center}
.price-card h3{font-size:28px}
.price-card p{font-size:16px}
.price-card .price{margin-top:10px;font-family:'Forum',Georgia,serif;font-size:56px;line-height:1;color:#3E7E85}
.prices .note{max-width:720px}

.contact{background:#3E7E85;color:#FFF;display:flex;flex-wrap:wrap}
.contact-image{flex:1 1 420px;min-height:480px;position:relative}
.contact-image img{object-position:center 35%}
.contact-text{flex:1 1 520px;padding:clamp(56px,7vw,112px) clamp(24px,6vw,96px);display:flex;flex-direction:column;gap:28px}
.contact-text h2{color:#FFF}
.contact-text>p{max-width:480px}
.contact-cols{display:flex;flex-wrap:wrap;gap:32px 56px}
.contact-col{display:flex;flex-direction:column;gap:4px}
.contact-label{margin-bottom:6px;font-size:13px;letter-spacing:.22em;text-transform:uppercase;font-weight:500}
.contact-col a{color:#FFF;padding:4px 0}
.contact-col a.plain{text-decoration:none}
.strong{font-weight:400}

.site-footer{background:#F3EEE1;border-top:1px solid #DDD3BE}
.site-footer-inner{max-width:1240px;margin:0 auto;padding:48px 32px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px}
.footer-brand{display:flex;align-items:center;gap:16px}
.footer-brand img{width:40px;height:40px;object-fit:contain}
.footer-brand p{font-family:'Forum',Georgia,serif;font-size:24px;color:#2F6A70}
.footer-nav{display:flex;gap:28px;font-size:15px}
.footer-nav a{padding:10px 0}
.copyright{padding:0 32px 32px;text-align:center;font-size:13px;color:#55605F}

.legal{max-width:800px;margin:0 auto;padding:clamp(56px,7vw,96px) 32px}
.legal h1{font-size:clamp(36px,4vw,52px);line-height:1.15;color:#2F6A70;margin-bottom:32px}
.legal h2{font-size:28px;margin:36px 0 10px}
.legal p,.legal ul{margin:0 0 14px}
.legal ul{padding-left:22px}
.legal a{overflow-wrap:anywhere}
