@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600&display=swap');
:root{--ink:#102f2b;--deep:#082821;--green:#164d3f;--mint:#e8f1eb;--cream:#f6f4ec;--line:#bccdc2;--pink:#e871a4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:400 1rem/1.65 'DM Sans',Arial,sans-serif}a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--pink);outline-offset:4px}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:#fff;z-index:99;padding:.5rem}header{background:var(--deep);color:#fff;position:sticky;top:0;z-index:10;border-bottom:1px solid #ffffff33}.nav{max-width:1200px;margin:auto;padding:1rem 1.5rem;display:flex;align-items:center;gap:2rem}.brand{font-weight:700;line-height:1.05;text-decoration:none;font-size:1.4rem;letter-spacing:-.045em;min-width:125px}.brand small{display:block;font:600 .65rem/1.5 'DM Sans',sans-serif;letter-spacing:.22em;text-transform:uppercase;color:#e09eb9}.links{display:flex;gap:1.3rem;align-items:center;flex:1}.links a{text-decoration:none;font-size:.9rem}.links a:hover{text-decoration:underline}.book,.button{display:inline-flex;align-items:center;justify-content:center;background:var(--pink);color:var(--deep);text-decoration:none;font-weight:700;border-radius:2px;padding:.78rem 1.25rem;line-height:1.2}.book:hover,.button:hover{background:#f2a0c4}.outline{background:transparent;color:var(--ink);border:1px solid var(--ink)}.outline:hover{background:var(--mint)}.social{border:1px solid #ffffffaa;color:#fff;text-decoration:none;padding:.65rem .85rem;font-size:.9rem;line-height:1.2}.social:hover{background:#ffffff20}.menu{display:none;background:transparent;border:1px solid #fff;color:#fff;padding:.45rem .7rem;font:inherit}.hero{position:relative;background:var(--deep);color:#fff;min-height:575px;display:grid;align-items:center;overflow:hidden}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#06261e 0%,#06261eea 35%,#06261e28 100%),url('/assets/hawaii-skin.png') center right/cover}.hero-inner{position:relative;max-width:1200px;width:100%;margin:auto;padding:5rem 1.5rem}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.75rem;font-weight:700;color:#cf91ae;margin:0 0 1.2rem}.hero h1,.page-intro h1{font:500 clamp(3.2rem,6.7vw,6.4rem)/1.04 'Playfair Display',Georgia,serif;letter-spacing:-.045em;max-width:820px;margin:0}.hero p{max-width:610px;font-size:1.18rem;line-height:1.55;margin:1.6rem 0 2rem}.actions{display:flex;gap:.75rem;flex-wrap:wrap}.hero .outline{color:#fff;border-color:#fff}.hero .outline:hover{background:#ffffff20}.section{max-width:1200px;margin:auto;padding:5rem 1.5rem}.section h2{font:500 clamp(2.2rem,4vw,3.6rem)/1.16 'Playfair Display',Georgia,serif;letter-spacing:-.035em;margin:.3rem 0 1.2rem}.lede{font-size:1.18rem;max-width:770px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2.4rem}.card{border:1px solid var(--line);background:#fff;padding:2rem;display:flex;flex-direction:column;min-height:270px}.card .num{font-size:.78rem;color:#6a897c;font-weight:700;letter-spacing:.16em}.card h3{font:500 1.75rem/1.2 'Playfair Display',Georgia,serif;margin:1.2rem 0 .6rem}.card p{margin:0 0 1rem}.card a{margin-top:auto;font-weight:700;text-decoration-thickness:1px;text-underline-offset:4px}.band{background:var(--green);color:#fff}.band .section{display:grid;grid-template-columns:.8fr 1.2fr;gap:5rem}.band .eyebrow{color:#efb4cd}.band p{max-width:680px}.quote{font:500 clamp(2rem,4vw,3.5rem)/1.22 'Playfair Display',Georgia,serif;margin:0}.small-link{font-weight:700;text-underline-offset:4px}.page-intro{background:var(--deep);color:#fff;padding:5rem max(1.5rem,calc((100vw - 1152px)/2)) 5.5rem}.page-intro h1{max-width:1000px}.page-intro p:last-child{max-width:750px;font-size:1.2rem}.content{max-width:860px;margin:auto;padding:4rem 1.5rem 6rem}.content h2{font:500 2.2rem/1.2 'Playfair Display',Georgia,serif;margin:3rem 0 .75rem}.content h3{font-size:1.2rem;margin:2rem 0 .4rem}.content p,.content li{font-size:1.06rem}.content ul{padding-left:1.5rem}.note{background:var(--mint);border-left:4px solid var(--green);padding:1.25rem 1.5rem;margin:2rem 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}.split>div{border-top:1px solid var(--line)}.cta{background:var(--mint);padding:2.5rem;margin-top:3rem}.cta h2{margin-top:0}.fine{font-size:.88rem;color:#4c6960}footer{background:var(--deep);color:#fff;padding:3.5rem 1.5rem}footer .foot{max-width:1200px;margin:auto;display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap}footer a{color:#fff}footer p{max-width:420px}footer nav{display:flex;flex-direction:column;gap:.35rem}.pill{border:1px solid var(--line);display:inline-block;padding:.2rem .7rem;border-radius:99px;font-size:.84rem;margin:.2rem .3rem .2rem 0}.topics{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:2rem}.topic{border-top:1px solid var(--line);padding:1.3rem 0}.topic h3{font:500 1.5rem/1.2 'Playfair Display',Georgia,serif;margin:0 .0 .6rem}@media(max-width:800px){.nav{flex-wrap:wrap;gap:1rem}.nav>.book{margin-left:auto}.menu{display:block}.links{display:none;width:100%;order:4;flex-direction:column;align-items:flex-start;padding:.7rem 0}.links.open{display:flex}.hero{min-height:600px}.hero:before{background:linear-gradient(90deg,#06261eef,#06261e88),url('/assets/hawaii-skin.png') center/cover}.grid,.band .section,.topics{grid-template-columns:1fr}.band .section{gap:1rem}.split{grid-template-columns:1fr}}@media(max-width:430px){.brand{font-size:1.2rem;min-width:100px}.nav>.book{font-size:.8rem;padding:.6rem .7rem}.hero h1,.page-intro h1{font-size:3rem}.section{padding:3.8rem 1.25rem}.hero-inner{padding:4rem 1.25rem}}
@media(max-width:430px){.nav{gap:.55rem}.nav .social{order:5;font-size:.8rem;padding:.5rem .7rem}.nav>.book{font-size:.8rem}}

@media(min-width:801px) and (max-width:1200px){.nav{flex-wrap:wrap;gap:1rem}.links{order:4;flex-basis:100%;justify-content:center;flex-wrap:wrap}}
@media(min-width:1201px){.nav{gap:1rem;max-width:1440px}.links{gap:1rem;flex-wrap:wrap}}
