/* Captain Arlan Stagg — "Golden Hour" design. Fonts: Fraunces (headings) + Nunito Sans (body).
   Every text pairing meets WCAG AA (4.5:1). The golden accent #E9A23B is decorative only, never text. */
:root{
  --bg:#FFF9EF;        /* warm cream page */
  --surf:#F7E9CF;      /* honey sand sections */
  --card:#FFFFFF;
  --cta:#9A5A0B;       /* deep amber: buttons, links (white text 5.5:1) */
  --cta-dark:#7A4708;
  --acc:#E9A23B;       /* golden sun: decoration only */
  --text:#3B2A1A;      /* espresso */
  --muted:#6E5A45;     /* warm taupe */
  --line:#EAD9BD;
  --shadow:0 10px 30px rgba(59,42,26,.10);
  --serif:'Fraunces',Georgia,'Times New Roman',serif;
  --sans:'Nunito Sans','Helvetica Neue',Arial,sans-serif;
  --wrap:1200px;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:400 18px/1.65 var(--sans)}
img{max-width:100%;display:block}
a{color:var(--cta);text-underline-offset:4px}
a:hover{color:var(--cta-dark)}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.12;margin:0;color:var(--text);text-wrap:balance}
p{margin:0}
:focus-visible{outline:3px solid var(--cta);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-999px;top:8px;background:var(--text);color:#fff;padding:10px 16px;border-radius:8px;z-index:200}
.skip:focus{left:12px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.eyebrow{display:flex;align-items:center;gap:10px;font-weight:700;font-size:15px;color:var(--muted)}
.eyebrow::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--acc);flex:none}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--cta);color:#fff;text-decoration:none;font-weight:700;font-size:17px;line-height:1.25;padding:16px 28px;border-radius:999px;border:2px solid var(--cta);cursor:pointer;text-align:center;transition:background .2s,border-color .2s}
.btn:hover{background:var(--cta-dark);border-color:var(--cta-dark);color:#fff}
.btn.ghost{background:transparent;color:var(--text);border-color:var(--text)}
.btn.ghost:hover{background:var(--text);color:#fff}
.btn.sm{font-size:15px;padding:10px 20px}
.tlink{font-weight:700;color:var(--text);text-decoration:underline;text-decoration-color:var(--acc);text-decoration-thickness:2px}
.tlink:hover{color:var(--cta)}

/* Header */
.site-head{position:sticky;top:0;z-index:50;background:rgba(255,249,239,.97);border-bottom:1px solid transparent;transition:border-color .2s,box-shadow .2s}
.site-head.scrolled{border-color:var(--line);box-shadow:0 4px 18px rgba(59,42,26,.06)}
.head-in{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:84px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text)}
.brand svg{width:34px;height:34px;flex:none}
.brand span{font-family:var(--serif);font-weight:600;font-size:25px;line-height:1.1;white-space:nowrap}
.main-nav{display:flex;align-items:center;gap:28px}
.main-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:26px}
.main-nav a{color:var(--text);text-decoration:none;font-weight:700;font-size:16px;padding:6px 0;border-bottom:2px solid transparent}
.main-nav a:hover{color:var(--cta)}
.main-nav a[aria-current="page"]{color:var(--cta);border-color:var(--acc)}
.head-phone{display:flex;align-items:center;gap:6px;font-weight:700;color:var(--text);text-decoration:none;white-space:nowrap}
.menu-btn{display:none;width:46px;height:46px;border-radius:999px;border:0;background:var(--surf);cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:4px;padding:0}
.menu-btn span{display:block;width:18px;height:2px;background:var(--text)}
.mobile-nav{display:none;border-top:1px solid var(--line);padding:8px 0 18px}
.mobile-nav.open{display:block}
.mobile-nav ul{list-style:none;margin:0;padding:0}
.mobile-nav a{display:block;padding:14px 4px;font-weight:700;color:var(--text);text-decoration:none;border-bottom:1px solid var(--line)}
.mobile-nav a[aria-current="page"]{color:var(--cta)}
.mobile-nav .btn{margin-top:16px;width:100%}

