@font-face{font-family:Ponte;src:url(/f/ponte-light.woff2) format("woff2");font-weight:300;font-display:swap}
@font-face{font-family:Ponte;src:url(/f/ponte-lightitalic.woff2) format("woff2");font-weight:300;font-style:italic;font-display:swap}
@font-face{font-family:Ponte;src:url(/f/ponte-regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Ponte;src:url(/f/ponte-regularitalic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:Ponte;src:url(/f/ponte-medium.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Ponte;src:url(/f/ponte-mediumitalic.woff2) format("woff2");font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:Ponte;src:url(/f/ponte-bold.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:Ponte;src:url(/f/ponte-bolditalic.woff2) format("woff2");font-weight:700;font-style:italic;font-display:swap}
@font-face{font-family:"Albert Sans";src:url(/f/albert-sans-normal.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{--p:#fdfcf8;--ink:#1d2526;--m:#566062;--t:#1c4a4f;--tint:#e8efec;--l:#d7ddd8;--sans:"Albert Sans",system-ui,sans-serif;--ser:Ponte,Georgia,serif}
*{box-sizing:border-box}body{margin:0;background:var(--p);color:var(--ink);font:400 18px/1.65 var(--sans);overflow-x:clip}img{display:block;width:100%;height:auto;background:var(--tint)}a{color:var(--t);text-underline-offset:3px;text-decoration-thickness:1px}
h1,h2,h3{font-family:var(--ser);font-weight:500;line-height:1.16;margin:0;color:var(--t)}h1{font-size:clamp(38px,5.6vw,68px)}h2{font-size:clamp(27px,3vw,37px);margin:1.5em 0 .5em}h3{font-size:22px;margin:1.3em 0 .35em}p{margin:0 0 1em}figure{margin:0}figcaption{font-size:15px;color:var(--m);margin-top:6px}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:9}
.top{border-bottom:1px solid var(--l);background:var(--p)}.top-in{max-width:1240px;margin:auto;padding:14px 22px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 24px}.logo{font:600 25px/1.1 var(--ser);color:var(--t);text-decoration:none}.logo small{display:block;font:400 15px/1.3 var(--sans);color:var(--m);margin-top:3px}
.top nav{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:16px}.top nav a{color:var(--ink);text-decoration:none;padding:6px 0}.top nav a:hover{text-decoration:underline}
.w{max-width:1240px;margin:auto;padding:0 22px}.lead{font:400 clamp(21px,2.2vw,26px)/1.45 var(--ser);color:var(--ink);max-width:40em;margin:18px 0 0}
.intro{padding-top:clamp(40px,6vw,76px);padding-bottom:30px}.crumb{font-size:15px;color:var(--m);margin:0 0 14px}
.note{font-size:15.5px;color:var(--m);margin-top:14px}
.layout{display:grid;grid-template-columns:minmax(0,760px) minmax(0,340px);gap:clamp(30px,6vw,90px);padding-bottom:70px;align-items:start}.side{position:sticky;top:20px}.side .box{background:var(--tint);padding:20px 22px;margin-bottom:20px}.side h2{font-size:21px;margin:0 0 10px}.side ul{list-style:none;padding:0;margin:0;font-size:16.5px}.side li{margin:0 0 7px}
@media(max-width:920px){.layout{grid-template-columns:1fr}.side{position:static}}
.steps{list-style:none;counter-reset:s;padding:0;margin:26px 0 0;border-top:1px solid var(--l)}.steps li{counter-increment:s;border-bottom:1px solid var(--l)}.steps a{display:grid;grid-template-columns:62px 1fr;gap:12px;padding:20px 0;text-decoration:none;color:var(--ink)}.steps a:before{content:counter(s);font:500 38px/1 var(--ser);color:var(--t)}.steps b{display:block;font:500 25px/1.25 var(--ser);color:var(--t)}.steps span{display:block;margin-top:4px;color:var(--m)}.steps a:hover b{text-decoration:underline}
.t{width:100%;border-collapse:collapse;font-size:16.5px;margin:0 0 1.4em}.t th,.t td{text-align:left;padding:10px 12px 10px 0;border-bottom:1px solid var(--l);vertical-align:top}.t th{font-weight:600;color:var(--t);font-size:15px}.tw{overflow-x:auto}
.grid2{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 40px}@media(max-width:700px){.grid2{grid-template-columns:1fr 1fr}}
.v{border-top:1px solid var(--l);padding:16px 0}.v h3{margin:0 0 3px}.v p{margin:0;font-size:16.5px}.v .a{color:var(--m);font-size:15.5px}
.cta{background:var(--t);color:#f4f7f4;padding:clamp(40px,6vw,70px) 0}.cta a{color:#fff}.cta h2{color:#fff;margin-top:0}
.ft{border-top:1px solid var(--l);padding:36px 0;font-size:16px;color:var(--m)}

/* design pass 2026-11-05, his 16:41 text. A magazine, not a directory */
@view-transition{navigation:auto}
h1,h2,h3{font-weight:400;letter-spacing:-.005em}h1 em,h2 em,.st em,.out em{font-style:italic}h1{font-size:clamp(46px,6.2vw,92px);line-height:1}h2{font-size:clamp(34px,3.6vw,50px);line-height:1.08}h3{font-size:27px}.cap{text-transform:uppercase}
.lab{font:500 14.5px/1.4 var(--sans);letter-spacing:.17em;text-transform:uppercase;color:var(--t);margin:0 0 18px}.c{text-align:center}.tint{background:var(--tint)}.sec{padding-top:clamp(70px,9vw,130px);padding-bottom:clamp(70px,9vw,130px)}
.lk,.top nav a[aria-current]{font:italic 400 23px/1.3 var(--ser);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.big{font-size:clamp(46px,6.6vw,104px);line-height:.98;margin:0 0 26px}.st{font:400 clamp(34px,4.4vw,66px)/1.06 var(--ser);color:var(--t);margin:0 0 28px}
.top{position:sticky;top:0;z-index:20;background:rgba(253,252,248,.97)}.top-in{max-width:1400px}.logo{font:400 33px/1 var(--ser);letter-spacing:0;display:flex;gap:8px;align-items:baseline}.logo em{font-style:italic}.logo span{text-transform:uppercase;letter-spacing:.03em}
.mm{display:none}@media(max-width:940px){.top nav{display:none}.top-in{flex-wrap:nowrap}.logo{font-size:27px}.mm{display:block}.mm summary{list-style:none;cursor:pointer;font:italic 400 23px/44px var(--ser);text-decoration:underline;text-underline-offset:5px}.mm summary::-webkit-details-marker{display:none}.mm .sheet{position:absolute;left:0;right:0;top:100%;background:var(--p);border-bottom:1px solid var(--l);padding:6px 22px 18px;max-height:80vh;overflow:auto}.mm .sheet a{display:block;padding:10px 0;font:400 28px/1.2 var(--ser);text-decoration:none;color:var(--ink);border-bottom:1px solid var(--l)}}
.rise .rw{display:inline-block;overflow:hidden;vertical-align:top;padding:.05em .08em .16em;margin:-.05em -.08em -.16em}
.rise .wi{display:inline-block;font-style:inherit;transform:translateY(112%);transition:transform 1s cubic-bezier(.2,.75,.1,1);transition-delay:calc(var(--i)*45ms)}.rise.on .wi{transform:none}
.js figure.fade{clip-path:inset(0 0 100% 0);transition:clip-path 1.25s cubic-bezier(.2,.75,.1,1);overflow:hidden}.js figure.fade img{transform:scale(1.09);transition:transform 1.9s cubic-bezier(.2,.75,.1,1)}.js figure.fade.on{clip-path:inset(0)}.js figure.fade.on img{transform:none}
@media(prefers-reduced-motion:reduce){.rise .wi{transform:none;transition:none}.js figure.fade{clip-path:none;transition:none}.js figure.fade img{transform:none;transition:none}}
.cover{padding-top:clamp(36px,5vw,80px)}.cover h1{font-size:clamp(66px,14.4vw,230px);line-height:.92;text-align:center}.cover h1 em{font-size:.5em;display:block;line-height:1.05}.cover h1 .cap{display:block}.cover .lead{margin:28px auto clamp(40px,5vw,70px);font-family:var(--sans);font-size:clamp(18px,1.5vw,21px);color:var(--m);max-width:34em}
.col-a{position:relative;max-width:1024px;margin:0 auto;width:62%}.col-b{position:absolute;left:-19%;bottom:-11%;width:28%;z-index:2;box-shadow:0 0 0 10px var(--p)}.col-c{position:absolute;right:-17%;top:-8%;width:25%;z-index:2;box-shadow:0 0 0 10px var(--p)}@media(max-width:800px){.col-a{width:calc(100% - 44px);display:grid;grid-template-columns:1fr 1fr;gap:10px}.col-a>figure{grid-column:1/3}.col-b,.col-c{position:static;width:auto;box-shadow:none}.col-c{margin-top:34px}.chap{padding-top:70px}}
.chap{padding:clamp(90px,12vw,180px) 0 clamp(60px,8vw,120px)}.chap-g{display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(30px,6vw,100px);align-items:start;max-width:1400px}.chap-i{position:sticky;top:90px}.chap-i img{aspect-ratio:4/5;object-fit:cover;transition:opacity .35s}@media(max-width:800px){.chap-g{grid-template-columns:1fr}.chap-i{display:none}}
.steps{margin:0}.steps a{grid-template-columns:64px 1fr;padding:22px 0;transition:padding .4s}.steps a:before{content:none}.steps a:hover{padding-left:14px}.steps a>i{font:italic 400 44px/1 var(--ser);color:var(--t)}.steps b{font:400 clamp(30px,3.3vw,48px)/1.08 var(--ser);color:var(--t)}.steps a:hover b{font-style:italic}.steps span{display:block;margin-top:6px;color:var(--m);font-size:17px}
.lp{padding:clamp(70px,9vw,130px) 0}.lp-g{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(30px,5vw,80px);align-items:center;max-width:1400px}@media(max-width:800px){.lp-g{grid-template-columns:1fr}}
.pick{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 26px}.pick button{appearance:none;background:none;border:1px solid var(--t);border-radius:99px;font:italic 400 21px/1 var(--ser);color:var(--t);min-width:62px;min-height:44px;padding:0 14px;cursor:pointer;transition:background .25s,color .25s}.pick button[aria-pressed=true]{background:var(--t);color:#fff}
.out{font:400 clamp(27px,2.9vw,41px)/1.16 var(--ser);max-width:21em;margin:0 0 20px;color:var(--ink)}.out em{color:var(--t)}
.tool{margin:0 0 40px}.tool .sq{list-style:none;padding:0;margin:8px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:0 28px}.sq li{display:flex;flex-direction:column;border-top:1px solid var(--l);padding:11px 0;font:400 24px/1.15 var(--ser);transition:opacity .35s}.sq li span{font:400 15.5px/1.4 var(--sans);color:var(--m);margin-top:3px}.sq li[hidden]{display:none}.layout .tool .big{font-size:clamp(42px,5vw,70px)}.layout .tool .sq{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
.who{padding:0 0 clamp(70px,9vw,130px)}.who-g{display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(30px,6vw,100px);align-items:center;max-width:1400px}.who-i{position:relative;padding:0 18% 12% 0}.who-s{position:absolute;right:0;bottom:0;width:38%;box-shadow:0 0 0 10px var(--p)}.who p:not(.st):not(.lab){font-size:19px;max-width:32em}@media(max-width:800px){.who-g{grid-template-columns:1fr}}
.intro.hasp{display:grid;grid-template-columns:1.7fr 1fr;gap:clamp(30px,5vw,80px);align-items:center;max-width:1240px;padding-bottom:clamp(40px,5vw,70px)}.intro .lead{font-family:var(--sans);font-size:clamp(19px,1.6vw,22px);color:var(--m)}@media(max-width:800px){.intro.hasp{grid-template-columns:1fr}.intro.hasp figure{max-width:70%}}
.side .box{background:none;border-top:1px solid var(--l);padding:16px 0 0}.side{top:90px}.side ul{font:400 23px/1.2 var(--ser)}.side li{margin:0 0 9px}.side li a{text-decoration:none;color:var(--ink)}.side li a:hover,.side a[aria-current]{font-style:italic;color:var(--t);text-decoration:underline;text-underline-offset:4px}.side .box h2{font:500 14.5px/1.4 var(--sans);letter-spacing:.17em;text-transform:uppercase}.side p{font-size:16.5px}
.cta{display:grid;grid-template-columns:1fr 1fr;padding:0;background:var(--t);color:#f4f7f4;align-items:stretch}.cta-t{padding:clamp(50px,7vw,120px) clamp(22px,6vw,100px);align-self:center}.cta .lab,.cta .big,.cta a{color:#fff}.cta .big{font-size:clamp(42px,5.4vw,84px)}.cta-i figure,.cta-i img{height:100%}.cta-i img{object-fit:cover;max-height:90vh}.cta .lk{font-size:25px}@media(max-width:800px){.cta{grid-template-columns:1fr}}
.ft{padding:0 0 36px;border:0}.ft-row{display:grid;grid-template-columns:repeat(6,1fr);margin-bottom:40px}.ft-row img{aspect-ratio:1/1.2;object-fit:cover}@media(max-width:640px){.ft-row{grid-template-columns:repeat(3,1fr)}}.ft-m{font:400 clamp(44px,11.5vw,180px)/1 var(--ser);text-align:center;color:var(--t);margin:0 0 26px;white-space:nowrap}.ft-m em{font-style:italic}.ft-m span{text-transform:uppercase}
.ft-m{font-size:clamp(30px,8.6vw,150px)}
.cover h1{line-height:1}.cover h1 .cap{margin-top:.03em}

/* footer, map, more photos. Vitor 2026-11-05 "you don't really have a footer", "some sort of map", "take inspiration from the vow front" */
.ft{background:var(--t);color:#e6eee9;padding:0 0 34px;margin-top:0}.ft a{color:#fff;text-decoration:none}.ft a:hover{text-decoration:underline;text-underline-offset:4px}.ft-row{margin-bottom:clamp(44px,6vw,80px)}
.ft-g{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:clamp(26px,4vw,60px);padding-bottom:clamp(36px,5vw,60px);border-bottom:1px solid rgba(255,255,255,.28)}.ft a.ft-m,.ft-m{display:block;font:400 clamp(38px,4.4vw,62px)/1 var(--ser);color:#fff;margin:0 0 16px}.ft-m em{font-style:italic}.ft-m span{text-transform:uppercase}.ft h2{font:500 14.5px/1.4 var(--sans);letter-spacing:.17em;text-transform:uppercase;color:#d8e4dd;margin:0 0 14px}.ft ul{list-style:none;margin:0;padding:0;font-size:16.5px}.ft li{margin:0 0 9px}.ft-n{font-size:15px;color:#d8e4dd;margin:22px 0 0;max-width:62em}
@media(max-width:800px){.ft-g{grid-template-columns:1fr 1fr}.ft-b{grid-column:1/3}}
.pband{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:36px 0 10px}.pband img{aspect-ratio:3/4;object-fit:cover}.ar img,figure.ar img{border-radius:999px 999px 0 0}.mapcta{margin:0 0 20px}
.mos{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(8px,1vw,16px)}.mos figure{grid-column:span 4;overflow:hidden}.mos figure img{aspect-ratio:3/4;object-fit:cover}.mos figure.wd{grid-column:span 12}.mos figure.wd img{aspect-ratio:16/8}.mos figure.hf{grid-column:span 6}.mos figure.hf img{aspect-ratio:4/5}
@media(max-width:700px){.mos figure,.mos figure.hf{grid-column:span 6}.mos figure.wd{grid-column:span 12}.mos figure.wd img{aspect-ratio:3/2}}
.lit-s{background:var(--t);color:#fff;padding:clamp(90px,13vw,190px) 0}.lit{font:400 clamp(32px,4.6vw,68px)/1.14 var(--ser);max-width:1040px;margin:0 auto;text-align:center;color:#fff}.lit em{font-style:italic}.js .lit span.lw{opacity:.24;transition:opacity .3s linear}.js .lit span.lw.lt{opacity:1}
@media(prefers-reduced-motion:reduce){.js .lit span.lw{opacity:1}}
.swp{position:relative;aspect-ratio:3/4;max-width:520px;width:100%;justify-self:center;border-radius:999px 999px 0 0;overflow:hidden;background:var(--tint)}.swp span{position:absolute;inset:0;clip-path:inset(100% 0 0 0);transition:clip-path 1.2s cubic-bezier(.2,.75,.1,1);z-index:1}.swp span.on{clip-path:inset(0);z-index:2}.swp span.was{clip-path:inset(0);z-index:1}.swp img{width:100%;height:100%;object-fit:cover}html:not(.js) .swp span:first-child{clip-path:inset(0)}@media(prefers-reduced-motion:reduce){.swp span{transition:none}}
.mapt{padding:clamp(70px,9vw,130px) 0}.mapt-g{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(30px,6vw,100px);align-items:center;max-width:1400px}@media(max-width:800px){.mapt-g{grid-template-columns:1fr}}
.mp{padding:clamp(30px,5vw,60px) 0 clamp(50px,6vw,90px)}.mp-h h1{margin-bottom:6px}.mp-f{margin:24px 0 22px}.mp-f button{font-size:19px;padding:0 16px}
.mp-g{display:grid;grid-template-columns:minmax(0,1fr) 340px;max-width:1500px;margin:0 auto;padding:0 22px;gap:18px;align-items:stretch}#vmap{height:min(76vh,780px);min-height:440px;background:var(--tint);border-radius:2px;z-index:1}#vmap .leaflet-tile-pane{filter:saturate(.62) sepia(.14) contrast(.98)}
.mp-l{list-style:none;margin:0;padding:0;max-height:min(76vh,780px);overflow-y:auto;border-top:1px solid var(--l)}.mp-l li[hidden]{display:none}.mp-l button{appearance:none;background:none;border:0;border-bottom:1px solid var(--l);width:100%;text-align:left;padding:11px 8px;cursor:pointer;color:var(--ink);font:400 16px/1.3 var(--sans)}.mp-l button:hover,.mp-l button:focus-visible{background:var(--tint)}.mp-l b{display:block;font:400 21px/1.2 var(--ser);color:var(--t)}.mp-l span{font-size:15px;color:var(--m)}
@media(max-width:900px){.mp-g{grid-template-columns:1fr}.mp-l{max-height:none;display:grid;grid-template-columns:1fr 1fr}#vmap{height:62vh}}
.vp i{display:block;width:22px;height:22px;border-radius:50%;background:#c9a24a;border:3px solid #fff;box-shadow:0 1px 6px rgba(0,0,0,.45);transition:transform .15s}.vp:hover i{transform:scale(1.25)}
.leaflet-popup-content{margin:12px 14px;font:400 15px/1.35 var(--sans);color:var(--ink)}.leaflet-popup-content img{width:100%;height:140px;object-fit:cover;margin:0 0 9px;border-radius:2px}.leaflet-popup-content b{display:block;font:400 21px/1.2 var(--ser);color:var(--t);margin-bottom:4px}.leaflet-popup-content span{display:block;margin-bottom:4px;color:var(--m)}.leaflet-popup-content .vl{display:flex;flex-wrap:wrap;gap:4px 12px;margin:8px 0 0}.leaflet-popup-content a{color:var(--t);text-decoration:underline;min-height:24px}
