:root{--navy:#103746;--teal:#063f4d;--blue:#6f8f9d;--cream:#f8f6f2;--white:#fdfcf9;--muted:#536a75;--line:rgba(16,55,70,.17)}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:var(--cream);color:var(--navy);font-family:"DM Sans",Arial,sans-serif}
.page{min-height:calc(100vh - 54px);display:grid;grid-template-columns:minmax(0,.92fr) minmax(480px,1.08fr)}
.content{position:relative;display:flex;flex-direction:column;justify-content:center;padding:clamp(36px,6vw,96px);background:radial-gradient(circle at 15% 10%,rgba(219,231,236,.62),transparent 34%),var(--white)}
.brand{position:absolute;top:clamp(28px,4vw,52px);left:clamp(32px,6vw,96px);display:flex;align-items:center;gap:14px;color:var(--navy);text-decoration:none}
.brand-mark{width:64px;height:64px;color:var(--blue)}
.brand-mark svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.brand-name,.brand-sub{display:block;font-family:"Libre Baskerville",Georgia,serif}
.brand-name{font-size:1.02rem;letter-spacing:.18em;text-transform:uppercase}
.brand-sub{margin-top:3px;font-style:italic;font-size:1.05rem;color:var(--blue)}
.intro{max-width:680px;margin-top:88px}
.eyebrow{margin:0 0 24px;color:var(--blue);font-size:.78rem;font-weight:600;letter-spacing:.19em;text-transform:uppercase}
h1{margin:0;max-width:650px;font-family:"Libre Baskerville",Georgia,serif;font-size:clamp(2.5rem,5vw,5.6rem);font-weight:400;line-height:1.13;letter-spacing:-.035em}
.lead{max-width:560px;margin:32px 0 0;color:var(--muted);font-size:clamp(1.05rem,1.55vw,1.35rem);line-height:1.75}
.coming-soon{display:flex;align-items:center;gap:20px;max-width:480px;margin-top:48px}
.coming-soon span{width:100%;height:1px;background:var(--line)}
.coming-soon p{margin:0;white-space:nowrap;color:var(--teal);font-family:"Libre Baskerville",Georgia,serif;font-style:italic}
.details{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:660px;margin-top:44px;padding-top:28px;border-top:1px solid var(--line)}
.details small{display:block;margin-bottom:7px;color:var(--blue);font-weight:600;letter-spacing:.15em;text-transform:uppercase}
.details p{margin:0;font-size:.94rem;line-height:1.5}
.contact{margin-top:42px}
.contact p{margin:0 0 6px;color:var(--muted);font-size:.9rem}
.contact a{color:var(--teal);font-family:"Libre Baskerville",Georgia,serif;font-size:clamp(1rem,1.7vw,1.25rem);text-underline-offset:6px}
.visual{position:relative;min-height:100%;overflow:hidden;background:linear-gradient(180deg,#dbe8ef 0%,#eff3f3 48%,#b7cad0 100%)}
.sun{position:absolute;top:14%;left:18%;width:140px;height:140px;border-radius:50%;background:rgba(255,249,231,.7);box-shadow:0 0 65px rgba(255,250,230,.95)}
.mountain{position:absolute;right:-5%;bottom:37%;width:88%;height:47%;clip-path:polygon(0 100%,18% 62%,32% 73%,48% 42%,62% 60%,77% 26%,100% 50%,100% 100%)}
.back{right:13%;bottom:42%;width:102%;opacity:.45;background:linear-gradient(145deg,#93a9b4,#657e8b)}
.front{background:linear-gradient(145deg,#6d8490,#355665 75%)}
.lake{position:absolute;right:0;bottom:0;left:0;height:46%;background:repeating-linear-gradient(0deg,rgba(255,255,255,.18) 0 1px,transparent 1px 22px),linear-gradient(180deg,#b9ced5 0%,#7899a5 58%,#416875 100%)}
.dock{position:absolute;right:25%;bottom:-1%;z-index:2;display:flex;flex-direction:column;gap:7px;width:28%;height:47%;padding-top:35px;transform:perspective(600px) rotateX(57deg);transform-origin:bottom center}
.dock i{display:block;height:17%;background:linear-gradient(90deg,#7b6e63,#b3a494 55%,#70645a);border:1px solid rgba(49,57,59,.35)}
.visual p{position:absolute;right:7%;bottom:8%;z-index:3;width:min(500px,78%);margin:0;color:rgba(255,255,255,.95);font-family:"Libre Baskerville",Georgia,serif;font-size:clamp(1.1rem,2vw,1.55rem);font-style:italic;line-height:1.6;text-align:right;text-shadow:0 2px 18px rgba(0,34,46,.35)}
footer{min-height:54px;display:flex;align-items:center;justify-content:center;background:var(--teal);color:rgba(255,255,255,.72);font-size:.8rem}
@media(max-width:980px){.page{grid-template-columns:1fr}.content{min-height:760px;padding-top:150px}.visual{min-height:600px}.intro{margin-top:30px}}
@media(max-width:640px){.content{min-height:auto;padding:130px 26px 60px}.brand{top:28px;left:24px}.brand-mark{width:52px;height:52px}.brand-name{font-size:.82rem}.brand-sub{font-size:.9rem}h1{font-size:2.6rem}.details{grid-template-columns:1fr;gap:20px}.visual{min-height:480px}.visual p{font-size:1rem}.sun{width:95px;height:95px}}
