:root{
  --ink:#102b2b;--deep:#071e22;--forest:#0d3b35;--cream:#f5f1e8;
  --gold:#c5a36a;--line:rgba(16,43,43,.14);--white:#fffdf8;
  --serif:"Cormorant Garamond",Georgia,serif;--sans:"Inter",Arial,sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);line-height:1.65}
a{text-decoration:none;color:inherit}.nav{height:76px;position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;color:#fff;background:linear-gradient(#061a1d,transparent);transition:.3s}
.nav.scrolled{background:rgba(7,30,34,.95);backdrop-filter:blur(10px)}.brand{display:flex;align-items:center;gap:10px;font-size:13px;letter-spacing:.2em}.brand-symbol{width:34px;height:34px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:21px}.brand b{display:block;color:var(--gold);font-weight:500;font-size:9px;letter-spacing:.35em;margin-top:-3px}
.nav nav{display:flex;align-items:center;gap:28px;font-size:12px;letter-spacing:.08em}.nav-cta{border:1px solid rgba(255,255,255,.45);padding:10px 18px;border-radius:30px}.menu{display:none;background:none;border:0;color:white;font-size:24px}
.hero{min-height:100vh;position:relative;background:var(--deep);overflow:hidden}.hero-image{position:absolute;inset:0;background:url("hero-norrsken.jpg") center/cover no-repeat;filter:saturate(.9)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,20,23,.72),rgba(4,20,23,.18) 65%,rgba(4,20,23,.4)),linear-gradient(0deg,rgba(4,20,23,.6),transparent 55%)}.hero-content{position:relative;z-index:2;padding:25vh 10vw 12vh;max-width:850px;color:white}.eyebrow,.section-kicker{font-size:11px;letter-spacing:.28em;font-weight:600}.eyebrow{color:#e1d3b4;margin-bottom:22px}.hero h1{font:600 clamp(68px,10vw,138px)/.78 var(--serif);margin:0 0 38px;letter-spacing:-.04em}.hero h1 em,h2 em{font-style:italic;color:var(--gold)}.lead{max-width:480px;font-size:19px;color:rgba(255,255,255,.84);margin-bottom:34px}.actions{display:flex;gap:12px}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 25px;border:1px solid transparent;font:600 12px var(--sans);letter-spacing:.08em;cursor:pointer}.button.gold{background:var(--gold);color:#142a29}.button.ghost{border-color:rgba(255,255,255,.45);color:#fff}.scroll{position:absolute;bottom:26px;left:10vw;color:rgba(255,255,255,.7);font-size:10px;letter-spacing:.2em}.scroll span{margin-left:12px;color:var(--gold)}
.section{padding:110px 10vw}.intro{background:var(--cream)}.section-kicker{color:#72827c;margin-bottom:24px}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.intro h2,.services h2,.process h2,.booking h2{font:600 clamp(50px,6vw,88px)/.9 var(--serif);letter-spacing:-.03em;margin:0}.copy{max-width:590px}.copy .large{font:500 22px/1.5 var(--serif)}.copy p{color:#52625e}.text-link{display:inline-block;margin-top:14px;color:var(--forest);font-weight:600;font-size:13px}.text-link span{color:var(--gold);padding-left:10px}
.services{background:#e9e6dc}.services h2{margin-bottom:55px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.card{position:relative;background:var(--cream);padding:38px;min-height:290px}.card .num{font-size:10px;letter-spacing:.15em;color:#7a8984}.card .icon{position:absolute;right:34px;top:30px;color:var(--gold);font-size:30px}.card h3{font:600 31px var(--serif);margin:55px 0 12px}.card p{color:#5b6864;font-size:14px}
.process{padding:0;display:grid;grid-template-columns:1fr 1fr;background:var(--deep);color:white}.process-image{min-height:650px;background:url("hero-norrsken.jpg") center/cover}.process-content{padding:100px 9vw}.process-content .section-kicker{color:#a8b8b1}.process h2{margin-bottom:60px}.process ol{list-style:none;margin:0;padding:0}.process li{display:grid;grid-template-columns:45px 1fr;gap:15px;padding:23px 0;border-top:1px solid rgba(255,255,255,.12)}.process li:last-child{border-bottom:1px solid rgba(255,255,255,.12)}.process li>span{color:var(--gold);font-size:11px;letter-spacing:.1em}.process h3{font:600 25px var(--serif);margin:0 0 3px}.process p{margin:0;color:rgba(255,255,255,.65);font-size:13px}
.booking{background:var(--cream)}.booking-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw;align-items:start}.booking h2{margin-bottom:28px}.booking>p,.booking-grid>div>p{max-width:520px;color:#5b6864}.contact-mini{display:flex;flex-direction:column;gap:5px;margin-top:28px;font-size:13px;font-weight:600}.booking-form{background:#fffdf8;border:1px solid var(--line);padding:36px;box-shadow:0 18px 50px rgba(20,40,35,.08)}label{display:block;font-size:11px;letter-spacing:.08em;font-weight:600;margin-bottom:18px}input,select,textarea{display:block;width:100%;margin-top:7px;border:1px solid #d9d8cf;background:#fbfaf5;border-radius:5px;padding:13px 14px;font:14px var(--sans);color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(197,163,106,.12)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.optional{font-weight:400;color:#8b9690}.full{width:100%;border:0}.form-note{font-size:11px;text-align:center;color:#7b8782}.success{margin-top:16px;padding:15px;background:#e9f0e9;border-left:3px solid var(--forest);font-size:13px}.success small{color:#61706a}
.quote{background:#dfe7e1;padding:120px 10vw;text-align:center}.quote-mark{font:80px var(--serif);color:var(--gold);height:45px}.quote blockquote{font:600 clamp(34px,5vw,65px)/1.05 var(--serif);max-width:900px;margin:10px auto 25px}.quote p{font-size:10px;letter-spacing:.3em;color:#61736c}
footer{background:var(--deep);color:white;text-align:center;padding:70px 6vw}.footer-brand{font:600 38px var(--serif);letter-spacing:.12em}.footer-brand span{color:var(--gold);font-size:18px;letter-spacing:.35em}.footer-links{display:flex;justify-content:center;gap:25px;flex-wrap:wrap;margin:24px 0;color:#d1d9d3;font-size:12px}.footer-links a:hover{color:var(--gold)}footer p,footer small{color:#82918b;font-size:11px}
@media(max-width:800px){.nav{padding:0 6vw}.nav nav{display:none}.menu{display:block}.nav.menu-open nav{display:flex;position:absolute;top:70px;left:0;right:0;background:rgba(7,30,34,.98);padding:22px 6vw;flex-direction:column;align-items:flex-start}.hero-content{padding:28vh 7vw 12vh}.hero h1{font-size:72px}.eyebrow{font-size:9px}.lead{font-size:16px}.scroll{left:7vw}.section{padding:80px 7vw}.intro-grid,.booking-grid,.process{grid-template-columns:1fr}.intro-grid{gap:35px}.cards{grid-template-columns:1fr}.card{min-height:auto}.process-image{min-height:360px}.process-content{padding:75px 7vw}.booking-form{padding:25px}.form-row{grid-template-columns:1fr}.quote{padding:90px 7vw}.quote blockquote{font-size:40px}}
