

:root { --ink:#142b35; --muted:#68767d; --lime:#d8ef38; --sand:#f3f1e9; --line:#dce1de; --blue:#e9f2f3; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#fff; color:var(--ink); font-family:Arial, Helvetica, sans-serif; }
a { color:inherit; text-decoration:none; }
.shell { width:min(1180px, calc(100% - 48px)); margin-inline:auto; }
.nav { height:86px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.brand img, footer img { width:178px; height:auto; mix-blend-mode:multiply; }
.brand img { margin-top:12px; }
.navlinks { display:flex; gap:32px; font-size:14px; color:#41545c; }
.navlinks a:hover { color:#000; }
.button { display:inline-flex; justify-content:center; align-items:center; background:var(--ink); color:#fff; min-height:52px; padding:0 25px; border:0; border-radius:2px; font-size:14px; font-weight:700; cursor:pointer; }
.button:hover { background:#244652; }
.button.small { min-height:43px; padding-inline:19px; }
.hero { min-height:650px; display:grid; grid-template-columns:0.88fr 1.12fr; align-items:center; gap:54px; padding-block:56px 86px; }
.eyebrow { text-transform:uppercase; letter-spacing:.17em; font-size:12px; font-weight:700; color:#5f747c; margin:0 0 23px; }
h1,h2,h3,p { margin-top:0; }
h1 { font-size:clamp(48px,5.3vw,78px); line-height:.99; letter-spacing:-.055em; margin-bottom:27px; font-weight:650; }
h1 em { color:#78939b; font-style:normal; font-weight:420; }
.lead { font-size:19px; line-height:1.55; color:#5c6d73; max-width:580px; }
.heroActions { display:flex; align-items:center; gap:27px; margin-top:34px; }
.textLink { font-weight:700; font-size:14px; }
.textLink span { margin-left:8px; }
.proofRow { display:flex; gap:26px; margin-top:55px; padding-top:24px; border-top:1px solid var(--line); color:#5c6c72; font-size:13px; }
.proofRow strong { font-size:24px; color:var(--ink); margin-right:5px; }
.heroMedia { position:relative; height:535px; overflow:hidden; background:#ddd; }
.heroMedia img { width:100%; height:100%; object-fit:cover; object-position:center; }
.availability { position:absolute; left:22px; bottom:22px; background:#fff; padding:14px 18px; font-size:12px; font-weight:700; box-shadow:0 8px 26px #1233; }
.availability i { display:inline-block; width:9px; height:9px; margin-right:9px; border-radius:50%; background:#6fac54; }
.positioning { background:var(--ink); color:#fff; padding:105px 0; }
.statement { display:grid; grid-template-columns:.35fr 1fr; column-gap:70px; align-items:start; }
.statement>p:first-child { color:#aebdc1; text-transform:uppercase; letter-spacing:.15em; font-size:12px; }
.statement h2 { font-size:clamp(38px,4.3vw,62px); line-height:1.08; letter-spacing:-.04em; font-weight:500; max-width:830px; margin-bottom:30px; }
.statementText { grid-column:2; font-size:17px; color:#bdc9cc; line-height:1.7; max-width:750px; }
.section { padding-top:112px; padding-bottom:112px; }
.sectionHead { margin-bottom:46px; }
.sectionHead h2,.galleryCopy h2,.visit h2 { font-size:clamp(37px,4vw,57px); letter-spacing:-.045em; line-height:1.08; font-weight:560; margin-bottom:0; }
.splitHead { display:grid; grid-template-columns:1fr .55fr; gap:70px; align-items:end; }
.splitHead>p { color:var(--muted); line-height:1.7; margin:0; }
.zoneGrid { display:grid; grid-template-columns:1fr .75fr 1fr; min-height:370px; }
.zone { padding:40px; min-width:0; }
.zone.dark { background:var(--ink); color:#fff; }
.zone.light { background:var(--lime); }
.zone p { letter-spacing:.18em; font-size:12px; font-weight:700; }
.zone strong { display:block; font-size:100px; line-height:1; margin-top:64px; letter-spacing:-.07em; }
.zone h3 { font-size:23px; font-weight:500; margin:0 0 50px; }
.zone span { font-size:13px; opacity:.7; }
.imageZone { padding:0; overflow:hidden; }
.imageZone img { width:100%; height:100%; object-fit:cover; }
.featureStrip { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); border-top:0; }
.featureStrip span { padding:22px 26px; font-size:13px; border-right:1px solid var(--line); border-top:1px solid var(--line); }
.check { color:#769822; margin-right:8px; font-weight:800; }
.services { background:var(--sand); }
.serviceGrid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #ced2cb; }
.serviceGrid article { padding:34px 30px 20px 0; border-right:1px solid #ced2cb; min-height:255px; }
.serviceGrid article+article { padding-left:30px; }
.serviceGrid article:last-child { border-right:0; }
.serviceGrid span { color:#8b9ca1; font-size:12px; }
.serviceGrid h3 { font-size:21px; margin:53px 0 15px; }
.serviceGrid p { color:var(--muted); line-height:1.65; font-size:14px; }
.gallerySection { display:grid; grid-template-columns:.72fr 1.28fr; gap:65px; align-items:center; }
.galleryCopy>p:last-child { color:var(--muted); line-height:1.7; margin-top:28px; max-width:440px; }
.gallery { display:grid; grid-template-columns:1.15fr .85fr; gap:14px; height:470px; }
.gallery img { width:100%; height:100%; object-fit:cover; }
.pricing { background:var(--blue); }
.termGrid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:18px; }
.termGrid article { background:#fff; border-top:4px solid var(--ink); padding:24px; min-height:210px; display:flex; flex-direction:column; }
.termGrid p { color:#718188; font-size:12px; text-transform:uppercase; letter-spacing:.12em; }
.termGrid h3 { margin:8px 0 22px; font-size:22px; }
.termGrid strong { color:#769822; font-size:25px; }
.termGrid span { color:var(--muted); font-size:13px; line-height:1.55; margin-top:12px; }
.termNote { color:#5d7076; font-size:12px; line-height:1.6; margin:0 0 70px; }
.priceHead { margin-bottom:30px; }
.priceHead h2 { font-size:clamp(32px,3vw,44px); }
.priceGrid { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid #cbd8d9; }
.priceGrid article { position:relative; padding:30px 25px; min-height:315px; background:#fff; border-right:1px solid #cbd8d9; display:flex; flex-direction:column; }
.priceGrid article:last-child { border-right:0; }
.priceGrid article.featured { background:var(--ink); color:#fff; }
.priceGrid b { position:absolute; top:-30px; left:0; right:0; background:var(--lime); color:var(--ink); text-align:center; padding:8px; font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.priceGrid p { color:#718188; font-size:13px; }
.priceGrid h3 { font-size:21px; font-weight:600; margin:23px 0 38px; }
.priceGrid strong { font-size:31px; letter-spacing:-.04em; }
.priceGrid span { color:#7a898f; font-size:12px; margin-top:5px; }
.priceGrid a { margin-top:auto; font-size:13px; font-weight:700; }
.included { margin:25px 0 0; font-size:13px; color:#5d7076; line-height:1.6; }
.visit { display:grid; grid-template-columns:1fr .85fr; gap:95px; padding-top:112px; padding-bottom:112px; }
.visitCopy>p:last-child { color:var(--muted); font-size:17px; line-height:1.7; margin-top:27px; }
form { padding:35px; background:var(--sand); }
label { display:block; font-size:12px; font-weight:700; margin-bottom:18px; }
input,textarea,select { display:block; width:100%; margin-top:8px; border:1px solid #d2d4cf; background:#fff; padding:13px 14px; font:inherit; font-size:14px; color:var(--ink); }
textarea { resize:vertical; }
.formRow { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
form .button { width:100%; }
form small { display:block; text-align:center; margin-top:15px; color:var(--muted); }
form small a { text-decoration:underline; }
footer { border-top:1px solid var(--line); padding:35px 0; }
footer .shell { display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; gap:20px; }
footer p { margin:0; color:#76858a; font-size:12px; }
footer p:last-child { text-align:right; }

@media (max-width:900px) {
  .navlinks { display:none; }
  .hero,.gallerySection,.visit,.splitHead { grid-template-columns:1fr; }
  .hero { padding-top:35px; }
  .heroMedia { height:410px; }
  .statement { grid-template-columns:1fr; }
  .statementText { grid-column:1; }
  .zoneGrid { grid-template-columns:1fr 1fr; }
  .imageZone { grid-column:1 / -1; grid-row:2; height:260px; }
  .serviceGrid,.priceGrid,.termGrid { grid-template-columns:1fr 1fr; }
  .priceGrid article:nth-child(2) { border-right:0; }
  .priceGrid article { border-bottom:1px solid #cbd8d9; }
  .gallery { height:380px; }
}
@media (max-width:620px) {
  .shell { width:min(100% - 30px,1180px); }
  .nav { align-items:flex-start; height:100px; padding-top:16px; }
  .brand img { margin-top:0; width:145px; }
  .nav .button { display:none; }
  .hero { min-height:0; gap:35px; padding-bottom:58px; }
  h1 { font-size:48px; }
  .heroActions { align-items:flex-start; flex-direction:column; }
  .proofRow { gap:15px; flex-wrap:wrap; }
  .heroMedia { height:300px; }
  .positioning,.section { padding-top:75px; padding-bottom:75px; }
  .zoneGrid,.serviceGrid,.priceGrid,.termGrid,.featureStrip,.gallery,.formRow { grid-template-columns:1fr; }
  .imageZone { grid-column:auto; grid-row:auto; }
  .zone { min-height:310px; }
  .serviceGrid article,.serviceGrid article+article { padding:28px 0; border-right:0; border-bottom:1px solid #ced2cb; min-height:0; }
  .serviceGrid h3 { margin-top:30px; }
  .gallery { height:auto; }
  .gallery img { height:270px; }
  .priceGrid article { border-right:0; }
  .priceGrid .featured { margin-top:30px; }
  .visit { gap:45px; }
  form { padding:24px; }
  footer .shell { grid-template-columns:1fr; }
  footer p:last-child { text-align:left; }
}
