:root{--sand:#f4efe6;--stone:#e6ddcf;--white:#fbf9f4;--teak:#8a5a3b;--moss:#4f6b4a;--jungle:#2f4a35;--ink:#2b2a26;--mut:#6f6a60;--bd:rgba(80,64,44,.14)}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}
body{font-family:Jost,system-ui,sans-serif;font-weight:300;background:var(--sand);color:var(--ink);line-height:1.7;overflow-x:hidden}
a{color:inherit;text-decoration:none}.wrap{max-width:1180px;margin:0 auto;padding:0 28px}
h1,h2,h3,.logo{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;letter-spacing:.01em}
.grain{position:fixed;inset:0;z-index:-2;background:radial-gradient(ellipse at 15% 0%,rgba(138,90,59,.10),transparent 55%),radial-gradient(ellipse at 90% 100%,rgba(79,107,74,.12),transparent 55%),var(--sand)}
.frond{position:fixed;z-index:-1;width:520px;height:520px;opacity:.07;background:var(--jungle);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cpath d='M100 195C98 140 92 80 60 10M100 195c4-60 20-120 70-170' stroke='black' stroke-width='3' fill='none'/%3E%3Cg fill='black'%3E%3Cellipse cx='60' cy='60' rx='34' ry='9' transform='rotate(-35 60 60)'/%3E%3Cellipse cx='85' cy='110' rx='38' ry='10' transform='rotate(-20 85 110)'/%3E%3Cellipse cx='140' cy='70' rx='36' ry='9' transform='rotate(35 140 70)'/%3E%3Cellipse cx='125' cy='125' rx='40' ry='10' transform='rotate(25 125 125)'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cpath d='M100 195C98 140 92 80 60 10M100 195c4-60 20-120 70-170' stroke='black' stroke-width='3' fill='none'/%3E%3Cg fill='black'%3E%3Cellipse cx='60' cy='60' rx='34' ry='9' transform='rotate(-35 60 60)'/%3E%3Cellipse cx='85' cy='110' rx='38' ry='10' transform='rotate(-20 85 110)'/%3E%3Cellipse cx='140' cy='70' rx='36' ry='9' transform='rotate(35 140 70)'/%3E%3Cellipse cx='125' cy='125' rx='40' ry='10' transform='rotate(25 125 125)'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;animation:sway 22s ease-in-out infinite}
.f1{top:-120px;right:-140px}.f2{bottom:-160px;left:-160px;transform:rotate(180deg);animation-delay:-11s}
@keyframes sway{50%{translate:0 24px;rotate:4deg}}
.nav{position:sticky;top:0;z-index:9;display:flex;justify-content:space-between;align-items:center;padding:18px 32px;backdrop-filter:blur(12px);background:rgba(244,239,230,.78);border-bottom:1px solid var(--bd)}
.logo{font-size:1.7rem;color:var(--jungle)}.logo span,.amp{color:var(--teak);font-style:italic}
nav{display:flex;gap:30px}nav a{font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;color:var(--mut);transition:color .4s}nav a:hover{color:var(--jungle)}
.eyebrow{color:var(--moss);letter-spacing:.32em;text-transform:uppercase;font-size:.75rem;font-weight:400}.center{text-align:center}
.hero{min-height:min(86vh,820px);display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;padding-top:40px;padding-bottom:40px}
h1{font-size:clamp(3rem,7vw,5.8rem);line-height:1.02;font-weight:400;margin:.35em 0;color:var(--jungle)}
.lead{font-size:1.2rem;color:var(--mut);max-width:520px}.cta{display:flex;gap:16px;margin-top:2.4rem;flex-wrap:wrap}
.btn{padding:15px 30px;border-radius:999px;border:1px solid var(--teak);color:var(--teak);font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;transition:all .6s ease}
.btn:hover{background:var(--teak);color:var(--white)}.pri{background:var(--jungle);border-color:var(--jungle);color:var(--white)}.pri:hover{background:var(--moss);border-color:var(--moss)}
.hero-img{position:relative;aspect-ratio:4/5;border-radius:240px 240px 24px 24px;overflow:hidden;background:linear-gradient(160deg,var(--stone),#cdbfa8 60%,var(--moss));box-shadow:0 40px 80px -40px rgba(47,74,53,.45);animation:float 9s ease-in-out infinite}
.hero-img img{width:100%;height:100%;object-fit:cover;display:block}
.hero-img.noimg::after{content:"Aloha";position:absolute;inset:0;display:grid;place-items:center;font:italic 3rem "Cormorant Garamond",serif;color:var(--white)}
@keyframes float{50%{transform:translateY(-12px)}}
h2{font-size:clamp(2.2rem,4vw,3.2rem);margin:.4rem 0 3rem;color:var(--jungle);font-weight:400}
section{padding-top:5rem}
.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:36px}
.tile{aspect-ratio:1/1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px;background:var(--white);border:1px solid var(--bd);border-radius:28px;box-shadow:0 10px 30px -18px rgba(60,45,30,.25);transition:transform .7s cubic-bezier(.2,.8,.2,1),box-shadow .7s,border-color .7s}
.tile:hover,.tile:focus-visible{transform:translateY(-12px) scale(1.03);box-shadow:0 40px 70px -30px rgba(47,74,53,.45);border-color:rgba(79,107,74,.45)}
.lg{flex:1;width:100%;display:flex;align-items:center;justify-content:center;max-height:58%}
.lg img{max-width:78%;max-height:100%;object-fit:contain;transition:transform .7s}.tile:hover .lg img{transform:scale(1.05)}
.tile h3{font-size:2.1rem;color:var(--jungle);margin-top:1.4rem;line-height:1.1}.tile p{color:var(--mut);margin-top:.4rem;font-size:1.05rem}
.url{margin-top:1rem;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--teak)}
.posts{display:grid;gap:22px;max-width:820px;margin:0 auto}
.post{display:block;background:var(--white);border:1px solid var(--bd);border-radius:22px;padding:32px 36px;transition:transform .6s,box-shadow .6s}
.post:hover{transform:translateY(-6px);box-shadow:0 30px 60px -30px rgba(47,74,53,.4)}
.post time,.article time{color:var(--moss);font-size:.75rem;letter-spacing:.22em;text-transform:uppercase}.post h3{font-size:1.9rem;color:var(--jungle);margin:.3rem 0}.post p{color:var(--mut)}
.more{display:block;margin-top:1rem;color:var(--teak);font-size:.75rem;letter-spacing:.22em;text-transform:uppercase}
.pagehead{padding-top:5rem;text-align:center}.pagehead h1{font-size:clamp(2.6rem,6vw,4.4rem)}.pagehead .lead{margin:0 auto 2rem}
.article{max-width:760px;padding-top:4rem}.article h1{font-size:clamp(2.2rem,5vw,3.6rem)}.back{color:var(--teak);display:block;margin-bottom:1.4rem;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase}
.prose p,.prose ul{margin:1.1em 0;font-size:1.12rem}.prose h2,.prose h3{margin:2rem 0 .5rem}.prose a{color:var(--teak);text-decoration:underline}
.foot{padding:6rem 28px 3rem;color:var(--mut);text-align:center;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase}
.reveal{opacity:0;transform:translateY(28px);transition:opacity 1.4s ease,transform 1.4s ease}.reveal.in{opacity:1;transform:none}
.tile.reveal.in:hover{transform:translateY(-12px) scale(1.03)}
@media (max-width:820px){.hero{grid-template-columns:1fr;min-height:auto}.hero-img{max-width:420px;width:100%;margin:0 auto}.tiles{grid-template-columns:1fr;gap:24px}.tile{padding:28px}nav{gap:18px}.nav{padding:14px 20px}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

.verse{text-align:center;max-width:760px;margin:0 auto;padding:56px 24px 40px}.verse blockquote{margin:0}.verse .vtext{font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-weight:400;font-size:clamp(1.7rem,4.6vw,2.6rem);line-height:1.3;color:var(--jungle);margin:0 0 14px}.verse .vcite{display:block;font-family:"Cormorant Garamond",Georgia,serif;font-style:normal;font-variant:small-caps;letter-spacing:.18em;font-size:1.05rem;color:var(--teak)}.verse .vrule{display:block;width:56px;height:1px;background:var(--teak);opacity:.45;margin:28px auto}.verse .vabout{font-family:Jost,sans-serif;font-weight:300;font-size:clamp(1rem,2.6vw,1.12rem);line-height:1.8;color:var(--mut);margin:0 auto;max-width:560px}@media(max-width:600px){.verse{padding:40px 20px 28px}}

.fullhero{position:relative;margin-top:-83px;overflow:hidden;background:#d9cdb8}
.fullhero img{position:relative;width:100%;height:auto;display:block}
.fullhero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom,rgba(40,32,20,.45),rgba(40,32,20,.12) 35%,transparent 55%)}
.fh-text{position:absolute;z-index:2;left:0;right:0;top:calc(83px + 4vh);text-align:center;color:#fff;padding:0 20px;text-shadow:0 2px 24px rgba(0,0,0,.45),0 1px 3px rgba(0,0,0,.3)}
.fh-text h1{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:clamp(2.8rem,7.5vw,7rem);line-height:1;margin:0;color:#fff;letter-spacing:.01em}
.fh-text .amp{font-style:italic;color:#fff}
.fh-eyebrow{font:500 .8rem/1 inherit;letter-spacing:.3em;text-transform:uppercase;margin:0 0 18px;color:#fff;opacity:.95}
@media (max-width:820px){.fullhero{margin-top:-75px}.fh-text{top:calc(75px + 5vh)}}


.fh-verse{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:clamp(1.05rem,2vw,1.7rem);line-height:1.35;margin:clamp(12px,2.2vw,30px) auto 0;max-width:640px;color:#fff}.fh-cite{display:block;font-style:normal;font-variant:small-caps;letter-spacing:.18em;font-size:.72em;margin-top:6px;opacity:.95}
@media (max-width:820px){.fh-text{top:calc(62px + 1.5vh)}.fh-eyebrow{margin-bottom:10px;font-size:.7rem}.fh-verse{font-size:1rem;margin-top:10px}}
.fh-verse{font-size:clamp(1.05rem,2.2vw,2rem);text-shadow:0 2px 14px rgba(0,0,0,.55)}
@media (max-width:820px){.fh-text{top:calc(75px + 14px)}.fh-verse{font-size:1.05rem}}