/* Photo frames (until real photos arrive) */
.ph{background:repeating-linear-gradient(135deg,#F1DEBC 0 22px,#F5E6CA 22px 44px);border:2px dashed #D4B98C;border-radius:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;color:var(--muted);padding:24px;font-size:15px}
.ph strong{font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}
.ph img{width:100%;height:100%;object-fit:cover;display:block}
.ph.has-img{padding:0;border:0;background:var(--surf);overflow:hidden}

/* Hero slider */
.hero{padding:24px 0 88px}
.slides{position:relative}
.slide{display:none;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:center}
.slide.on{display:grid;animation:fade .6s ease}
@keyframes fade{from{opacity:.25}to{opacity:1}}
.slide-text{grid-column:span 6;display:flex;flex-direction:column;gap:24px}
.slide-text h1,.slide-text .h1{font-family:var(--serif);font-weight:500;font-size:clamp(38px,4.8vw,66px);line-height:1.04;letter-spacing:-.5px}
.slide-text p{font-size:20px;color:#4A3826;max-width:540px}
.slide-ctas{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.slide-photo{grid-column:span 6;position:relative}
.slide-photo .ph{height:min(580px,62vw);min-height:300px}
.badge{position:absolute;left:-22px;bottom:34px;background:var(--card);border-radius:18px;padding:14px 18px;box-shadow:var(--shadow);display:flex;align-items:center;gap:12px;font-weight:700;font-size:15px;line-height:1.3}
.badge small{display:block;font-weight:400;color:var(--muted);font-size:14px}
.slider-ctrl{display:flex;align-items:center;gap:14px;margin-top:26px}
.dots{display:flex;gap:8px}
.dots button{width:12px;height:8px;border-radius:4px;border:0;background:#D9C29C;padding:0;cursor:pointer;transition:width .2s}
.dots button[aria-current="true"]{width:30px;background:var(--cta)}
.arrow{width:44px;height:44px;border-radius:50%;border:2px solid var(--line);background:var(--card);color:var(--text);font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.arrow:hover{border-color:var(--cta)}
.pause{background:none;border:0;color:var(--muted);font:700 14px var(--sans);cursor:pointer;text-decoration:underline;padding:8px}

/* Sections */
.section{padding:96px 0}
.sand{background:var(--surf)}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:40px;flex-wrap:wrap}
.sec-head h2{font-size:clamp(32px,3.6vw,46px)}
.intro-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:center}
.intro-grid .ph{grid-column:span 4;height:440px}
.intro-text{grid-column:6 / span 7;display:flex;flex-direction:column;gap:18px}
.intro-text h2{font-size:clamp(36px,4vw,52px)}
.intro-text p{font-size:20px}
.sign{font-family:var(--serif);font-style:italic;font-size:26px;color:var(--muted)}

/* Service cards */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.card{background:var(--card);border-radius:22px;padding:30px;display:flex;flex-direction:column;gap:12px;box-shadow:0 2px 0 var(--line);text-decoration:none;color:var(--text);transition:transform .2s,box-shadow .2s}
a.card:hover{transform:translateY(-3px);box-shadow:var(--shadow);color:var(--text)}
.card svg{width:34px;height:34px}
.card h3{font-size:24px;font-weight:600}
.card p{color:var(--muted);font-size:17px}
.card .more{margin-top:auto;font-weight:700;color:var(--cta);font-size:15px}
.feature{margin-top:22px;background:var(--card);border-radius:22px;overflow:hidden;display:grid;grid-template-columns:4fr 8fr;box-shadow:0 2px 0 var(--line)}
.feature .ph{border-radius:0;border-width:0 2px 0 0;min-height:220px}
.feature-text{padding:28px 36px;display:flex;flex-direction:column;gap:10px;justify-content:center;align-items:flex-start}
.kicker{font-weight:800;font-size:14px;letter-spacing:2px;color:var(--cta);text-transform:uppercase}
.feature-text h3{font-size:24px;font-weight:600}
.feature-text p{color:#4A3826}
.price{font-family:var(--serif);font-weight:600;font-size:24px}
.price-row{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:6px}

/* Trust */
.trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.trust div{border-top:3px solid var(--acc);padding-top:22px;display:flex;flex-direction:column;gap:8px}
.trust h3{font-size:26px;font-weight:600}
.trust p{color:var(--muted)}

/* Photo highlights */
.highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.highlights .ph{height:300px}
.highlights figure{margin:0;display:flex;flex-direction:column;gap:10px}
.highlights figcaption{font-size:15px;color:var(--muted)}

/* Closing CTA */
.closing{background:var(--surf);border-radius:32px;padding:72px 40px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px}
.closing h2{font-size:clamp(34px,4vw,52px)}
.closing p{font-size:20px;max-width:640px}
.closing .row{display:flex;gap:18px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:8px}

/* Page heads */
.page-head{padding:56px 0 40px}
.page-head h1{font-size:clamp(40px,5vw,64px);margin-top:14px}
.page-head p{font-size:20px;max-width:720px;margin-top:18px;color:#4A3826}

/* Services page */
.jump{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.jump a{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:9px 16px;font-weight:700;font-size:15px;color:var(--text);text-decoration:none}
.jump a:hover{border-color:var(--cta);color:var(--cta)}
.acc{display:flex;flex-direction:column;gap:16px}
.acc-item{background:var(--card);border-radius:22px;box-shadow:0 2px 0 var(--line);scroll-margin-top:110px}
.acc-item h2{margin:0;font-size:inherit}
.acc-btn{all:unset;box-sizing:border-box;width:100%;display:flex;align-items:center;gap:16px;padding:24px 28px;cursor:pointer;border-radius:22px}
.acc-btn:focus-visible{outline:3px solid var(--cta);outline-offset:2px}
.acc-btn svg.ic{width:32px;height:32px;flex:none}
.acc-btn .t{flex:1;font-family:var(--serif);font-size:26px;font-weight:600;line-height:1.2}
.acc-btn .chev{width:36px;height:36px;border-radius:50%;background:var(--surf);display:flex;align-items:center;justify-content:center;flex:none;transition:transform .2s}
.acc-btn[aria-expanded="true"] .chev{transform:rotate(180deg)}
.acc-panel{padding:0 28px 30px 76px;display:flex;flex-direction:column;gap:14px}
.acc-panel[hidden]{display:none}
.acc-panel .lead{font-weight:700}
.acc-panel ul{margin:4px 0 0;padding-left:1.2em;columns:2;column-gap:40px}
.acc-panel li{margin-bottom:6px;break-inside:avoid}
.acc-panel .note{color:var(--muted);font-size:16px}
.wed{display:grid;grid-template-columns:2fr 3fr;gap:28px;align-items:start}
.wed .ph{height:320px}

/* About */
.about-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:start}
.about-grid .ph{grid-column:span 5;height:560px;position:sticky;top:110px}
.about-text{grid-column:7 / span 6;display:flex;flex-direction:column;gap:20px}
.about-text h1{font-size:clamp(40px,5vw,60px)}
.about-text p{font-size:19px}
.creds{background:var(--surf);border-radius:22px;padding:26px 28px;display:flex;flex-direction:column;gap:12px}
.creds h2{font-size:24px;font-weight:600}
.creds ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.creds li{display:flex;gap:12px;align-items:flex-start}
.creds li::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--acc);flex:none;margin-top:9px}

/* Gallery */
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.gallery button{all:unset;cursor:zoom-in;border-radius:20px;display:block}
.gallery button:focus-visible{outline:3px solid var(--cta);outline-offset:3px}
.gallery .ph{aspect-ratio:4/3;width:100%;border-radius:20px}
.gallery figure{margin:0;display:flex;flex-direction:column;gap:8px}
.gallery figcaption{font-size:15px;color:var(--muted)}
.lightbox{position:fixed;inset:0;z-index:300;background:rgba(43,30,18,.92);display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top,0px)) 16px}
.lightbox[hidden]{display:none}
.lb-frame{width:min(1000px,100%);display:flex;flex-direction:column;gap:12px}
.lb-frame .ph{aspect-ratio:4/3;width:100%;max-height:78vh;background:#F5E6CA}
.lb-frame .ph.has-img{background:transparent}
.lb-frame .ph.has-img img{object-fit:contain}
.lb-cap{color:#FFF9EF;text-align:center}
.lb-btn{position:absolute;width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,249,239,.92);color:var(--text);font-size:22px;cursor:pointer}
.lb-close{top:max(16px,env(safe-area-inset-top,0px));right:16px}
.lb-prev{left:16px;top:50%}.lb-next{right:16px;top:50%}

/* Contact */
.contact-grid{display:grid;grid-template-columns:5fr 7fr;gap:56px;align-items:start}
.contact-side{display:flex;flex-direction:column;gap:18px}
.contact-side h2{font-size:clamp(30px,3.2vw,40px)}
.methods{display:flex;flex-direction:column;gap:12px}
.methods a{display:flex;align-items:center;gap:12px;font-weight:700;color:var(--text);text-decoration:none;background:var(--card);border-radius:16px;padding:14px 18px;box-shadow:0 2px 0 var(--line)}
.methods a:hover{color:var(--cta)}
.form{background:var(--card);border-radius:26px;padding:36px;box-shadow:0 2px 0 var(--line);display:flex;flex-direction:column;gap:16px}
.form h2{font-size:28px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-weight:700;font-size:15px}
.field .opt{font-weight:400;color:var(--muted)}
.field input,.field select,.field textarea{font:400 17px var(--sans);color:var(--text);background:var(--bg);border:2px solid var(--line);border-radius:14px;padding:13px 14px;width:100%}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--cta)}
.field textarea{min-height:140px;resize:vertical}
.field [aria-invalid="true"]{border-color:#A3342A}
.err{color:#A3342A;font-size:14px;font-weight:700}
.hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}
.check-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.check-row input{width:90px}
.status{border-radius:14px;padding:14px 16px;font-weight:700}
.status.info{background:#FBF0DC;color:#5C3A0C;border:1px solid #E7CFA3}
.status.ok{background:#E8F3EA;color:#1E5A2D;border:1px solid #BFDCC6}
.status.bad{background:#FBE9E7;color:#8A2A20;border:1px solid #F0C3BD}
.form .btn{align-self:flex-start}

/* Footer */
.site-foot{margin-top:96px;border-top:1px solid var(--line);padding:48px 0 calc(40px + env(safe-area-inset-bottom,0px));font-size:16px;color:var(--muted)}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:32px}
.foot-grid h2{font-size:22px;font-weight:600;color:var(--text)}
.foot-grid ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.foot-grid a{color:var(--text);text-decoration:none;font-weight:600}
.foot-grid a:hover{color:var(--cta)}
.foot-small{margin-top:32px;font-size:14px}

/* Mobile bottom bar */
.mbar{display:none}

@media (max-width:1060px){
  .main-nav{display:none}
  .menu-btn{display:flex}
}
@media (max-width:900px){
  body{font-size:17px}
  .hero{padding:8px 0 64px}
  .slide{gap:20px}
  .slide-text,.slide-photo{grid-column:1 / -1}
  .slide-photo{order:-1}
  .slide-photo .ph{height:340px;min-height:0}
  .badge{position:static;margin-top:12px;padding:10px 14px;font-size:14px;box-shadow:0 2px 0 var(--line)}
  .section{padding:64px 0}
  .intro-grid .ph,.intro-text{grid-column:1 / -1}
  .intro-grid .ph{height:320px}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .feature{grid-template-columns:1fr}
  .feature .ph{border-width:0 0 2px 0;min-height:200px}
  .feature-text{padding:22px 22px}
  .trust,.highlights{grid-template-columns:1fr}
  .highlights .ph{height:240px}
  .about-grid .ph{grid-column:1 / -1;height:380px;position:static}
  .about-text{grid-column:1 / -1}
  .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact-grid{grid-template-columns:1fr;gap:32px}
  .foot-grid{grid-template-columns:1fr}
  .acc-panel{padding:0 22px 26px}
  .acc-panel ul{columns:1}
  .wed{grid-template-columns:1fr}
  .wed .ph{height:240px}
  .mbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:60;background:rgba(255,249,239,.98);border-top:1px solid var(--line);box-shadow:0 -6px 18px rgba(59,42,26,.08);padding:10px max(16px,env(safe-area-inset-left,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-right,0px))}
  .mbar .btn{padding:13px 12px;font-size:16px}
  .site-foot{padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))}
}
@media (max-width:600px){
  .brand span{font-size:20px}
  .brand svg{width:28px;height:28px}
  .head-in{min-height:68px}
  .cards{grid-template-columns:1fr}
  .row2{grid-template-columns:1fr}
  .form{padding:24px}
  .closing{padding:44px 22px;border-radius:24px}
  .acc-btn{padding:20px}
  .acc-btn .t{font-size:21px}
  .slide-ctas .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* ===== WARM OPEN THEME (Oct 2026): photo-first, sunset orange, no boxes ===== */
:root{
  --bg:#FFFFFF; --surf:#FFF5EC; --card:#FFFFFF;
  --cta:#BF5911; --cta-dark:#A04A0D; --acc:#F08A2C; --sunband:#BF5911;
  --text:#2E2A27; --muted:#5E5650; --line:#F1E3D6;
  --serif:'Lora',Georgia,'Times New Roman',serif;
  --sans:'Nunito','Helvetica Neue',Arial,sans-serif;
}
body{font-family:var(--sans);font-size:19px;line-height:1.7}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600}
.center{text-align:center}
.btn{border-radius:999px;font-weight:800;box-shadow:0 4px 14px rgba(191,89,17,.25)}
.btn.light{background:#fff;color:var(--cta);border-color:#fff;box-shadow:none}
.btn.light:hover{background:var(--surf);color:var(--cta-dark)}
.tlink{text-decoration-color:var(--acc)}
.tlink.light{color:#fff;text-decoration-color:#fff}
.eyebrow{font-weight:700;letter-spacing:.5px}

/* Header: floats over the photo on the homepage */
.site-head{background:rgba(255,255,255,.97)}
body[data-page="home"] .site-head{position:fixed;left:0;right:0;top:0}
body[data-page="home"] .site-head:not(.scrolled):not(:has(.mobile-nav.open)){background:transparent;border-color:transparent;box-shadow:none}
body[data-page="home"] .site-head:not(.scrolled):not(:has(.mobile-nav.open)) .brand,
body[data-page="home"] .site-head:not(.scrolled):not(:has(.mobile-nav.open)) .main-nav a:not(.btn),
body[data-page="home"] .site-head:not(.scrolled):not(:has(.mobile-nav.open)) .head-phone{color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.45)}
body[data-page="home"] .site-head:not(.scrolled) .main-nav a[aria-current="page"]{border-color:#fff}
body[data-page="home"] .site-head:not(.scrolled):not(:has(.mobile-nav.open)) .brand svg *,
body[data-page="home"] .site-head:not(.scrolled):not(:has(.mobile-nav.open)) .head-phone svg *{stroke:#fff}
.brand span{font-family:var(--serif)}

/* Full-bleed hero slider */
.hero{padding:0}
.hero .slides{position:relative;max-width:none}
.slide,.slide.on{display:none;position:relative;height:clamp(560px,82vh,780px);overflow:hidden;animation:fade .7s ease}
.slide.on{display:block}
.slide-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.slide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,0) 26%,rgba(0,0,0,.05) 45%,rgba(22,10,2,.78) 100%)}
.slide-text{position:absolute;left:0;right:0;bottom:96px;z-index:1;color:#fff;display:flex;flex-direction:column;gap:16px}
.slide-text h1,.slide-text .h1{color:#fff;max-width:820px;font-size:clamp(36px,5vw,62px);text-shadow:0 2px 18px rgba(0,0,0,.45)}
.slide-text p{color:#fff!important;font-size:21px;max-width:640px;text-shadow:0 1px 10px rgba(0,0,0,.55)}
.slide-text .eyebrow{color:#FFE2C4}.slide-text .eyebrow::before{background:var(--acc)}
.slider-ctrl{position:absolute;left:0;right:0;bottom:26px;z-index:2;margin:0 auto}
.arrow{background:rgba(255,255,255,.9);border-color:transparent}
.dots button{background:rgba(255,255,255,.6)}.dots button[aria-current="true"]{background:#fff}
.pause{color:#fff}

/* Intro with round photo */
.intro{display:flex;align-items:center;gap:60px;max-width:1080px}
.round{width:300px;height:300px;border-radius:50%;object-fit:cover;object-position:center 22%;flex:none;box-shadow:0 0 0 10px var(--surf)}
.intro-text{display:flex;flex-direction:column;gap:16px}
.intro-text h2{color:var(--cta);font-size:clamp(34px,4vw,46px)}
.intro-text p{font-size:21px}

/* Sunset services band */
.sun-band{background:var(--sunband);color:#fff;padding:90px 0;text-align:center}
.sun-band h2{color:#fff;font-size:clamp(34px,4vw,46px);margin-bottom:48px}
.svc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:44px 40px;margin-bottom:52px}
.svc-item{color:#fff;text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px;border-radius:18px;transition:background .2s}
.svc-item:hover{background:rgba(255,255,255,.1);color:#fff}
.svc-item svg{width:46px;height:46px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.svc-item h3{font-family:var(--sans);font-weight:800;font-size:16px;letter-spacing:1.5px;text-transform:uppercase;color:#fff}
.svc-item p{font-size:17px;color:#fff}

/* Trust, centered and open */
.trust{text-align:center;margin-top:40px}
.trust div{border-top:0;align-items:center}
.trust h3{color:var(--cta)}

/* Wedding strip: photo bleeding to the edge */
.wedding-strip{display:grid;grid-template-columns:1fr 1fr;background:var(--surf);min-height:440px}
.wedding-strip img{width:100%;height:100%;object-fit:cover;object-position:35% center;display:block}
.wedding-text{padding:60px 7vw 60px 56px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:16px}
.wedding-text h2{font-size:clamp(30px,3vw,40px)}
.wedding-text .eyebrow{color:var(--cta)}

/* Edge-to-edge photo row */
.photo-row{display:grid;grid-template-columns:repeat(3,1fr)}
.photo-row img{width:100%;height:380px;object-fit:cover;object-position:center 30%;display:block;transition:opacity .2s}
.photo-row a:hover img{opacity:.88}

/* Closing over a sunset photo */
.closing-band{position:relative;padding:130px 0;text-align:center;color:#fff;background:url(img/life-sunset-sailboat.jpg) center/cover}
.closing-band::before{content:"";position:absolute;inset:0;background:rgba(20,8,0,.42)}
.closing-band .wrap{position:relative;display:flex;flex-direction:column;align-items:center;gap:16px}
.closing-band h2{color:#fff;font-size:clamp(36px,4.5vw,56px);text-shadow:0 2px 16px rgba(0,0,0,.5)}
.closing-band p{font-size:21px;max-width:620px;text-shadow:0 1px 10px rgba(0,0,0,.6)}
.closing-band .row{display:flex;gap:20px;align-items:center;flex-wrap:wrap;justify-content:center;margin-top:8px}

/* Soften the other pages */
.closing{background:var(--surf);border-radius:28px}
.page-head{background:var(--surf);padding:64px 0 52px;margin-bottom:48px}
.page-head h1{color:var(--text)}
.acc-item,.form,.methods a,.creds{box-shadow:none;border:1px solid var(--line)}
.acc-btn .t{font-family:var(--serif)}
.acc-btn .chev{background:var(--surf);color:var(--cta)}
.creds{background:var(--surf)}
.about-grid .ph{border-radius:200px 200px 24px 24px}
.ph.has-img{border-radius:22px}
.gallery .ph{border-radius:16px}
.site-foot{background:#222222;color:#E9DFD6;border-top:0;margin-top:0}
.site-foot h2,.foot-grid a{color:#fff}
.foot-grid a:hover{color:#FFC48A}

@media (max-width:1060px){ .svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:900px){
  .slide,.slide.on{height:clamp(520px,86vh,700px)}
  .slide-photo{order:0}
  .slide-text{bottom:84px}
  .intro{flex-direction:column;text-align:center;gap:32px}
  .intro-text{align-items:center}
  .round{width:240px;height:240px}
  .wedding-strip{grid-template-columns:1fr}
  .wedding-strip img{height:300px}
  .wedding-text{padding:40px 24px}
  .photo-row{grid-template-columns:1fr 1fr}
  .photo-row a:last-child{display:none}
  .photo-row img{height:240px}
  .sun-band{padding:64px 0}
  .closing-band{padding:90px 0}
  .site-foot{padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))}
}
@media (max-width:600px){
  .svc-grid{grid-template-columns:1fr;gap:30px}
  .slide-text p{font-size:18px}
  .slide-ctas .tlink{display:none}
}
.section h2.center{font-size:clamp(32px,3.6vw,44px)}
@media (max-width:700px){
  .slide,.slide.on{height:auto;background:#222222}
  .slide-bg{position:relative;height:360px;display:block}
  .slide::after{bottom:auto;height:360px;background:linear-gradient(180deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,0) 35%)}
  .slide-text{position:relative;bottom:auto;padding-top:28px;padding-bottom:96px}
  .slider-ctrl{bottom:24px}
}
.main-nav a.btn,.main-nav a.btn:hover{color:#fff!important;text-shadow:none!important;border-bottom:2px solid transparent}
.about-grid .ph.has-img{border-radius:180px 180px 24px 24px}

/* ===== SOFT BLENDS: no hard edges between sections ===== */
:root{--bg:#FFFAF4;--surf:#FFF1E4}
body{background:var(--bg)}
.site-head{background:rgba(255,250,244,.97)}
/* hero photo fades softly into the page */
.hero{position:relative}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:90px;background:linear-gradient(180deg,rgba(255,250,244,0),var(--bg));pointer-events:none;z-index:1}
.slide-text{bottom:150px}
.slider-ctrl{bottom:96px}
/* sunset band glows in and out instead of starting with a hard line */
.sun-band{background:linear-gradient(180deg,var(--bg) 0,#F2A766 70px,#D46A1C 160px,#BF5911 50%,#D46A1C calc(100% - 160px),#F2A766 calc(100% - 70px),var(--bg) 100%);padding:170px 0 180px}
/* trust section on a soft warm wash */
.trust{margin-top:36px}
/* wedding: photo melts into its text side; section fades in and out */
.wedding-strip{background:linear-gradient(180deg,var(--bg) 0,var(--surf) 60px,var(--surf) calc(100% - 60px),var(--bg) 100%)}
.wedding-strip img{-webkit-mask-image:linear-gradient(90deg,#000 70%,transparent);mask-image:linear-gradient(90deg,#000 70%,transparent)}
/* photo row: soft top and bottom, small gaps, rounded */
.photo-row{gap:14px;padding:30px 14px 0}
.photo-row img{border-radius:22px}
/* closing sunset fades in from the page and out into the footer */
.closing-band{margin-top:40px}
.closing-band::after{content:"";position:absolute;left:0;right:0;top:0;height:110px;background:linear-gradient(180deg,var(--bg),rgba(255,250,244,0))}
.closing-band{background:linear-gradient(180deg,rgba(0,0,0,0) 75%,#232323 100%),url(img/life-sunset-sailboat.jpg) center/cover}
.site-foot{background:#232323}
/* inner page headers fade instead of a hard block */
.page-head{background:linear-gradient(180deg,var(--surf) 0,var(--surf) 60%,var(--bg) 100%);margin-bottom:24px}
.closing{background:radial-gradient(ellipse at center,#FFE4CC 0,var(--surf) 70%)}
@media (max-width:900px){
  .wedding-strip img{-webkit-mask-image:linear-gradient(180deg,#000 70%,transparent);mask-image:linear-gradient(180deg,#000 70%,transparent)}
  .sun-band{padding:130px 0 140px}
}
@media (max-width:700px){
  .slide,.slide.on{background:linear-gradient(180deg,#232323 0,#232323 75%,#232323 100%)}
  .slide-text{bottom:auto;padding-bottom:150px}
  .slider-ctrl{bottom:80px}
  .hero::after{height:70px;background:linear-gradient(180deg,rgba(35,35,35,0),var(--bg))}
}
.slide-text{bottom:132px}
.slide::after{background:linear-gradient(180deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,0) 22%,rgba(0,0,0,.25) 40%,rgba(15,10,5,.82) 100%)}
@media (max-width:700px){
  .slide::after{height:360px;background:linear-gradient(180deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,0) 30%,rgba(0,0,0,0) 65%,#232323 100%)}
  .slide-text{bottom:auto}
}
.slide-text{bottom:156px}@media (max-width:700px){.slide-text{bottom:auto}}

/* Hide slideshow arrows and pause link (Captain Arlan request) */
.slider-ctrl .arrow,.slider-ctrl .pause{display:none!important}

/* Charter page */
.faq-q{font-size:21px;margin-top:22px}
.faq-a{margin-top:6px;color:#4A3826}
