@font-face{font-family:Baloo;src:url('assets/fonts/brand-font-2.woff') format('woff');font-style:normal;font-weight:800;font-display:swap}
@font-face{font-family:Creepster;src:url('assets/fonts/brand-font-3.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:DM;src:url('assets/fonts/brand-font-4.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:DM;src:url('assets/fonts/brand-font-7.woff') format('woff');font-style:normal;font-weight:700;font-display:swap}
:root{--navy:#082b3b;--aqua:#b9eeea;--gold:#ffcf4b;--cream:#fffdf5;--teal:#00899a;--purple:#1b092c;--lime:#d0fb68}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--cream);color:var(--navy);font:400 16px/1.6 DM,Arial,sans-serif;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}
p,h1,h2,figure{margin:0}
a:focus-visible{outline:3px solid #ac1680;outline-offset:6px}
.wrap{width:min(1180px,calc(100% - 96px));margin-inline:auto}
.skip-link{position:absolute;left:15px;top:-100px;z-index:10;padding:12px 20px;background:white;border:2px solid var(--navy);border-radius:8px}
.skip-link:focus{top:15px}
.island-top{position:relative;background:var(--aqua) url('assets/aqua-waves.webp') center bottom/100% 100% no-repeat;isolation:isolate}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:24px 10px}
.logo-link{display:block;width:102px;padding:5px 10px;background:#fff;border:2px solid var(--navy);border-radius:17px;box-shadow:0 3px 0 var(--navy);transform:rotate(-3deg)}
.header-link{display:flex;align-items:center;gap:16px;font-size:13px;font-weight:700;padding:12px 0;border-bottom:1px solid #082b3b40}
.header-link span{font-size:23px;line-height:1}
.header-link:hover{color:#006b78;border-color:currentColor}
.hero{display:grid;grid-template-columns:1.08fr 1fr;gap:45px;align-items:center;padding-block:40px 128px}
.hero-copy{position:relative;z-index:2}
.eyebrow{font-size:11px;letter-spacing:.15em;font-weight:700;line-height:1.5}
h1{font-family:Baloo,'Trebuchet MS',sans-serif;font-weight:800;font-size:clamp(58px,6.9vw,92px);line-height:.99;letter-spacing:-.045em;margin:23px 0 28px}
h1 span{display:inline-block;color:var(--cream);text-shadow:2px 2px 0 var(--navy),-2px -2px 0 var(--navy),2px -2px 0 var(--navy),-2px 2px 0 var(--navy),0 5px 0 var(--navy);white-space:nowrap}
.hero-description{font-size:16px;line-height:1.8;max-width:455px;color:#244e59}
.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:52px;padding:14px 22px;border-radius:13px;font-size:14px;font-weight:700;line-height:1.4;transition:transform .18s,box-shadow .18s}
.button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.button-gold{margin-top:28px;background:var(--gold);color:var(--navy);border:2px solid var(--navy);box-shadow:0 4px 0 var(--navy)}
.button:hover{transform:translateY(-3px)}
.button-gold:hover{box-shadow:0 7px 0 var(--navy)}
.button:active{transform:translateY(2px)}
.hero-note{display:flex;align-items:baseline;gap:8px;font-size:11px;color:#34555a;margin-top:22px}
.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#007177;flex:none}
.hero-art{position:relative;margin:12px 15px 20px;min-width:0}
.logo-sticker{position:relative;z-index:1;border:3px solid var(--navy);border-radius:26%;padding:20px;background:white;box-shadow:9px 12px 0 #007e8f35;transform:rotate(4deg)}
.logo-sticker img{border-radius:22%}
.orbit{position:absolute;border:1px solid #008c913b;border-radius:50%;inset:-22px -18px;transform:rotate(-15deg)}
.orbit-two{inset:24px -38px;border-color:#fff9;transform:rotate(18deg)}
.spark{position:absolute;z-index:3;fill:#ffd559;stroke:#ac6c11;stroke-width:1.1;filter:drop-shadow(0 2px 0 #fff9)}
.spark-one{width:39px;left:-32px;top:4%}
.spark-two{width:27px;right:-20px;top:23%;transform:rotate(16deg)}
.spark-three{width:22px;left:-10px;bottom:10%;transform:rotate(-12deg)}

.brand-motto{position:relative;z-index:2;width:118%;max-width:none;margin:-38px -9% -36px;pointer-events:none}
.featured-section{padding-block:48px 44px}
.feature-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;color:#40636b}
.feature-star{color:#b17b1c;font-size:25px;line-height:1}
.halloween-feature{display:grid;grid-template-columns:.83fr 1.17fr;align-items:stretch;background:var(--purple);color:#fff4eb;overflow:hidden;border-radius:24px;border:2px solid #271035;box-shadow:0 7px 0 #eae5da}
.halloween-copy{position:relative;z-index:1;padding:36px 36px 31px}
.halloween-eyebrow{font-size:9px;letter-spacing:.11em;font-weight:700;color:#e2c1f0;display:flex;gap:9px;align-items:center}
.halloween-eyebrow span{font-size:14px;color:#ffb942}
h2{font-family:Creepster,'Trebuchet MS',sans-serif;font-weight:400;font-size:62px;line-height:.88;letter-spacing:.015em;color:#ffb83f;margin:22px 0 19px}
h2 span{color:#d0fb68}
.halloween-copy>p:not(.halloween-eyebrow){color:#d4c5dc;font-size:13px;line-height:1.8;max-width:340px}
.halloween-copy em{font-style:normal;color:#fff4eb}
.button-lime{background:var(--lime);color:#25112f;margin-top:23px;border:2px solid var(--lime);font-size:13px;min-height:49px;border-radius:10px}
.button-lime:hover{background:#e3ffa6;border-color:#e3ffa6}
.button-lime:focus-visible{outline-color:#ffbd48}
.destination{display:block;font-size:10px;color:#baa7c8;margin-top:12px;letter-spacing:.035em}
.halloween-art{position:relative;align-self:stretch;min-width:0;background:#391447}
.halloween-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--purple),transparent 15%);pointer-events:none}
.halloween-art img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.site-footer{display:flex;align-items:center;gap:30px;border-top:1px solid #082b3b26;padding-block:24px 30px}
.site-footer p{line-height:1.5}
.site-footer strong{display:block;font-family:Baloo,'Trebuchet MS',sans-serif;font-size:20px}
.site-footer p span{font-size:10px;color:#527079}
.wailani-link{margin-left:auto;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#082b3b50;padding:8px 0}
.wailani-link:hover{color:#007985}
.site-footer small{font-size:10px;color:#527079}
@media(min-width:1500px){.hero{padding-block:55px 145px}.island-top{background-size:100% auto;background-color:#b9eeea}}
@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.hero{gap:20px;padding-block:42px 115px}h1{font-size:clamp(52px,7vw,75px)}.hero-description{font-size:14px}.hero-art{margin-inline:15px}.logo-sticker{padding:14px}.hero-note{max-width:310px}.halloween-copy{padding:30px 25px}h2{font-size:56px}.halloween-eyebrow{font-size:8px}.button{font-size:12px;padding-inline:16px}.halloween-feature{grid-template-columns:1fr 1.15fr}}
@media(max-width:700px){
  html{scroll-padding-top:18px}
  .wrap{width:calc(100% - 40px)}
  .island-top{background-size:auto 100%;background-position:50% bottom}
  .site-header{padding-block:20px 4px;gap:12px}
  .logo-link{width:80px;border-radius:13px;padding:4px 8px}
  .header-link{font-size:11px;gap:8px;padding:10px 0}
  .header-link span{font-size:20px}
  .hero{grid-template-columns:1fr;text-align:center;gap:34px;padding-block:35px 100px}
  .hero-copy{max-width:470px;margin:auto}
  .hero .eyebrow{font-size:9px;letter-spacing:.13em}
  h1{font-size:clamp(48px,12.2vw,77px);margin:18px 0 23px;line-height:1.03;letter-spacing:-.04em}
  .hero-description{font-size:14px;max-width:360px;margin:auto;line-height:1.75}
  .desktop-break{display:none}
  .button-gold{margin-top:23px;font-size:12px;min-height:49px}
  .hero-note{font-size:10px;justify-content:center;max-width:320px;margin:18px auto 0;line-height:1.6}
  .hero-art{width:min(78%,325px);margin:5px auto 0}
  .brand-motto{margin-top:-28px;margin-bottom:-25px}
  .logo-sticker{padding:13px;border-radius:25%;box-shadow:6px 8px 0 #007e8f35;transform:rotate(3deg)}
  
  .spark-one{width:29px;left:-23px}
  .spark-two{width:22px;right:-16px}
  .spark-three{width:18px;left:-7px}
  .orbit{inset:-15px -11px}.orbit-two{inset:15px -22px}
  .featured-section{padding-block:31px 29px}
  .feature-heading{margin-bottom:15px}.feature-heading .eyebrow{font-size:9px;letter-spacing:.1em}
  .halloween-feature{grid-template-columns:1fr;border-radius:19px}
  .halloween-art{grid-row:1;aspect-ratio:3/2}
  .halloween-art img{height:100%;object-fit:contain}
  .halloween-art:after{background:linear-gradient(0deg,var(--purple),transparent 23%)}
  .halloween-copy{padding:14px 24px 26px}
  .halloween-eyebrow{font-size:8px}
  h2{font-size:52px;line-height:1;margin:14px 0}
  h2 br{display:none}h2 span:before{content:' '}
  .halloween-copy>p:not(.halloween-eyebrow){font-size:13px;max-width:none}
  .button-lime{margin-top:20px;font-size:12px;width:100%;gap:15px}
  .destination{text-align:center}
  .site-footer{flex-wrap:wrap;gap:16px 20px;padding-block:21px 25px}
  .site-footer small{width:100%;font-size:9px}
  .site-footer strong{font-size:18px}
  .wailani-link{font-size:11px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
