/* =====================================================================
   39198 Barracuda Court — Avon, NC  |  Vacation Rental
   LUXURY COASTAL EDITION — refined, editorial, textured.
   ===================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;0,9..144,900;1,9..144,400;1,9..144,500;1,9..144,600&family=Outfit:wght@300;400;500;600;700&display=swap');

:root {
  --abyss:#0c2a2e; --marine:#11484f; --sound:#1a6b73; --sea:#3a9aa0; --foam:#cfe5e2;
  --ivory:#f7f1e6; --shell:#fbf7ef; --sand:#efe4cf; --sand-deep:#e4d3b4;
  --brass:#c08a3e; --brass-lt:#d9a85a; --gold:#e6c068; --coral:#d96849;
  --ink:#20211c; --ink-soft:#54534a; --line:#ddcfb4; --line-dk:rgba(255,255,255,.14);
  --shadow-sm:0 8px 24px -14px rgba(12,42,46,.5); --shadow:0 26px 64px -28px rgba(12,42,46,.55);
  --shadow-gold:0 18px 40px -20px rgba(192,138,62,.5);
  --radius:4px; --radius-lg:10px; --maxw:1200px; --ease:cubic-bezier(.22,1,.36,1);
  /* aliases for legacy inline styles */
  --sound-deep:#11484f; --driftwood:#8a7d5e; --coral-deep:#b8512f; --sun:#e6c068; --sand-warm:#efe4cf;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{font-family:'Outfit',sans-serif;color:var(--ink);background:var(--shell);line-height:1.7;font-size:17px;-webkit-font-smoothing:antialiased;overflow-x:hidden;position:relative;}
