@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=Inter:wght@400;500;600;700&display=swap');

:root { --font-sans:'Inter'; --font-serif:'Cormorant Garamond'; --ink:#17352a; --forest:#12362a; --deep:#0b2a21; --sage:#d8dfcc; --cream:#f4f0e6; --sand:#e7dec9; --rust:#b9623b; --line:rgba(23,53,42,.18); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:var(--font-sans),sans-serif; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
.shell { width:min(1240px,calc(100% - 64px)); margin:0 auto; }
.hero { min-height:100vh; position:relative; overflow:hidden; background:linear-gradient(110deg,#f3efe5 0 54%,#d9dfcd 54%); }
.nav { height:104px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); position:relative; z-index:10; }
.brand { display:flex; align-items:center; gap:11px; font-weight:700; letter-spacing:.08em; font-size:15px; }
.brand>span>span { font-weight:400; margin-left:4px; }
.leaf-mark { width:31px; height:31px; display:inline-block; position:relative; }
.leaf-mark i { position:absolute; width:16px; height:27px; border:1.5px solid currentColor; border-radius:100% 0 100% 0; transform:rotate(-38deg); left:5px; top:0; }
.leaf-mark i:last-child { transform:scaleX(-1) rotate(-38deg); left:12px; top:4px; opacity:.55; }
.nav-links { display:flex; gap:40px; margin-left:100px; font-size:13px; }
.nav-links a,.text-link { transition:opacity .2s; }
.nav-links a:hover,.text-link:hover { opacity:.55; }
.nav-cta { text-transform:uppercase; letter-spacing:.1em; font-size:11px; border-bottom:1px solid; padding:8px 0; }
.nav-cta span,.primary span,.cream span { margin-left:14px; }
.hero-grid { display:grid; grid-template-columns:52% 48%; min-height:calc(100vh - 104px); }
.hero-copy { padding:100px 8% 90px 0; display:flex; flex-direction:column; justify-content:center; position:relative; z-index:2; }
.eyebrow,.section-label { font-size:10px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; display:flex; align-items:center; gap:12px; }
.eyebrow span { width:28px; height:1px; background:var(--rust); }
h1,h2,blockquote { font-family:var(--font-serif),serif; font-weight:500; margin:0; letter-spacing:-.035em; }
h1 { font-size:clamp(66px,7vw,112px); line-height:.82; margin:34px 0 40px; }
h1 em { color:var(--rust); font-weight:400; }
.hero-text { max-width:530px; font-size:17px; line-height:1.7; color:#52655d; margin:0 0 38px; }
.hero-actions { display:flex; gap:32px; align-items:center; }
.button { min-height:57px; display:inline-flex; align-items:center; justify-content:center; padding:0 27px; border:0; text-transform:uppercase; letter-spacing:.12em; font-weight:600; font-size:10px; cursor:pointer; }
.primary { background:var(--ink); color:white; }
.cream { background:var(--cream); color:var(--ink); width:100%; }
.text-link { font-size:12px; border-bottom:1px solid var(--line); padding:10px 0; }
.text-link span { margin-left:10px; }
.trust-row { display:flex; gap:45px; margin-top:78px; padding-top:25px; border-top:1px solid var(--line); }
.trust-row div { display:flex; flex-direction:column; gap:3px; }
.trust-row strong { font-family:var(--font-serif); font-size:25px; font-weight:500; }
.trust-row span { text-transform:uppercase; letter-spacing:.12em; font-size:8px; opacity:.65; }
.sauna-stage { position:relative; min-height:650px; }
.sun { width:420px; height:420px; position:absolute; top:13%; left:20%; border-radius:50%; background:#cad4b8; opacity:.7; }
.tree { position:absolute; width:2px; height:70%; bottom:0; background:#8d9b80; opacity:.45; }
.tree:before,.tree:after { content:""; position:absolute; width:1px; height:80px; background:inherit; transform:rotate(25deg); transform-origin:bottom; bottom:40%; }
.tree:after { transform:rotate(-28deg); bottom:58%; }
.tree-one { left:12%; }.tree-two { right:3%; height:86%; width:3px; }
.barrel { position:absolute; width:72%; height:46%; left:16%; bottom:18%; border-radius:46% 13% 13% 46%; background:linear-gradient(90deg,#b77a48,#9d653e 64%,#744a32); box-shadow:inset -18px 0 22px rgba(39,25,16,.18); transform:perspective(800px) rotateY(-3deg); }
.wood-lines { position:absolute; inset:0; border-radius:inherit; background:repeating-linear-gradient(0deg,transparent 0 13px,rgba(57,33,19,.15) 14px,rgba(255,255,255,.08) 15px); }
.roof { position:absolute; inset:-11px -5px auto 4%; height:56%; border-radius:60% 19% 0 0; border-top:13px solid #263b32; opacity:.93; }
.face { position:absolute; right:-4%; top:5%; width:45%; height:90%; border-radius:50%; background:#9f6945; border:10px solid #6c4632; box-shadow:inset 0 0 0 2px rgba(255,255,255,.14); }
.door { position:absolute; width:42%; height:72%; left:29%; bottom:8%; border:5px solid #7f5135; border-radius:45% 45% 3px 3px; background:linear-gradient(135deg,rgba(255,255,255,.35),rgba(16,41,33,.68)); display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.55); font-size:9px; letter-spacing:.3em; }
.bench { position:absolute; bottom:12%; width:24%; height:7px; background:#c68a55; }.bench:after { content:""; position:absolute; width:4px; height:18px; background:#6e472e; top:4px; }
.bench.left { left:2%; }.bench.right { right:2%; }.bench.right:after { right:2px; }
.band { position:absolute; width:4px; height:104%; top:-2%; background:#2f443c; box-shadow:1px 0 1px rgba(255,255,255,.25); }.band-one { left:26%; }.band-two { left:71%; }
.chimney { position:absolute; width:23px; height:75px; top:-67px; left:57%; background:#263b32; }.chimney i { position:absolute; width:35px; height:8px; left:-6px; top:-4px; background:#263b32; }
.sauna-shadow { position:absolute; width:75%; height:50px; border-radius:50%; background:rgba(20,45,35,.19); filter:blur(12px); bottom:14%; left:13%; }
.stage-note { position:absolute; right:-5%; bottom:4%; width:270px; display:flex; gap:16px; align-items:flex-start; background:rgba(244,240,230,.75); backdrop-filter:blur(8px); padding:17px 20px; }
.stage-note span { font-family:var(--font-serif); font-size:23px; color:var(--rust); }
.stage-note p { margin:0; font-size:10px; line-height:1.5; letter-spacing:.03em; }
.scroll-note { position:absolute; left:18px; bottom:52px; transform:rotate(-90deg); transform-origin:left; font-size:8px; letter-spacing:.16em; text-transform:uppercase; }.scroll-note span { margin-right:10px; }
.intro { padding:145px 0 95px; display:grid; grid-template-columns:26% 74%; border-bottom:1px solid var(--line); }
.intro h2,.section-head h2,.process h2,.contact h2 { font-size:clamp(54px,6vw,88px); line-height:.95; }
.intro>div { display:grid; grid-template-columns:55% 45%; align-items:end; }
.intro p:last-child { font-size:15px; line-height:1.75; color:#66756e; max-width:430px; margin:0 0 6px 30px; }
.benefits { display:grid; grid-template-columns:repeat(3,1fr); padding:0 0 140px; }
.benefits article { padding:50px 42px 20px; border-right:1px solid var(--line); min-height:330px; position:relative; }
.benefits article:first-child { padding-left:0; }.benefits article:last-child { border:0; }
.benefits article>span { position:absolute; right:22px; top:28px; font-size:9px; color:var(--rust); }
.icon { width:58px; height:58px; border:1px solid var(--line); border-radius:50%; display:grid; place-items:center; font-family:serif; font-size:27px; margin-bottom:40px; color:var(--rust); }
.benefits h3,.process h3 { font-family:var(--font-serif); font-size:28px; font-weight:500; margin:0 0 16px; }
.benefits p,.process p,.section-head>p { color:#65756e; font-size:13px; line-height:1.7; max-width:300px; }
.models { background:var(--deep); color:var(--cream); padding:130px 0 145px; }
.section-label.light { color:#b7c1b7; }
.section-head { display:flex; align-items:end; justify-content:space-between; margin-bottom:60px; }
.section-head>p { color:#aeb9b2; margin:0 0 8px; }
.model-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:17px; }
.model-card { background:#183c30; }
.model-visual { height:365px; position:relative; overflow:hidden; background:radial-gradient(circle at 60% 24%,#77907e 0 5%,transparent 5%),linear-gradient(145deg,#345c4d,#102d24); }
.model-visual:before,.model-visual:after { content:""; position:absolute; bottom:0; width:2px; height:90%; background:rgba(7,30,23,.6); box-shadow:12px 0 0 rgba(7,30,23,.35),-15px 0 0 rgba(7,30,23,.4); }
.model-visual:before { left:12%; transform:rotate(4deg); }.model-visual:after { right:14%; transform:rotate(-3deg); }
.mini-barrel { width:66%; height:42%; position:absolute; left:18%; bottom:17%; border-radius:45% 12% 12% 45%; background:repeating-linear-gradient(0deg,#b67948 0 9px,#98623e 10px); box-shadow:0 30px 30px rgba(0,0,0,.25); }
.mini-barrel:before { content:""; position:absolute; right:-3%; top:4%; width:48%; height:92%; border:6px solid #70482f; border-radius:50%; background:radial-gradient(ellipse at 50% 70%,#1e372e 0 20%,#a76d47 21% 55%,#6d462f 57%); }
.terrace .mini-barrel { width:76%; }
.panorama .mini-barrel:before { background:linear-gradient(125deg,rgba(208,225,220,.6),#15362b 64%); border-color:#2c453b; }
.model-info { padding:28px; display:grid; grid-template-columns:1fr auto; gap:22px; align-items:center; }
.model-info>div:first-child span { font-size:8px; letter-spacing:.16em; color:#9aaea3; }
.model-info h3 { font-family:var(--font-serif); font-size:40px; font-weight:500; margin:4px 0 0; }
.specs { grid-row:2; display:flex; gap:15px; font-size:9px; color:#a6b5ad; text-transform:uppercase; letter-spacing:.06em; }
.model-info>a { grid-column:2; grid-row:1/3; width:45px; height:45px; border:1px solid rgba(255,255,255,.25); border-radius:50%; display:grid; place-items:center; transition:.2s; }
.model-info>a:hover { background:var(--cream); color:var(--ink); }
.process { display:grid; grid-template-columns:44% 56%; padding:145px 0; }
.process-title { position:sticky; top:50px; align-self:start; }
.process-title h2 { margin-top:28px; }
.process ol { list-style:none; margin:0; padding:0; }
.process li { display:grid; grid-template-columns:80px 1fr; padding:28px 0 38px; border-top:1px solid var(--line); }
.process li>span { color:var(--rust); font-size:11px; padding-top:8px; }
.process h3 { margin-bottom:7px; }.process p { margin:0; }
.quote { background:var(--sand); padding:125px 0; text-align:center; }
.quote-inner { max-width:910px; }
.quote-mark { font-family:var(--font-serif); color:var(--rust); font-size:70px; line-height:.5; }
blockquote { font-size:clamp(39px,5vw,65px); line-height:1.05; margin:25px 0 36px; }
.quote p { text-transform:uppercase; letter-spacing:.13em; font-size:8px; line-height:1.7; }
.contact { background:var(--rust); color:var(--cream); padding:135px 0; }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:12%; }
.contact h2 { margin:26px 0 30px; }.contact-grid>div>p:last-child { max-width:440px; font-size:15px; line-height:1.7; opacity:.78; }
form { display:grid; grid-template-columns:1fr 1fr; gap:24px 18px; }
label { display:flex; flex-direction:column; gap:10px; font-size:9px; letter-spacing:.14em; text-transform:uppercase; }
label:nth-child(4),form button,form small { grid-column:1/-1; }
input,select,textarea { background:transparent; color:var(--cream); border:0; border-bottom:1px solid rgba(255,255,255,.45); padding:10px 0 13px; outline:none; border-radius:0; }
input::placeholder,textarea::placeholder { color:rgba(255,255,255,.55); }
select option { color:var(--ink); }
textarea { resize:vertical; }
form small { opacity:.65; font-size:9px; text-align:center; margin-top:-14px; }
.footer { background:#08231c; color:#dfe4d9; padding:80px 0 25px; }
.footer-main { display:grid; grid-template-columns:2fr repeat(3,1fr); gap:45px; padding-bottom:80px; }
.footer-main>div { display:flex; flex-direction:column; gap:10px; font-size:12px; }
.footer-main>div>span { color:#829189; text-transform:uppercase; letter-spacing:.14em; font-size:8px; margin-bottom:8px; }
.footer-main a:not(.brand):hover { color:white; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.12); padding-top:22px; display:flex; justify-content:space-between; font-size:8px; letter-spacing:.11em; text-transform:uppercase; color:#7f9088; }

@media (max-width: 900px) {
  .shell { width:min(100% - 36px,700px); }
  .nav { height:82px; }.nav-links { display:none; }.nav-cta { font-size:9px; }
  .hero { background:linear-gradient(#f3efe5 0 56%,#d9dfcd 56%); }
  .hero-grid { grid-template-columns:1fr; }
  .hero-copy { padding:70px 0 45px; }.hero-text { font-size:15px; }.trust-row { margin-top:48px; gap:24px; }
  .sauna-stage { min-height:500px; }.barrel { width:80%; left:10%; bottom:20%; }.stage-note { right:0; }
  .scroll-note { display:none; }
  .intro { grid-template-columns:1fr; gap:35px; padding:100px 0 70px; }.intro>div { grid-template-columns:1fr; gap:28px; }.intro p:last-child { margin:0; }
  .benefits { grid-template-columns:1fr; padding-bottom:90px; }.benefits article,.benefits article:first-child { min-height:auto; padding:38px 10px; border-right:0; border-bottom:1px solid var(--line); }
  .model-grid { grid-template-columns:1fr; }.model-visual { height:320px; }.section-head { align-items:start; flex-direction:column; gap:25px; }
  .process { grid-template-columns:1fr; gap:70px; padding:100px 0; }.process-title { position:static; }
  .contact-grid { grid-template-columns:1fr; gap:65px; }.footer-main { grid-template-columns:1fr 1fr; }.footer-main>.brand { grid-column:1/-1; margin-bottom:20px; }
}
@media (max-width: 540px) {
  h1 { font-size:57px; }.hero-actions { align-items:flex-start; flex-direction:column; gap:14px; }.trust-row { justify-content:space-between; gap:8px; }
  .sauna-stage { min-height:390px; }.sun { width:280px;height:280px;left:10%;}.barrel { height:40%; bottom:25%; }.chimney { height:50px; top:-43px; }
  .stage-note { width:225px; bottom:3%; }.models,.contact { padding:90px 0; }.model-visual { height:270px; }
  form { grid-template-columns:1fr; } label,form button,form small { grid-column:1; }
  .footer-main { grid-template-columns:1fr 1fr; gap:40px 20px; }.footer-bottom { flex-direction:column; gap:10px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } }
