@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap');
:root{--bg:#0a0b0d;--panel:#111316;--gold:#d7b777;--text:#f5f3ed;--muted:#b6b5b3;--line:#34302a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.header{height:88px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 max(5vw,24px);border-bottom:1px solid #272625;position:sticky;top:0;z-index:20;background:#090a0bef;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:16px;min-width:260px}.monogram{font:italic 46px 'Playfair Display',Georgia,serif;color:var(--gold);letter-spacing:-7px;padding-right:7px}.brandname{font-size:14px;letter-spacing:2px;line-height:1.5}.brandname small{font-size:10px;letter-spacing:2.1px}.header nav{display:flex;gap:24px;font-size:12px;text-transform:uppercase;letter-spacing:1px}.header nav a:hover,.text-link:hover{color:var(--gold)}.header-cta{border:1px solid var(--gold);color:var(--gold);padding:13px 17px;font-size:11px;letter-spacing:1px;white-space:nowrap}.menu{display:none}.hero{background:radial-gradient(ellipse at 75% 40%,#22252d,#0a0b0d 68%)}.hero-inner{min-height:650px;max-width:1550px;margin:auto;display:grid;grid-template-columns:48% 52%;align-items:center}.hero-copy{padding:65px 0 70px max(7vw,28px);position:relative;z-index:2}.eyebrow{color:var(--gold);font-size:12px;letter-spacing:4px;font-weight:700;margin:0 0 27px}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;letter-spacing:-2px}h1{font-size:clamp(54px,6vw,105px);line-height:1.12;margin:0 0 28px}h1 em,h2 em{color:var(--gold);font-weight:400}.intro{max-width:500px;font-size:18px;line-height:1.8;color:#d2d0cc}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:35px}.btn{display:inline-block;padding:17px 22px;font-size:12px;letter-spacing:1.2px;font-weight:700;border:1px solid var(--gold);cursor:pointer;text-align:center;transition:.2s}.btn:hover{transform:translateY(-2px)}.primary{background:var(--gold);color:#16130f}.outline{background:transparent;color:var(--gold)}.hero-image{height:560px;background:url('assets/suburban-boston.jpg') center center/cover no-repeat;position:relative;box-shadow:inset 55px 0 70px #0a0b0d, inset 0 -35px 50px #0a0b0d}.image-note{position:absolute;bottom:14px;right:20px;font-size:10px;letter-spacing:1px;color:#e7e4dc;background:#0009;padding:6px}.hero-foot{text-align:center;border-top:1px solid #292723;border-bottom:1px solid #292723;padding:20px;color:#b9b1a2;font-size:11px;letter-spacing:3px}.hero-foot span{color:var(--gold);margin:0 28px}.section{padding:110px max(7vw,28px);scroll-margin-top:88px}.section-head{text-align:center;max-width:680px;margin:0 auto 60px}.section h2{font-size:clamp(40px,4.5vw,72px);line-height:1.17;margin:0 0 26px}.section p{line-height:1.8}.section-head>p:last-child,.fleet-copy>p:not(.eyebrow),.about>p:last-child,.booking-intro>p:not(.eyebrow),.contact>p:not(.eyebrow){color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;max-width:1400px;margin:auto}.service-grid article{border:1px solid var(--line);padding:35px 25px;background:#101114}.symbol{font-size:32px;color:var(--gold)}h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:25px;margin:28px 0 12px}.service-grid p{font-size:14px;color:var(--muted)}.fleet{background:#131416;display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:8vw}.fleet-photo{position:relative}.fleet-photo img{display:block;width:100%;aspect-ratio:1.4;object-fit:cover}.fleet-photo span{position:absolute;bottom:12px;left:12px;background:#000a;padding:6px;color:#eee;font-size:9px;letter-spacing:1px}.fleet-features{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:30px 0}.fleet-features span{border-top:1px solid var(--line);padding-top:15px;color:#d9c49a;font-size:11px;letter-spacing:1px}.text-link{color:var(--gold);font-size:12px;letter-spacing:2px}.about{text-align:center;max-width:1050px;margin:auto}.about>p:last-child{max-width:680px;margin:auto}.booking{background:#171719;display:grid;grid-template-columns:38% 1fr;gap:8vw}.small-note{border-left:2px solid var(--gold);padding-left:14px;font-size:13px}.booking form{background:#0e0f11;border:1px solid var(--line);padding:32px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;color:#d8d3ca;font-size:12px;letter-spacing:.5px;margin-bottom:18px}input,select,textarea{display:block;width:100%;background:#1a1b1e;color:white;border:1px solid #44403a;border-radius:0;padding:14px;margin-top:8px;outline:none;color-scheme:dark}input:focus,select:focus,textarea:focus{border-color:var(--gold)}.submit{width:100%}.result{border-top:1px solid var(--line);margin-top:25px;padding-top:25px}.result p{font-size:13px;color:var(--muted)}.result textarea{margin-bottom:15px}.contact{text-align:center}.contact-note{font-size:13px;color:var(--gold)!important;margin-bottom:30px}footer{border-top:1px solid var(--line);padding:38px max(7vw,28px);display:flex;justify-content:space-between;align-items:center;gap:30px;color:#aaa;font-size:12px}footer>div{display:flex;align-items:center;gap:20px}footer small{color:#777}.disclaimer{max-width:190px;font-size:10px}@media(max-width:1100px){.header nav{gap:12px}.header-cta{display:none}.brand{min-width:230px}.service-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.header{height:72px}.brandname{font-size:11px}.brandname small{font-size:8px}.monogram{font-size:36px}.menu{display:block;background:none;border:0;color:var(--gold);font-size:26px;cursor:pointer}.header nav{display:none;position:absolute;top:72px;left:0;right:0;background:#111;padding:24px;flex-direction:column;gap:24px}.header nav.open{display:flex}.hero-inner{display:flex;flex-direction:column-reverse;min-height:0}.hero-image{width:100%;height:300px;box-shadow:inset 0 -55px 50px #0a0b0d}.hero-copy{padding:18px 24px 70px;width:100%}h1{font-size:52px}.intro{font-size:16px}.hero-foot{font-size:9px;line-height:2}.hero-foot span{margin:0 7px}.section{padding:75px 24px}.service-grid{grid-template-columns:1fr}.fleet,.booking{grid-template-columns:1fr;gap:38px}.fields{grid-template-columns:1fr}.booking form{padding:22px}footer{flex-direction:column;align-items:flex-start}}
