@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;1,600&display=swap');
:root{--navy:#09283a;--teal:#087f87;--teal2:#0aa3a8;--orange:#d98a43;--cream:#f7f5ef;--white:#fff;--muted:#64727a}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"DM Sans",Arial,sans-serif;color:var(--navy);background:var(--cream);line-height:1.6}.header{position:sticky;top:0;z-index:10;background:#ffffffee;backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between;padding:18px 6vw;border-bottom:1px solid #e8e6df}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--navy)}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--teal);color:#fff;font-weight:800;font-size:22px}.brand b{display:block;font-size:12px;letter-spacing:1.5px}.brand small{display:block;font-size:9px;letter-spacing:2px;color:var(--teal);font-weight:700}nav{display:flex;gap:28px;align-items:center}nav a,.text-link{color:var(--navy);text-decoration:none;font-weight:600;font-size:14px}.nav-cta,.button{background:var(--teal);color:#fff!important;border:0;border-radius:999px;padding:13px 20px;text-decoration:none;font-weight:700;cursor:pointer}.menu{display:none;border:0;background:none;font-size:25px}.hero{min-height:690px;display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center;padding:80px 6vw;background:linear-gradient(135deg,#fff 0%,#f7f5ef 65%,#e9f3ef 100%)}.eyebrow{color:var(--teal);font-size:12px;letter-spacing:2.2px;font-weight:800;margin:0 0 12px}.hero h1{font-size:clamp(44px,6vw,76px);line-height:1.04;margin:0 0 25px;letter-spacing:-2px}.hero h1 em{font-family:"Playfair Display",serif;color:var(--teal);font-weight:600}.hero p{max-width:600px;color:#52616a;font-size:18px}.actions{display:flex;align-items:center;gap:25px;margin-top:30px}.hero-art{border-radius:32px;overflow:hidden;box-shadow:0 25px 70px #0a364025;transform:rotate(1deg)}.hero-art img{width:100%;display:block}.section{padding:100px 6vw}.section-head{max-width:700px;margin-bottom:45px}.section h2{font-size:clamp(34px,4vw,54px);line-height:1.1;margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cards article{background:#fff;border:1px solid #e8e6df;border-radius:22px;padding:30px;min-height:210px;transition:.25s}.cards article:hover{transform:translateY(-5px);box-shadow:0 20px 40px #082f3a12}.cards span{color:var(--orange);font-weight:800}.cards h3{font-size:23px;margin:22px 0 7px}.cards p{color:var(--muted);margin:0}.split{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:center;background:var(--navy);color:#fff}.split h2{max-width:800px}.split>div>p:not(.eyebrow){color:#c9d5d8;max-width:650px}.quote{border:1px solid #ffffff33;border-radius:30px;padding:55px;font-family:"Playfair Display",serif;font-size:35px;color:#fff;background:linear-gradient(145deg,#087f87,#0a5c6a)}.quote small{display:block;font:600 13px "DM Sans";margin-top:25px;color:#d6eeee}.gallery{background:#fff}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.gallery-grid img{width:100%;border-radius:25px;display:block}.inquiry{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact{display:flex;flex-direction:column;gap:8px;margin-top:35px;color:var(--teal)}form{background:#fff;padding:35px;border-radius:28px;box-shadow:0 20px 50px #082f3a10}label{display:block;font-weight:700;font-size:13px;margin-bottom:18px}input,select,textarea{display:block;width:100%;margin-top:7px;border:1px solid #d8ddd9;border-radius:12px;padding:13px;font:inherit;background:#fafcfb;color:var(--navy)}textarea{resize:vertical}.status{font-size:13px;color:var(--teal);font-weight:700}footer{padding:35px 6vw;background:#061d2a;color:#c8d4d7;display:flex;justify-content:space-between;align-items:center}footer .brand{color:#fff}footer p{font-size:12px;margin:0}@media(max-width:850px){nav{display:none}.menu{display:block}.hero,.inquiry,.split{grid-template-columns:1fr}.hero{padding-top:50px}.cards{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:1fr}footer{display:block}footer p{margin-top:20px}}@media(max-width:550px){.cards{grid-template-columns:1fr}.section{padding:70px 5vw}.hero{padding:55px 5vw}.actions{flex-direction:column;align-items:flex-start}}

/* Automatic seasonal atmosphere */
.seasonal-layer{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:2}
.season-particle{position:absolute;top:-40px;display:block;user-select:none;animation:seasonal-fall linear infinite;will-change:transform}
@keyframes seasonal-fall{
  0%{transform:translate3d(0,-50px,0) rotate(0deg)}
  50%{transform:translate3d(var(--drift),50vh,0) rotate(calc(var(--spin)/2))}
  100%{transform:translate3d(calc(var(--drift)*-1),110vh,0) rotate(var(--spin))}
}
.season-status{position:fixed;right:22px;bottom:20px;z-index:4;pointer-events:none;padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.82);backdrop-filter:blur(8px);box-shadow:0 8px 25px rgba(8,40,58,.10);color:var(--navy);font-size:11px;font-weight:700}
html[data-season="autumn"] .hero{background:linear-gradient(135deg,#fff 0%,#f8f2e9 65%,#f1e3d2 100%)}
html[data-season="winter"] .hero{background:linear-gradient(135deg,#fff 0%,#eef5f8 65%,#dfecef 100%)}
html[data-season="spring"] .hero{background:linear-gradient(135deg,#fff 0%,#f4f8ef 65%,#e5f2eb 100%)}
html[data-season="summer"] .hero{background:linear-gradient(135deg,#fff 0%,#faf6e8 65%,#e8f3ed 100%)}
@media(prefers-reduced-motion:reduce){.season-particle{animation:none;opacity:.25}}
