@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/Inter-Regular.ttf) format('truetype');
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/Inter-Medium.ttf) format('truetype');
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/Inter-SemiBold.ttf) format('truetype');
}

@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/Lora-Regular.ttf) format('truetype');
}


:root{--green:#103412;--cream:#f8f2e9;--orange:#f45113;--art-unused:none}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--green);font-family:Inter,Arial,sans-serif}
button,a{font:inherit}
header{display:flex;align-items:center;gap:24px;padding:12px 3.2%;min-height:79px;background:var(--cream)}
.ivy{width:244px;height:auto}
.edge{width:100px;height:61px;object-fit:contain}
.brand-divider{height:44px;border-left:1px solid #10341245}
nav{display:flex;align-items:center;gap:26px;margin-left:auto}
nav a{font-size:14px;text-decoration:none;color:var(--green);font-weight:500}
nav a.active{position:relative}
nav a.active:after{content:'';position:absolute;bottom:-10px;left:0;right:0;height:3px;background:#f9c941}
.button{border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:11px;padding:16px 28px;text-decoration:none;font-weight:600;font-size:15px;background:var(--orange);color:white}
.button.cream{background:#fff6e5;color:var(--green)}
.button.outline{color:#fff6e5;background:transparent;border:1px solid #fff6e5}
.coast{container-type:inline-size}
.hero{height:32.292cqw;min-height:0;position:relative;background:linear-gradient(105deg,#f35a17,#ec4b0d);overflow:hidden}
.hero-art,.shore,.intro-art,.photo,.icon,.swoosh{background-image:url("assets/approved-coastal-homepage.png");background-repeat:no-repeat}
.hero-art{position:absolute;inset:0;background-size:100cqw auto;background-position:0 -5.143cqw;clip-path:polygon(45.2% 0,100% 0,100% 100%,35.5% 100%,40.4% 78%,39% 69%,37.6% 55%,36.9% 42%,37.2% 28%,39.5% 14%)}
.shore{position:absolute;inset:0;background-size:100cqw auto;background-position:0 -5.143cqw;clip-path:polygon(0 93%,17% 92%,29% 95%,40% 86%,54% 86%,68% 74%,86% 72%,100% 78%,100% 100%,0 100%);pointer-events:none}
.hero-copy{position:absolute;left:6.25cqw;top:2.4cqw;color:#fff5de;width:31cqw}
.eyebrow{font-size:1.17cqw;font-weight:500;letter-spacing:.31em;white-space:nowrap;margin:0}
.hero h1{font-family:Lora,Georgia,serif;font-size:7.55cqw;line-height:.86;letter-spacing:-.065em;font-weight:400;margin:0 0 0 -.35cqw;transform:scaleX(1.22);transform-origin:left top}
.hero h1 span{display:block}
.hero-details{margin:2.3cqw 0 1.35cqw;font-size:.96cqw;line-height:1.9;letter-spacing:.32em;font-weight:500;text-transform:uppercase;white-space:nowrap}
.actions{display:flex;gap:1.75cqw}
.actions .button{font-size:1.1cqw;padding:1.08cqw 2.1cqw;border-radius:.9cqw}
.actions .arrow{font-size:1.5cqw}
.swoosh{position:absolute;left:0;top:14.2cqw;width:26cqw;height:2.2cqw;background-size:100cqw auto;background-position:-6.25cqw -21.8cqw;clip-path:polygon(0 94%,18% 50%,40% 18%,60% 0,80% 12%,96% 50%,100% 82%,76% 47%,55% 39%,34% 50%,0 100%)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);padding:1.4cqw 6% 1.4cqw;background:#fcf3e2;gap:0}
.stat{position:relative;text-align:center;padding:0 1cqw}
.stat+.stat:before{content:'';position:absolute;left:0;top:.8cqw;bottom:.2cqw;border-left:1px solid #dcd0b7}
.icon{height:3.3cqw;width:4.6cqw;margin:0 auto .8cqw;background-size:100cqw auto}
.icon.calendar{background-position:-12.5cqw -38.7cqw}
.icon.pin{background-position:-30.4cqw -38.7cqw}
.icon.people{background-position:-47.8cqw -38.7cqw}
.icon.wave{background-position:-65.6cqw -38.7cqw}
.icon.shell{background-position:-83cqw -38.7cqw}
.stat strong{font-size:1.2cqw;font-weight:600;display:block;line-height:1.2;min-height:2.6cqw}
.stat small{display:block;font-size:.91cqw;line-height:1.3;margin-top:.55cqw;color:#202b24}
.intro{position:relative;min-height:20.9cqw;padding:2.65cqw 4.8% 2.5cqw;display:grid;grid-template-columns:48.2% 1fr;gap:4.1cqw;background:#fcf8ef;overflow:hidden}
.photo{border-radius:1.6cqw;min-height:18cqw;background-size:100cqw auto;background-position:-4.8cqw -51cqw}
.intro-art{position:absolute;right:0;top:0;width:20cqw;height:16cqw;background-size:100cqw auto;background-position:-80cqw -48.5cqw;clip-path:polygon(30% 0,100% 0,100% 100%,35% 72%,0 3%)}
.intro-copy{position:relative;z-index:1;padding-top:.8cqw}
.label{font-size:.95cqw;font-weight:500;letter-spacing:.3em;color:#323a38}
.rule{width:4.8cqw;height:3px;background:#edb328;margin:.6cqw 0}
.intro h2{font-family:Lora,Georgia,serif;font-weight:400;font-size:2.65cqw;line-height:1.13;letter-spacing:-.04em;margin:.6cqw 0}
.intro p{font-size:1.12cqw;line-height:1.5;max-width:37cqw;margin:.8cqw 0 0;color:#202b24}
.notice{font-size:12px;text-align:center;padding:14px;background:var(--cream);color:#455445}
dialog{max-width:420px;border:0;border-radius:16px;background:var(--cream);color:var(--green);padding:28px;box-shadow:0 20px 80px #0004}
dialog::backdrop{background:#10341280}
dialog h2{font-family:Lora,Georgia,serif;font-weight:400}
dialog p{line-height:1.6}
a:focus-visible,button:focus-visible{outline:3px solid #efba29;outline-offset:5px}

@media(min-width:1700px){body{max-width:1800px;margin:auto}
}

@media(max-width:1050px){header{flex-wrap:wrap;gap:16px}
.ivy{width:210px}
.edge{width:86px;height:58px}
nav{width:100%;margin:0;justify-content:space-between;gap:12px}
nav a{font-size:12px}
.button{padding:12px 18px}
.swoosh{display:none}
}

@media(max-width:640px){header{padding:10px 5%;gap:14px}
.ivy{width:205px;max-width:57%}
.edge{width:75px;height:54px}
.brand-divider{height:34px}
nav{overflow-x:auto;justify-content:flex-start;gap:20px;padding:5px 0 10px}
nav a{flex-shrink:0}
nav .button{padding:10px 15px}
.hero{height:110.5cqw}
.hero-art{top:54cqw;height:56.5cqw;background-size:175cqw auto;background-position:-75cqw -9cqw;clip-path:none}
.shore{top:54cqw;background-size:175cqw auto;background-position:-75cqw -9cqw;clip-path:polygon(0 78%,100% 78%,100% 100%,0 100%)}
.hero-copy{top:7cqw;left:7cqw;width:86cqw}
.eyebrow{font-size:2.65cqw;letter-spacing:.24em}
.hero h1{transform:none;font-size:16cqw;line-height:.86;letter-spacing:-.065em;margin:3cqw 0}
.hero h1 span{display:inline}
.hero h1 span+span:before{content:' '}
.hero-details{font-size:2.35cqw;line-height:1.8;letter-spacing:.22em;margin:4cqw 0}
.actions{gap:3cqw}
.actions .button{font-size:3cqw;padding:3cqw 5cqw;border-radius:2cqw}
.actions .arrow{font-size:4cqw}
.stats{grid-template-columns:1fr 1fr;padding:6cqw 5%;gap:6cqw 2cqw}
.stat{padding:0 2cqw}
.stat+.stat:before{display:none}
.stat:last-child{grid-column:1/-1}
.icon{height:8cqw;width:10cqw;margin-bottom:2cqw;background-size:240cqw auto}
.icon.calendar{background-position:-30.4cqw -92.9cqw}
.icon.pin{background-position:-73.3cqw -92.9cqw}
.icon.people{background-position:-115cqw -92.9cqw}
.icon.wave{background-position:-158cqw -92.9cqw}
.icon.shell{background-position:-199.8cqw -92.9cqw}
.stat strong{font-size:3.3cqw;min-height:8cqw}
.stat small{font-size:2.6cqw;margin-top:1cqw}
.intro{grid-template-columns:1fr;padding:7cqw 6%;gap:6cqw}
.photo{height:35cqw;min-height:0;background-size:201cqw auto;background-position:-9.65cqw -102.5cqw;border-radius:3cqw}
.intro-copy{padding:0}
.intro-art{display:none}
.label{font-size:2.6cqw}
.rule{width:13cqw;margin:2cqw 0}
.intro h2{font-size:7cqw;margin:3cqw 0}
.intro p{font-size:3.5cqw;max-width:none;margin:3cqw 0}
.notice{font-size:11px}
}


