:root{
  --sand:#f4efe8;
  --cream:#fbf9f5;
  --ink:#24303b;
  --navy:#17314e;
  --taupe:#8b7868;
  --peach:#cda38a;
  --line:rgba(36,48,59,.16);
  --max:1160px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}
img,video{display:block;max-width:100%}
.site-header{
  position:absolute;z-index:20;top:0;left:50%;transform:translateX(-50%);
  width:min(calc(100% - 36px),var(--max));
  padding:22px 0;
  display:flex;align-items:center;justify-content:space-between;
}
.logo{
  color:#fff;text-decoration:none;
  font-family:"Snell Roundhand","Segoe Script","Brush Script MT",cursive;
  font-size:clamp(1.45rem,3vw,2rem);
  font-weight:400;
  text-shadow:0 1px 10px rgba(0,0,0,.28);
}
.hero{
  min-height:100svh;position:relative;overflow:hidden;display:flex;align-items:flex-end;
  background:#6d8291;color:#fff;
}
.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%}
.hero::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(7,18,30,.16) 0%,rgba(7,18,30,.08) 38%,rgba(7,18,30,.72) 100%),
    linear-gradient(90deg,rgba(7,18,30,.33),transparent 72%);
}
.hero-content{
  position:relative;z-index:2;width:min(calc(100% - 40px),var(--max));
  margin:0 auto;padding:150px 0 clamp(70px,10vw,120px);
}
.hero h1{
  max-width:760px;margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(3.4rem,9vw,7.8rem);
  line-height:.96;font-weight:400;letter-spacing:-.045em;
}
.hero p{
  max-width:650px;margin:26px 0 0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.08rem,2.1vw,1.45rem);
  font-style:italic;line-height:1.45;
}
.scroll-mark{position:absolute;z-index:3;bottom:24px;left:50%;transform:translateX(-50%);font-size:1.5rem}
section{padding:clamp(78px,10vw,135px) 20px}
.wrap{width:min(100%,var(--max));margin:auto}
.text{width:min(100%,760px)}
.kicker{
  margin:0 0 18px;color:var(--taupe);
  font-size:.94rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
}
h2{
  margin:0 0 32px;color:var(--navy);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.35rem,5.4vw,4.7rem);
  line-height:1.05;font-weight:400;letter-spacing:-.035em;
}
p{margin:0 0 1.28em}
.lead{font-size:1rem}
.split{
  display:grid;grid-template-columns:minmax(0,1.06fr) minmax(300px,.72fr);
  gap:clamp(42px,7vw,90px);align-items:center;
}
.photo{
  position:relative;min-height:620px;overflow:hidden;
  border-radius:2px;box-shadow:0 24px 70px rgba(26,42,56,.12);
}
.photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.photo.portrait img{object-position:center 35%}
.quote{
  margin:38px 0;padding:24px 0 24px 25px;border-left:2px solid var(--peach);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.5rem,3vw,2.25rem);line-height:1.28;color:var(--navy);
}
.alt{background:var(--sand)}
.questions-intro{max-width:760px}
.cards{
  display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:48px 0 32px;
}
.card{
  min-height:400px;padding:36px;display:flex;flex-direction:column;justify-content:space-between;
  border:1px solid var(--line);background:rgba(255,255,255,.62);
}
.card .wrong{
  font-family:Georgia,"Times New Roman",serif;font-size:1.45rem;font-style:italic;line-height:1.35;
}
.card .bridge{margin:28px 0;color:#59636c}
.card .right{
  margin:0;padding-top:25px;border-top:1px solid var(--line);
  color:var(--navy);
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.35rem;
  font-weight:400;
  line-height:1.35;
}
.single-sea-image{
  width:min(100%,820px);
  margin:62px auto 0;
  aspect-ratio:16/9;
  overflow:hidden;
  box-shadow:0 24px 70px rgba(26,42,56,.10);
}
.single-sea-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 52%;
}
.story{
  display:grid;grid-template-columns:.72fr 1.1fr;gap:clamp(42px,8vw,105px);align-items:center;
}
.story-photo{aspect-ratio:9/16;overflow:hidden}
.story-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}
.statement{
  margin:42px 0 0;color:var(--navy);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.5rem,3vw,2.3rem);line-height:1.3;
}
.final-split{
  display:grid;grid-template-columns:1fr .9fr;gap:clamp(44px,7vw,88px);align-items:center;
}
.final-image{aspect-ratio:4/5;overflow:hidden}
.final-image img{width:100%;height:100%;object-fit:cover;object-position:center 35%}
.contact{
  position:relative;color:#fff;text-align:center;overflow:hidden;
  background:var(--navy);
}
.contact::before{
  content:"";position:absolute;inset:0;
  background:url("assets/sunset-2.jpg") center 47%/cover no-repeat;
  opacity:.28;
}
.contact::after{content:"";position:absolute;inset:0;background:rgba(14,38,65,.75)}
.contact .wrap{position:relative;z-index:2;max-width:840px}
.contact .kicker,.contact h2{color:#fff}
.cta{
  display:inline-block;margin-top:22px;padding:16px 26px;border:1px solid rgba(255,255,255,.8);
  text-decoration:none;font-weight:700;letter-spacing:.02em;background:rgba(255,255,255,.06)
}
.cta:hover,.cta:focus-visible{background:#fff;color:var(--navy)}
footer{background:#0e2239;color:rgba(255,255,255,.74);padding:28px 20px}
.footer-nav{width:min(100%,var(--max));margin:auto;display:flex;justify-content:center;gap:24px;flex-wrap:wrap}
.footer-nav a{text-decoration:none}
.footer-nav a:hover{text-decoration:underline}
.legal-header{background:var(--navy);color:#fff;padding:24px 20px}
.legal-head{width:min(100%,920px);margin:auto;display:flex;justify-content:space-between;align-items:center;gap:20px}
.legal-main{padding:70px 20px 100px}
.legal{width:min(100%,820px);margin:auto}
.legal h1{
  margin:0 0 45px;color:var(--navy);font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(3rem,8vw,5.5rem);font-weight:400
}
.legal h2{
  margin:42px 0 14px;font-family:inherit;font-size:1.32rem;font-weight:700;letter-spacing:0
}
address{font-style:normal}
.note{margin-top:45px;padding:18px;border:1px solid var(--line);font-size:.92rem}
@media(max-width:820px){
  .split,.story,.final-split{grid-template-columns:1fr}
  .photo{min-height:540px;order:-1}
  .cards{grid-template-columns:1fr}
}
@media(max-width:560px){
  .hero h1{font-size:3.45rem}
  .hero-content{padding-bottom:88px}
  .photo{min-height:500px}
  .card{min-height:auto;padding:28px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.statement-space{margin-bottom:2.4em;}
