:root{--t:#289383;--t2:#009080;--td:#155f55;--ink:#17312d;--mut:#5b6b68;--bg:#fff;--g:#f3f6f5;--g2:#e6eceb;--r:18px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,sans-serif}
img{max-width:100%;display:block;height:auto}a{color:var(--td)}
.w{max-width:1120px;margin:0 auto;padding:0 20px}
h1,h2,h3{font-family:"Iowan Old Style","Palatino Linotype",Georgia,serif;font-weight:500;letter-spacing:-.01em;line-height:1.12;margin:0 0 .5em}
h1{font-size:clamp(2.1rem,7vw,3.6rem)}h2{font-size:clamp(1.7rem,5vw,2.5rem)}h3{font-size:1.25rem}
.ey{font:600 .72rem/1 inherit;font-family:inherit;letter-spacing:.16em;text-transform:uppercase;color:var(--t2);margin:0 0 14px;display:flex;align-items:center;gap:10px}
.ey:before{content:"";width:22px;height:1px;background:currentColor}
.lead{font-size:1.08rem;color:var(--mut);max-width:38em}
header.top{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.9);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--g2)}
header.top .w{display:flex;align-items:center;justify-content:space-between;height:62px}
header.top img{width:168px}
nav a{color:var(--ink);text-decoration:none;font-size:.9rem;margin-left:22px}nav .hide{display:none}
@media(min-width:860px){nav .hide{display:inline}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:0 22px;border-radius:99px;font-weight:600;font-size:.98rem;text-decoration:none;border:1px solid transparent;transition:transform .2s,background .2s}
.btn:active{transform:scale(.98)}.btn svg{width:19px;height:19px;flex:none}
.bp{background:var(--t);color:#fff}.bp:hover{background:var(--td)}
.bs{background:#fff;color:var(--td);border-color:#bfd9d4}.bs:hover{border-color:var(--t)}
.sm{min-height:40px;padding:0 16px;font-size:.88rem;margin-left:18px}
.ctas{display:flex;flex-wrap:wrap;gap:10px}
.hero{background:linear-gradient(180deg,#fff 0%,var(--g) 100%);padding:34px 0 56px;overflow:hidden}
.hero .w{display:grid;gap:34px}
.hero .ph{position:relative;border-radius:26px;overflow:hidden;aspect-ratio:4/5;max-height:620px;background:var(--g2)}
.hero .ph img{width:100%;height:100%;object-fit:cover;object-position:50% 22%}
.badge{position:absolute;left:14px;bottom:14px;right:14px;background:rgba(255,255,255,.93);backdrop-filter:blur(8px);border-radius:14px;padding:12px 14px;display:flex;gap:12px;align-items:center;font-size:.86rem;line-height:1.35;text-decoration:none;color:var(--ink)}
.badge b{font-size:1.5rem;font-family:Georgia,serif;font-weight:500;color:var(--td)}
.stars{color:#c99a2e;letter-spacing:2px}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--g2);border:1px solid var(--g2);border-radius:var(--r);overflow:hidden;margin-top:28px}
.facts div{background:#fff;padding:14px 16px;font-size:.85rem;color:var(--mut)}.facts strong{display:block;color:var(--ink);font-size:.98rem}
@media(min-width:900px){.hero{padding:70px 0 90px}.hero .w{grid-template-columns:1.05fr .95fr;align-items:center;gap:64px}}
section{padding:72px 0}.alt{background:var(--g)}
.grid{display:grid;gap:14px}@media(min-width:760px){.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}}
.card{background:#fff;border:1px solid var(--g2);border-radius:var(--r);padding:24px}
.tr{scroll-margin-top:80px}.tr .n{font:500 .78rem/1 ui-monospace,Menlo,monospace;color:var(--t2);margin-bottom:18px;display:block}
.tr p{color:var(--mut);margin:.3em 0 0;font-size:.95rem}
.about{display:grid;gap:34px;align-items:center}@media(min-width:900px){.about{grid-template-columns:.85fr 1.15fr;gap:64px}}
.about .ph{border-radius:24px;overflow:hidden;aspect-ratio:4/5}.about .ph img{width:100%;height:100%;object-fit:cover}
ul.cred{list-style:none;padding:0;margin:22px 0;border-top:1px solid var(--g2)}
ul.cred li{padding:13px 0 13px 28px;border-bottom:1px solid var(--g2);position:relative;font-size:.96rem}
ul.cred li:before{content:"";position:absolute;left:4px;top:21px;width:9px;height:9px;border-radius:50%;border:2px solid var(--t)}
.gal{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.gal figure{margin:0;border-radius:16px;overflow:hidden;background:var(--g2);position:relative}
.gal img{width:100%;height:100%;object-fit:cover;aspect-ratio:3/4}
.gal .wide{grid-column:span 2}.gal .wide img{aspect-ratio:16/9}
.gal figcaption{position:absolute;left:10px;bottom:10px;background:rgba(255,255,255,.92);border-radius:99px;padding:5px 11px;font-size:.74rem}
@media(min-width:900px){.gal{grid-template-columns:repeat(4,1fr)}.gal .wide{grid-column:span 2;grid-row:span 1}}
.rv{display:flex;flex-direction:column}.rv blockquote{margin:12px 0 18px;font-size:.96rem;white-space:pre-line;flex:1}
.rv footer{font-size:.84rem;color:var(--mut);border-top:1px solid var(--g2);padding-top:12px}.rv footer b{color:var(--ink);display:block}
.scroller{display:grid;grid-auto-flow:column;grid-auto-columns:86%;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;-webkit-overflow-scrolling:touch}
.scroller>*{scroll-snap-align:start}@media(min-width:900px){.scroller{grid-auto-flow:row;grid-template-columns:repeat(3,1fr);overflow:visible}.scroller>*:nth-child(1),.scroller>*:nth-child(2){grid-column:span 1}}
.cta{background:linear-gradient(135deg,var(--t2),var(--td));color:#fff;border-radius:28px;padding:40px 26px}
.cta h2{color:#fff}.cta p{color:#d9f0ec}.cta .bs{border-color:transparent}.cta .bp{background:#fff;color:var(--td)}
.info dt{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);margin-top:18px}.info dd{margin:4px 0 0;font-size:1.02rem}
table.h{width:100%;border-collapse:collapse;font-size:.95rem}table.h td{padding:9px 0;border-bottom:1px solid var(--g2)}table.h td+td{text-align:right;color:var(--mut)}
.map{border-radius:var(--r);overflow:hidden;border:1px solid var(--g2);aspect-ratio:4/3;background:var(--g2)}.map iframe{width:100%;height:100%;border:0}
.note{font-size:.84rem;color:var(--mut)}
footer.ft{background:var(--g);border-top:1px solid var(--g2);padding:40px 0 110px;font-size:.88rem;color:var(--mut)}
footer.ft img{width:150px;margin-bottom:14px}footer.ft a{color:var(--mut)}
.fab{position:fixed;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));z-index:30;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--g2);border-radius:99px;box-shadow:0 10px 30px rgba(21,95,85,.14)}
.fab .btn{min-height:46px;padding:0 10px;font-size:.9rem}
@media(min-width:900px){.fab{display:none}footer.ft{padding-bottom:40px}}
.js .rvl{opacity:0;transform:translateY(16px);transition:opacity .7s,transform .7s}.js .rvl.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rvl{opacity:1;transform:none;transition:none}}
.prose{max-width:720px}.prose h2{font-size:1.4rem;margin-top:1.6em}.prose p,.prose li{color:#3c4d4a}
.hx h1 em{font-style:italic;color:var(--t2)}
.hx .ph{box-shadow:0 30px 60px -30px rgba(21,95,85,.45)}
.rate{display:inline-flex;gap:14px;align-items:center;margin-top:24px;text-decoration:none;color:var(--mut);font-size:.88rem;line-height:1.35;padding:12px 18px 12px 14px;background:#fff;border:1px solid var(--g2);border-radius:18px}
.rate b{color:var(--ink)}.rate .big{font:500 2.4rem/1 Georgia,serif;color:var(--td);padding-right:14px;border-right:1px solid var(--g2)}
.chip{position:absolute;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:14px;padding:10px 14px;font-size:.76rem;line-height:1.3;color:var(--mut);box-shadow:0 10px 30px rgba(21,95,85,.16);animation:fl 6s ease-in-out infinite}
.chip b{display:block;color:var(--td);font-size:.95rem}.c1{left:12px;bottom:14px;max-width:62%}.c2{right:12px;top:14px;animation-delay:-3s}
@keyframes fl{50%{transform:translateY(-6px)}}
.proof{background:#fff;padding:38px 0 6px}
.proof .w{display:grid;grid-template-columns:repeat(2,1fr);position:relative;row-gap:26px}
.proof .w div{position:relative;display:flex;flex-direction:column;gap:4px;padding:18px 12px 0 0;border-top:1px solid #bcd8d3}
.proof .w div:before{content:"";position:absolute;left:0;top:-4px;width:7px;height:7px;border-radius:50%;background:var(--t)}
.proof b{font:500 2.1rem/1.05 Georgia,serif;color:var(--td);order:2}.proof span{order:1;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
@media(min-width:760px){.proof .w{grid-template-columns:repeat(4,1fr);row-gap:0}}
.tick{background:#fff;padding:22px 0 30px}
.tt{display:flex;flex-wrap:wrap;align-items:center;column-gap:14px;row-gap:6px;padding-bottom:16px;border-bottom:1px solid #bcd8d3;font-size:.92rem;color:var(--td)}
.tt i{font-style:normal;color:var(--t)}
@media(prefers-reduced-motion:reduce){.chip{animation:none}}
.spec{padding:56px 0}.sp{padding:22px 0;border-top:2px solid var(--t)}.sp span{font:500 .78rem ui-monospace,Menlo,monospace;color:var(--t2)}.sp h3{margin:10px 0 6px}.sp p{color:var(--mut);margin:0;font-size:.95rem}
.route{display:grid;grid-template-columns:1fr;gap:10px;margin-top:22px;min-width:0}
.rt{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:12px;align-items:center;min-height:64px;padding:12px 18px;border-radius:16px;background:#fff;border:1px solid #bfd9d4;text-decoration:none;color:var(--td);min-width:0}
.rt b{font-size:1.02rem;line-height:1.25;white-space:nowrap}.rt .d{grid-row:2;font-size:.82rem;opacity:.8;line-height:1.3}.rt em{grid-row:1/3;grid-column:2;font-style:normal;font-size:1.1rem}
.rt:first-child{background:var(--t);border-color:var(--t);color:#fff}.rt:hover{border-color:var(--t)}
@media(min-width:560px){.route{grid-template-columns:1fr 1fr}}
.wa2 .btn{width:100%}
.hero .w>div{min-width:0}
