:root { --ink:#111310; --paper:#f4f1eb; --cream:#fbfaf6; --gold:#b88a55; --olive:#66705a; --muted:#6f706a; --line:rgba(17,19,16,.15); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
.site-header { position:sticky; top:0; z-index:20; min-height:80px; padding:0 4vw; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:28px; background:rgba(13,15,13,.97); color:white; border-bottom:1px solid rgba(255,255,255,.12); }
.wordmark { font:italic clamp(1.35rem,2vw,2rem) Georgia,"Times New Roman",serif; letter-spacing:-.04em; white-space:nowrap; }
.site-header nav { display:flex; gap:clamp(22px,3vw,46px); }
.site-header nav a,.phone { color:#dedfd9; font-size:.78rem; letter-spacing:.03em; }
.site-header nav a:hover,.phone:hover,footer a:hover { color:#d8b487; }
.header-actions { display:flex; justify-content:flex-end; align-items:center; gap:20px; }
.header-cta { padding:13px 19px; border:1px solid var(--gold); color:#f5dcbc; font-size:.76rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; }
.hero { min-height:760px; display:grid; grid-template-columns:.92fr 1.08fr; background:var(--ink); color:white; }
.hero-copy { padding:clamp(70px,8vw,130px) clamp(30px,6vw,100px); display:flex; flex-direction:column; justify-content:center; }
.eyebrow,.section-kicker { margin:0 0 18px; color:var(--gold); font-size:.72rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.hero h1,.section h2 { margin:0; font-family:Georgia,"Times New Roman",serif; font-weight:400; letter-spacing:-.055em; }
.hero h1 { max-width:760px; font-size:clamp(3.3rem,6.1vw,7rem); line-height:.92; }
.hero-lead { max-width:650px; margin:30px 0 0; color:#bbbdb7; font-size:clamp(1rem,1.3vw,1.25rem); line-height:1.7; }
.hero-image { min-height:620px; background:linear-gradient(90deg,rgba(17,19,16,.12),transparent 35%),url('assets/maintenance-hero.png') center center/cover no-repeat; }
.hero-actions { margin-top:38px; display:flex; gap:12px; flex-wrap:wrap; }
.button { min-height:52px; padding:0 22px; display:inline-flex; align-items:center; justify-content:center; border:1px solid transparent; font-size:.78rem; font-weight:750; letter-spacing:.03em; transition:160ms ease; }
.button:hover { transform:translateY(-2px); }
.button-light { background:var(--cream); color:var(--ink); }
.button-ghost { border-color:#5f625d; color:white; }
.trust-row { margin-top:42px; padding-top:22px; display:flex; gap:24px; border-top:1px solid #343633; color:#898d86; font-size:.68rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.section { padding:clamp(68px,8vw,120px) 7vw; }
.intro { background:var(--cream); }
.intro-grid { display:grid; grid-template-columns:1.08fr .92fr; gap:8vw; align-items:start; }
.section h2 { font-size:clamp(2.9rem,5.8vw,6.5rem); line-height:.95; }
.intro-copy { max-width:680px; }
.intro-copy p,.rates-heading>p,.request-copy>p { color:var(--muted); line-height:1.75; }
.intro-copy .lead { margin-top:0; color:var(--ink); font:1.45rem/1.5 Georgia,"Times New Roman",serif; }
.steps { margin:75px 0 0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); list-style:none; border-top:1px solid var(--line); }
.steps li { min-height:230px; padding:24px 26px 0 0; border-right:1px solid var(--line); }
.steps li+li { padding-left:26px; }
.steps li:last-child { border-right:0; }
.steps span,.project-grid article>span { color:var(--gold); font-size:.7rem; font-weight:800; }
.steps strong { margin:45px 0 13px; display:block; font:1.45rem Georgia,"Times New Roman",serif; }
.steps p,.project-grid p { margin:0; color:var(--muted); font-size:.9rem; line-height:1.65; }
.rates { background:#171916; color:white; }
.rates-heading { display:grid; grid-template-columns:1.15fr .85fr; gap:9vw; align-items:end; }
.rates-heading h2 { font-size:clamp(2.7rem,5vw,5.5rem); }
.rates-heading>p { margin:0; color:#aeb0a9; }
.rate-grid { margin-top:62px; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #41433e; border-bottom:1px solid #41433e; }
.rate-grid article { min-height:270px; padding:24px 32px 30px 0; display:flex; flex-direction:column; justify-content:space-between; border-right:1px solid #41433e; }
.rate-grid article+article { padding-left:32px; }
.rate-grid article:last-child { border-right:0; }
.rate-grid article>span { color:var(--gold); font-size:.72rem; }
.rate-grid p { margin:auto 0 14px; color:#b9bbb5; }
.rate-grid strong { font:clamp(3.4rem,6vw,6.8rem)/.9 Georgia,"Times New Roman",serif; font-weight:400; letter-spacing:-.05em; }
.rate-grid strong span { font:1rem Arial,sans-serif; color:#a7aaa2; letter-spacing:0; }
.rate-note { margin-top:20px; color:#aeb0a9; font-size:.86rem; }
.rate-note strong { color:white; }
.projects { background:#efede7; }
.projects-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:40px; }
.projects-heading h2 { max-width:1000px; font-size:clamp(2.8rem,5vw,5.5rem); }
.project-grid { margin-top:60px; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }
.project-grid article { min-height:240px; padding:24px 34px 30px 0; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.project-grid article:nth-child(3n+2),.project-grid article:nth-child(3n+3) { padding-left:34px; }
.project-grid article:nth-child(3n) { border-right:0; }
.project-grid h3 { margin:52px 0 14px; font:2rem Georgia,"Times New Roman",serif; font-weight:400; }
.request { display:grid; grid-template-columns:.78fr 1.22fr; gap:7vw; background:var(--cream); }
.request-copy { position:sticky; top:120px; align-self:start; }
.request-copy h2 { font-size:clamp(3.3rem,5.6vw,6.3rem); }
.request-contact { margin-top:36px; padding-top:24px; display:grid; gap:10px; border-top:1px solid var(--line); }
.request-contact span { color:var(--muted); font-size:.78rem; text-transform:uppercase; letter-spacing:.12em; }
.request-contact a { font:1.25rem Georgia,"Times New Roman",serif; }
.maintenance-form { padding:clamp(28px,4vw,58px); background:white; border:1px solid var(--line); box-shadow:0 24px 70px rgba(20,22,18,.08); }
.honey { position:absolute!important; left:-9999px!important; }
.form-heading { margin:0 0 24px; padding-top:10px; display:flex; gap:18px; align-items:flex-start; }
.form-heading:not(:first-of-type) { margin-top:45px; padding-top:35px; border-top:1px solid var(--line); }
.form-heading>span { width:32px; height:32px; display:grid; place-items:center; border-radius:50%; background:var(--ink); color:white; font-size:.68rem; }
.form-heading h3 { margin:0; font:1.55rem Georgia,"Times New Roman",serif; font-weight:400; }
.form-heading p { margin:6px 0 0; color:var(--muted); font-size:.8rem; }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.maintenance-form label { margin-bottom:20px; display:grid; gap:9px; color:#292b27; font-size:.8rem; font-weight:750; }
.maintenance-form input:not([type=checkbox]):not([type=file]),.maintenance-form select,.maintenance-form textarea { width:100%; padding:14px 13px; border:1px solid #c9cbc3; border-radius:0; background:#fdfcf9; color:var(--ink); outline:none; }
.maintenance-form input:focus,.maintenance-form select:focus,.maintenance-form textarea:focus { border-color:var(--olive); box-shadow:0 0 0 3px rgba(102,112,90,.12); }
.maintenance-form textarea { resize:vertical; }
.photo-upload-group { margin-bottom:20px; padding:18px; border:1px dashed #a9aca2; background:#f6f5f0; }
.photo-slot { margin:0!important; padding:14px; border:1px solid #d2d3cc; background:#fdfcf9; }
.photo-slot span { font-weight:800; }
.photo-slot input { width:100%; color:var(--muted); font-size:.76rem; font-weight:500; }
.photo-slot input::file-selector-button { margin-right:8px; padding:9px 11px; border:0; background:var(--ink); color:white; font:inherit; font-weight:750; cursor:pointer; }
.photo-status { margin:14px 0 0; color:var(--muted); font-size:.8rem; }
.consent { margin:24px 0!important; display:flex!important; grid-template-columns:auto 1fr; align-items:flex-start; font-weight:400!important; line-height:1.5; }
.consent input { margin-top:3px; accent-color:var(--olive); }
.submit-button { width:100%; min-height:58px; padding:0 22px; display:flex; justify-content:space-between; align-items:center; border:0; background:var(--ink); color:white; font-weight:750; cursor:pointer; }
.submit-button:hover { background:#34392f; }
.submit-button span { font-size:1.3rem; }
.privacy { margin:14px 0 0; color:#85877f; font-size:.72rem; text-align:center; }
.closing-image { min-height:560px; padding:60px 7vw; display:flex; align-items:flex-end; background:linear-gradient(0deg,rgba(7,10,9,.82),rgba(7,10,9,.05) 60%),url('assets/sailboat-care.png') center 58%/cover no-repeat; color:white; }
.closing-image div { width:100%; display:flex; justify-content:space-between; align-items:flex-end; gap:30px; }
.closing-image p { max-width:850px; margin:0; font:clamp(2.4rem,4.6vw,5.3rem)/1 Georgia,"Times New Roman",serif; letter-spacing:-.045em; }
.closing-image a { padding-bottom:8px; border-bottom:1px solid white; white-space:nowrap; }
footer { min-height:120px; padding:34px 4vw; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:25px; background:#080908; color:#d5d5d0; }
footer p { color:#71736e; font-size:.72rem; text-align:center; }
footer>div { justify-self:end; display:flex; gap:22px; font-size:.8rem; }
@media (max-width:1050px) {
  .site-header { grid-template-columns:1fr auto; } .site-header nav,.phone { display:none; }
  .hero { min-height:0; grid-template-columns:1fr; } .hero-image { min-height:600px; order:-1; }
  .rates-heading,.request { grid-template-columns:1fr; } .request-copy { position:static; }
}
@media (max-width:760px) {
  .site-header { min-height:70px; padding:0 20px; } .header-cta { padding:11px 13px; font-size:.64rem; }
  .hero-image { min-height:0; aspect-ratio:4/3; background-position:57% center; } .hero-copy { padding:52px 22px 58px; }
  .hero h1 { font-size:clamp(3.15rem,15vw,5.2rem); } .trust-row { gap:12px; justify-content:space-between; }
  .section { padding:58px 22px; } .intro-grid,.steps,.rate-grid,.project-grid { grid-template-columns:1fr; }
  .steps li,.steps li+li,.rate-grid article,.rate-grid article+article,.project-grid article,.project-grid article:nth-child(3n+2),.project-grid article:nth-child(3n+3) { min-height:auto; padding:22px 0 28px; border-right:0; border-bottom:1px solid var(--line); }
  .steps strong,.project-grid h3 { margin-top:20px; } .rate-grid article { min-height:210px; border-color:#41433e; } .rate-grid strong { font-size:4.8rem; }
  .projects-heading { align-items:flex-start; flex-direction:column; } .field-grid { grid-template-columns:1fr; gap:0; } .maintenance-form { padding:28px 20px; }
  .closing-image { min-height:480px; padding:35px 22px; } .closing-image div { align-items:flex-start; flex-direction:column; }
  footer { grid-template-columns:1fr; text-align:center; } footer p { order:3; } footer>div { justify-self:center; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .button { transition:none; } }