body::before{content:'';position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.4;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");mix-blend-mode:multiply;}
body>*{position:relative;z-index:2;}
img{max-width:100%;display:block;}
a{color:var(--sound);text-decoration:none;transition:color .25s var(--ease);}
a:hover{color:var(--brass);}
h1,h2,h3,h4{font-family:'Fraunces',serif;font-weight:500;line-height:1.05;color:var(--ink);letter-spacing:-.015em;}
h1{font-size:clamp(2.6rem,6.5vw,5.2rem);font-weight:600;}
h2{font-size:clamp(2rem,4.2vw,3.4rem);}
h3{font-size:1.5rem;}
p{margin-bottom:1rem;color:var(--ink-soft);}
.eyebrow{font-family:'Outfit',sans-serif;font-weight:600;font-size:.74rem;letter-spacing:.32em;text-transform:uppercase;color:var(--brass);margin-bottom:18px;display:inline-flex;align-items:center;gap:12px;}
.eyebrow::before{content:'';width:34px;height:1px;background:var(--brass);display:inline-block;}
.phero .eyebrow,.hero .eyebrow{color:var(--gold);}
.phero .eyebrow::before,.hero .eyebrow::before{background:var(--gold);}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;}
.narrow{max-width:760px;}
.lead{font-size:1.3rem;line-height:1.5;color:var(--ink);font-family:'Fraunces';font-style:italic;font-weight:400;}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:'Outfit';font-weight:600;font-size:.92rem;letter-spacing:.04em;padding:16px 34px;border-radius:50px;cursor:pointer;border:none;transition:all .35s var(--ease);position:relative;overflow:hidden;}
.btn-primary{background:var(--brass);color:#fff;box-shadow:var(--shadow-gold);}
.btn-primary:hover{background:var(--ink);color:#fff;transform:translateY(-3px);}
.btn-ghost{background:transparent;color:var(--shell);border:1px solid rgba(255,255,255,.5);backdrop-filter:blur(4px);}
.btn-ghost:hover{background:rgba(255,255,255,.12);color:#fff;border-color:var(--gold);transform:translateY(-3px);}
.btn-dark{background:var(--marine);color:#fff;}
.btn-dark:hover{background:var(--ink);color:#fff;transform:translateY(-3px);}
.btn-gold{background:var(--gold);color:var(--abyss);}
.btn-gold:hover{background:#fff;color:var(--abyss);transform:translateY(-3px);}
.nav{position:sticky;top:0;z-index:100;background:rgba(251,247,239,.85);backdrop-filter:blur(16px) saturate(1.3);border-bottom:1px solid var(--line);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:78px;}
.brand{font-family:'Fraunces',serif;font-weight:600;font-size:1.22rem;color:var(--ink);line-height:1;letter-spacing:-.01em;}
.brand small{display:block;font-family:'Outfit';font-weight:600;font-size:.6rem;letter-spacing:.26em;text-transform:uppercase;color:var(--brass);margin-top:5px;}
.nav-links{display:flex;gap:24px;align-items:center;}
.nav-links a{font-family:'Outfit';font-weight:500;font-size:.88rem;color:var(--ink-soft);position:relative;padding:4px 0;}
.nav-links a::after{content:'';position:absolute;left:0;bottom:-2px;width:0;height:1.5px;background:var(--brass);transition:width .3s var(--ease);}
.nav-links a:hover,.nav-links a.active{color:var(--ink);}
.nav-links a:hover::after,.nav-links a.active::after{width:100%;}
.nav-toggle{display:none;background:none;border:none;font-size:1.6rem;cursor:pointer;color:var(--ink);}
@media(max-width:980px){.nav-links{position:fixed;inset:78px 0 auto 0;flex-direction:column;gap:0;background:var(--shell);border-bottom:1px solid var(--line);padding:8px 0;transform:translateY(-130%);transition:transform .4s var(--ease);max-height:85vh;overflow-y:auto;}.nav-links.open{transform:translateY(0);box-shadow:var(--shadow);}.nav-links a{padding:15px 32px;width:100%;border-top:1px solid var(--line);}.nav-links a::after{display:none;}.nav-toggle{display:block;}}
.hero{position:relative;min-height:94vh;display:flex;align-items:flex-end;color:var(--shell);background:radial-gradient(130% 100% at 78% 8%,rgba(230,192,104,.28) 0%,transparent 42%),linear-gradient(170deg,var(--marine) 0%,var(--abyss) 88%);overflow:hidden;}
.hero::before{content:'';position:absolute;inset:0;opacity:.5;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='600' viewBox='0 0 1200 600'%3E%3Cg fill='none' stroke='%233a9aa0' stroke-width='1' opacity='.25'%3E%3Cpath d='M0 120 Q300 60 600 120 T1200 120'/%3E%3Cpath d='M0 180 Q300 120 600 180 T1200 180'/%3E%3Cpath d='M0 240 Q300 180 600 240 T1200 240'/%3E%3Cpath d='M0 300 Q300 240 600 300 T1200 300'/%3E%3Cpath d='M0 360 Q300 300 600 360 T1200 360'/%3E%3Cpath d='M0 420 Q300 360 600 420 T1200 420'/%3E%3Cpath d='M0 480 Q300 420 600 480 T1200 480'/%3E%3C/g%3E%3C/svg%3E");background-size:cover;background-position:center;}
.hero-content{position:relative;z-index:3;padding-bottom:11vh;padding-top:9vh;max-width:900px;}
.hero-content h1{color:#fff;max-width:15ch;text-shadow:0 4px 40px rgba(0,0,0,.3);}
.hero-content h1 em{font-style:italic;font-weight:400;color:var(--gold);}
.hero-content p.lede{color:rgba(255,255,255,.94);font-size:1.3rem;max-width:48ch;margin:26px 0 34px;font-family:'Outfit';font-weight:300;}
.hero-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:34px;}
.chip{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.24);padding:9px 18px;border-radius:50px;font-size:.82rem;font-weight:500;backdrop-filter:blur(6px);color:#fff;transition:all .3s var(--ease);}
a.chip:hover{background:var(--gold);color:var(--abyss);border-color:var(--gold);transform:translateY(-2px);}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;}
.hero-waves{position:absolute;bottom:-1px;left:0;width:100%;line-height:0;z-index:2;}
.phero{position:relative;color:var(--shell);padding:96px 0 84px;overflow:hidden;background:radial-gradient(120% 110% at 85% 0%,rgba(230,192,104,.22) 0%,transparent 46%),linear-gradient(150deg,var(--marine) 0%,var(--abyss) 92%);}
.phero::before{content:'';position:absolute;inset:0;opacity:.45;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='400' viewBox='0 0 1200 400'%3E%3Cg fill='none' stroke='%233a9aa0' stroke-width='1' opacity='.3'%3E%3Cpath d='M0 80 Q300 30 600 80 T1200 80'/%3E%3Cpath d='M0 140 Q300 90 600 140 T1200 140'/%3E%3Cpath d='M0 200 Q300 150 600 200 T1200 200'/%3E%3Cpath d='M0 260 Q300 210 600 260 T1200 260'/%3E%3Cpath d='M0 320 Q300 270 600 320 T1200 320'/%3E%3C/g%3E%3C/svg%3E");background-size:cover;}
.phero h1{color:#fff;max-width:18ch;}
.phero h1 em{font-style:italic;font-weight:400;color:var(--gold);}
.phero p{color:rgba(255,255,255,.92);max-width:54ch;margin-top:16px;font-size:1.12rem;font-weight:300;}
.phero-content{position:relative;z-index:2;}
.phero::after{content:'';position:absolute;right:-60px;top:50%;transform:translateY(-50%);width:340px;height:340px;opacity:.12;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none' stroke='%23e6c068' stroke-width='1.2'%3E%3Ccircle cx='100' cy='100' r='92'/%3E%3Ccircle cx='100' cy='100' r='70'/%3E%3Cpath d='M100 8 L100 192 M8 100 L192 100'/%3E%3Cpath d='M100 30 L118 100 L100 170 L82 100 Z' fill='%23e6c068' stroke='none' opacity='.5'/%3E%3Cpath d='M30 100 L100 82 L170 100 L100 118 Z' fill='%23e6c068' stroke='none' opacity='.3'/%3E%3C/svg%3E") no-repeat center/contain;}
section{padding:96px 0;position:relative;}
.section-sand{background:var(--sand);}
.section-tint{background:linear-gradient(180deg,var(--shell),var(--sand));}
.section-dark{background:linear-gradient(160deg,var(--marine),var(--abyss));color:var(--foam);}
.section-dark h2,.section-dark h3{color:#fff;}
.section-dark p{color:rgba(207,229,226,.85);}
.section-dark .eyebrow{color:var(--gold);}
.section-dark .eyebrow::before{background:var(--gold);}
.divider{display:flex;align-items:center;justify-content:center;gap:16px;margin:0 auto;max-width:200px;}
.divider span{height:1px;background:var(--line);flex:1;}
.divider::after{content:'\25C6';color:var(--brass);font-size:.7rem;}
.grid{display:grid;gap:28px;}
.g2{grid-template-columns:repeat(2,1fr);}
.g3{grid-template-columns:repeat(3,1fr);}
.g4{grid-template-columns:repeat(4,1fr);}
@media(max-width:900px){.g3,.g4{grid-template-columns:repeat(2,1fr);}}
@media(max-width:620px){.g2,.g3,.g4{grid-template-columns:1fr;}}
.card{background:var(--shell);border:1px solid var(--line);border-radius:var(--radius);padding:34px 30px;transition:all .4s var(--ease);position:relative;overflow:hidden;}
.card::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--brass),var(--gold));transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease);}
.card:hover{transform:translateY(-8px);box-shadow:var(--shadow);border-color:var(--sand-deep);}
.card:hover::before{transform:scaleX(1);}
.card .ico{font-size:1.9rem;margin-bottom:14px;display:block;}
.card h3{margin-bottom:10px;}
.card p{font-size:.96rem;margin-bottom:0;}
.section-dark .card{background:rgba(255,255,255,.04);border-color:var(--line-dk);}
.section-dark .card:hover{background:rgba(255,255,255,.07);}
.section-dark .card p{color:rgba(207,229,226,.8);}
.amenities{columns:3;column-gap:38px;}
@media(max-width:780px){.amenities{columns:2;}}
@media(max-width:480px){.amenities{columns:1;}}
.amenities li{list-style:none;padding:10px 0 10px 30px;position:relative;break-inside:avoid;font-size:.97rem;color:var(--ink);border-bottom:1px solid rgba(221,207,180,.4);}
.amenities li::before{content:'\274B';position:absolute;left:0;color:var(--brass);}
.section-dark .amenities li{color:var(--foam);border-color:var(--line-dk);}
.rates{width:100%;border-collapse:collapse;margin-top:14px;background:var(--shell);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line);}
.rates th,.rates td{padding:18px 24px;text-align:left;border-bottom:1px solid var(--line);}
.rates th{background:linear-gradient(160deg,var(--marine),var(--abyss));color:var(--gold);font-family:'Outfit';font-weight:600;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;}
.rates tr:last-child td{border-bottom:none;}
.rates tbody tr{transition:background .25s;}
.rates tbody tr:hover{background:var(--ivory);}
.rates td:first-child{font-weight:600;color:var(--ink);font-family:'Fraunces';}
.rates .rate{font-family:'Fraunces';font-size:1.2rem;color:var(--sound);font-weight:600;}
.listing{background:var(--shell);border:1px solid var(--line);border-radius:var(--radius);padding:26px 26px;transition:all .35s var(--ease);height:100%;position:relative;overflow:hidden;}
.listing::after{content:'';position:absolute;left:0;top:0;width:3px;height:100%;background:var(--brass);transform:scaleY(0);transform-origin:top;transition:transform .35s var(--ease);}
.listing:hover{transform:translateY(-5px);box-shadow:var(--shadow);}
.listing:hover::after{transform:scaleY(1);}
.listing h3{font-size:1.2rem;margin-bottom:5px;}
.listing .meta{font-size:.8rem;color:var(--brass);font-weight:600;margin-bottom:10px;letter-spacing:.02em;}
.listing p{font-size:.93rem;margin-bottom:14px;}
.listing .ext{font-family:'Outfit';font-weight:600;font-size:.82rem;color:var(--sound);letter-spacing:.02em;}
.listing .ext::after{content:' \2192';transition:margin .25s;}
.listing:hover .ext::after{margin-left:5px;}
.cat-head{display:flex;align-items:baseline;gap:18px;margin:60px 0 28px;padding-bottom:18px;border-bottom:1px solid var(--line);}
.cat-head:first-of-type{margin-top:0;}
.cat-head .num{font-family:'Fraunces';font-size:2.4rem;color:var(--brass);font-weight:600;font-style:italic;line-height:1;}
.cat-head h2{font-size:2rem;}
.note{background:linear-gradient(180deg,#fffaf0,#fdf3e0);border:1px solid var(--sand-deep);border-left:3px solid var(--brass);border-radius:0 var(--radius) var(--radius) 0;padding:20px 24px;margin:26px 0;font-size:.95rem;}
.note strong{color:var(--coral);}
.placeholder{background:repeating-linear-gradient(45deg,#fbeede,#fbeede 14px,#f6e3c8 14px,#f6e3c8 28px);border:1.5px dashed var(--brass);border-radius:var(--radius);padding:20px 24px;margin:20px 0;font-size:.92rem;color:#8a5a1e;}
.placeholder strong{display:block;font-family:'Fraunces';font-size:1.05rem;margin-bottom:5px;color:#7a4e15;}
.steps{counter-reset:s;list-style:none;}
.steps li{position:relative;padding:0 0 26px 64px;counter-increment:s;}
.steps li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:-4px;width:44px;height:44px;background:transparent;color:var(--brass);border:1px solid var(--brass);border-radius:50%;display:grid;place-items:center;font-family:'Fraunces';font-weight:600;font-size:.95rem;}
.steps li:not(:last-child)::after{content:'';position:absolute;left:21px;top:44px;bottom:6px;width:1px;background:var(--line);}
.steps li h4{margin-bottom:5px;font-size:1.15rem;}
.recipe{background:var(--shell);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:all .4s var(--ease);}
.recipe:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
.recipe-head{background:linear-gradient(150deg,var(--sound),var(--abyss));color:#fff;padding:26px 30px;position:relative;overflow:hidden;}
.recipe-head::after{content:'';position:absolute;right:-30px;bottom:-30px;width:120px;height:120px;opacity:.16;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='%23e6c068' stroke-width='2'%3E%3Cpath d='M50 15 C30 15 20 35 20 50 C20 70 35 85 50 85 C65 85 80 70 80 50 C80 35 70 15 50 15Z'/%3E%3Cpath d='M50 25 L50 85 M35 35 Q50 45 65 35 M32 55 Q50 65 68 55'/%3E%3C/svg%3E") no-repeat center/contain;}
.recipe-head h3{color:#fff;font-size:1.55rem;position:relative;}
.recipe-head .tag{font-size:.72rem;opacity:.95;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--gold);}
.recipe-body{padding:28px 30px;}
.recipe-body h4{font-family:'Outfit';font-weight:700;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brass);margin:20px 0 10px;}
.recipe-body ul,.recipe-body ol{padding-left:20px;margin-bottom:8px;}
.recipe-body li{margin-bottom:7px;font-size:.95rem;color:var(--ink-soft);}
.cta-band{background:linear-gradient(150deg,var(--marine),var(--abyss));color:#fff;text-align:center;border-radius:var(--radius-lg);padding:74px 40px;position:relative;overflow:hidden;border:1px solid var(--line-dk);}
.cta-band::before{content:'';position:absolute;inset:0;opacity:.4;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='800' height='400'%3E%3Cg fill='none' stroke='%233a9aa0' stroke-width='1' opacity='.4'%3E%3Cpath d='M0 100 Q200 50 400 100 T800 100'/%3E%3Cpath d='M0 160 Q200 110 400 160 T800 160'/%3E%3Cpath d='M0 220 Q200 170 400 220 T800 220'/%3E%3Cpath d='M0 280 Q200 230 400 280 T800 280'/%3E%3C/g%3E%3C/svg%3E");background-size:cover;}
.cta-band::after{content:'\25C6';position:absolute;top:24px;left:50%;transform:translateX(-50%);color:var(--gold);font-size:.8rem;}
.cta-band>*{position:relative;z-index:2;}
.cta-band h2{color:#fff;}
.cta-band h2 em{font-style:italic;color:var(--gold);}
.cta-band p{color:rgba(255,255,255,.9);max-width:50ch;margin:16px auto 30px;}
.facts-card{background:linear-gradient(160deg,var(--marine),var(--abyss));color:#fff;border-radius:var(--radius-lg);padding:34px;position:relative;overflow:hidden;box-shadow:var(--shadow);}
.facts-card::after{content:'';position:absolute;right:-40px;top:-40px;width:180px;height:180px;opacity:.12;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none' stroke='%23e6c068' stroke-width='1.2'%3E%3Ccircle cx='100' cy='100' r='92'/%3E%3Cpath d='M100 8 L100 192 M8 100 L192 100'/%3E%3Cpath d='M100 30 L118 100 L100 170 L82 100 Z' fill='%23e6c068' stroke='none' opacity='.5'/%3E%3C/svg%3E") no-repeat center/contain;}
footer{background:var(--abyss);color:#9fb3b0;padding:80px 0 34px;position:relative;overflow:hidden;}
footer::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;opacity:.3;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='300'%3E%3Cg fill='none' stroke='%231a6b73' stroke-width='1' opacity='.4'%3E%3Cpath d='M0 60 Q300 20 600 60 T1200 60'/%3E%3Cpath d='M0 120 Q300 80 600 120 T1200 120'/%3E%3Cpath d='M0 180 Q300 140 600 180 T1200 180'/%3E%3C/g%3E%3C/svg%3E");background-size:cover;}
footer h4{color:#fff;font-family:'Outfit';font-weight:600;font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:18px;}
footer a{color:#9fb3b0;font-size:.92rem;display:block;margin-bottom:9px;transition:all .25s;}
footer a:hover{color:var(--gold);padding-left:4px;}
.foot-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:40px;position:relative;z-index:2;}
@media(max-width:780px){.foot-grid{grid-template-columns:1fr 1fr;}}
.foot-brand{font-family:'Fraunces';font-size:1.5rem;color:#fff;margin-bottom:12px;font-weight:600;}
.foot-brand small{display:block;font-family:'Outfit';font-weight:600;font-size:.58rem;letter-spacing:.26em;text-transform:uppercase;color:var(--brass);margin-top:6px;}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:52px;padding-top:24px;font-size:.8rem;color:#6b817e;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;position:relative;z-index:2;}
.reveal{opacity:0;transform:translateY(34px);transition:opacity .8s var(--ease),transform .8s var(--ease);}
.reveal.in{opacity:1;transform:none;}
.grid .reveal.in:nth-child(2){transition-delay:.08s;}
.grid .reveal.in:nth-child(3){transition-delay:.16s;}
.grid .reveal.in:nth-child(4){transition-delay:.24s;}
.grid .reveal.in:nth-child(5){transition-delay:.32s;}
.grid .reveal.in:nth-child(6){transition-delay:.4s;}
.crumb{font-size:.82rem;color:rgba(255,255,255,.65);margin-bottom:14px;letter-spacing:.04em;}
.crumb a{color:rgba(255,255,255,.65);}
.crumb a:hover{color:var(--gold);}
::selection{background:var(--gold);color:var(--abyss);}
