:root{--ink:#17323b;--navy:#102f38;--deep:#09252e;--muted:#64747a;--paper:#f8f6f1;--white:#fff;--line:#dce2de;--accent:#e6ab6c;--mint:#e5efe9;--serif:Georgia,'Times New Roman',serif;--sans:Inter,'Segoe UI',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit}a:hover{color:#a76a35}img{display:block;max-width:100%}button,input{font:inherit}button{cursor:pointer}.shell{width:min(100% - 64px,1240px);margin-inline:auto}.eyebrow{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.19em;color:#a46c3d}.eyebrow.light{color:#f3c994}.site-header{position:relative;z-index:100;background:var(--white);box-shadow:0 2px 20px #102f3810}.header-inner{height:84px;display:flex;align-items:center;gap:30px}.brand{display:inline-flex;align-items:center;gap:9px;text-decoration:none;color:var(--navy);font-weight:800;font-size:1.5rem;letter-spacing:-.07em;white-space:nowrap;line-height:1}.brand:hover{color:var(--navy)}.brand-mark{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:var(--navy);color:var(--accent);font-size:1.8rem;font-weight:400;line-height:1}.brand-accent{color:#ba7a43}.brand small{font-size:.52em;letter-spacing:0}.desktop-nav{display:flex;align-items:center;gap:24px;margin-left:auto}.desktop-nav a{text-decoration:none;font-size:.83rem;font-weight:700;white-space:nowrap;transition:color .2s}.desktop-nav a.active,.desktop-nav a:hover{color:#b87943}.header-cta{padding:11px 15px;background:var(--navy);color:#fff;border-radius:5px;text-decoration:none;font-size:.8rem;font-weight:800;white-space:nowrap}.header-cta:hover{color:#fff;background:#24515c}.header-cta span{margin-left:9px}.menu-toggle,.mobile-menu{display:none}
.home-hero{height:min(690px,70vw);min-height:530px;position:relative;overflow:hidden;background:var(--deep);color:#fff}.hero-slide{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .7s ease}.hero-slide.is-active{opacity:1;pointer-events:auto}.hero-slide-image,.hero-slide-image figure,.hero-slide-image img{position:absolute;inset:0;width:100%;height:100%;margin:0}.hero-slide-image img{object-fit:cover}.hero-slide-image figcaption{position:absolute;right:25px;bottom:18px;z-index:4;color:#fff}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,28,37,.82) 0%,rgba(4,31,40,.63) 42%,rgba(0,18,28,.1) 100%),linear-gradient(0deg,#061e2873,transparent 35%)}.hero-copy{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;padding-bottom:40px}.hero-copy .hero-title{max-width:760px;font:normal clamp(3.5rem,6.5vw,6.6rem)/1.04 var(--serif);letter-spacing:-.055em;margin:19px 0}.hero-copy p{font-size:1.17rem;max-width:530px;margin:0 0 31px;color:#f6f4ee}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 21px;border-radius:5px;text-decoration:none;font-size:.86rem;font-weight:800;border:1px solid transparent;line-height:1.25;transition:transform .18s,background .18s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--accent);color:var(--navy)}.button-primary:hover{background:#f2bf87;color:var(--navy)}.button-ghost{color:#fff;border-color:#fff9;background:#fff1}.button-ghost:hover{background:#fff2;color:#fff}.button-dark{background:var(--navy);color:#fff}.button-dark:hover{background:#28545e;color:#fff}.button-light{background:var(--accent);color:var(--navy)}.button-light:hover{color:var(--navy);background:#f4cc9c}.button-outline{background:transparent;border-color:#b4c5c3;color:var(--ink)}.button-outline:hover{background:#edf3ef}.hero-controls{position:absolute;z-index:6;bottom:22px;left:0;right:0;display:flex;align-items:center;gap:13px;pointer-events:none}.hero-controls>*{pointer-events:auto}.hero-controls>button{width:40px;height:40px;border:1px solid #fff8;border-radius:50%;background:#fff2;color:#fff}.hero-controls>button:hover{background:#fff5}.hero-counter{font-size:.82rem;letter-spacing:.12em}.hero-counter b{font-weight:800}.hero-dots{display:flex;gap:7px;margin-left:12px}.hero-dots button{width:19px;height:4px;padding:0;border:0;border-radius:4px;background:#ffffff80}.hero-dots button.is-active{width:32px;background:#fff}.photo-credit{font-size:10px;line-height:1.25;letter-spacing:.01em;color:#5f7176}.photo-credit a{color:inherit}.hero-slide .photo-credit,.subhero .photo-credit,.destination-tile .photo-credit{color:#fff;text-shadow:0 1px 5px #000;position:absolute;right:18px;bottom:12px;z-index:5}.hero-slide .photo-credit{bottom:18px}.photo-figure{margin:0;position:relative}.quickbar{background:var(--navy);color:#fff}.quickbar-inner{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:75px}.quickbar span{font-weight:800;font-size:.7rem;letter-spacing:.14em;color:var(--accent);white-space:nowrap}.quickbar a{font-weight:700;font-size:.85rem;color:#fff;text-decoration:none}.quickbar a:hover{color:var(--accent)}.quickbar b{font-size:1.1rem;margin-left:7px;font-weight:400}.intro-head{text-align:center;padding-top:104px;padding-bottom:80px}.intro-head h1,.section-heading h2,.feature-text h2,.welcome-side h2,.calc-intro h2{font:normal clamp(2.7rem,4.8vw,4.7rem)/1.08 var(--serif);letter-spacing:-.05em;margin:15px 0 18px}.intro-head h1 em{font-style:italic;color:#b67a47}.intro-head p{max-width:610px;margin:0 auto;font-size:1.12rem;color:var(--muted)}.feature-split{display:grid;grid-template-columns:1.1fr .9fr;min-height:470px;background:#e8eee7}.feature-split>div:first-child{position:relative;min-height:400px}.feature-split .photo-figure,.feature-split img{width:100%;height:100%;object-fit:cover}.feature-text{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:65px 8vw 65px 65px}.feature-text h2{font-size:clamp(2.5rem,4vw,4rem)}.feature-text p{color:#53676b;font-size:1.06rem;max-width:440px;margin:0 0 27px}.section{padding-top:105px;padding-bottom:105px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:37px}.section-heading h2{font-size:clamp(2.4rem,4vw,4.2rem);margin:12px 0 0}.text-link{font-size:.86rem;text-decoration:none;font-weight:800;white-space:nowrap;color:#a86934}.text-link:hover{color:var(--navy)}.text-link b{font-weight:500;margin-left:7px}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.story-card{display:block;background:#fff;text-decoration:none;color:var(--ink);border-radius:4px;overflow:hidden;box-shadow:0 4px 23px #17323b0b;transition:transform .2s,box-shadow .2s}.story-card:hover{color:var(--ink);transform:translateY(-5px);box-shadow:0 12px 28px #17323b1c}.story-image{height:228px;overflow:hidden}.story-image figure,.story-image img{width:100%;height:100%;object-fit:cover}.story-image img{transition:transform .35s}.story-card:hover img{transform:scale(1.04)}.story-image .photo-credit{position:absolute;bottom:7px;right:8px;color:#fff;text-shadow:0 1px 4px #000}.story-content{padding:25px 27px 28px}.story-content h3{font:normal 1.65rem/1.2 var(--serif);letter-spacing:-.03em;margin:10px 0}.story-content p{color:var(--muted);font-size:.91rem;margin:0 0 17px}.destinations{background:var(--deep);color:#fff;padding:100px 0 110px}.destinations .section-heading h2{max-width:680px}.light-link{color:#f5c99a}.destination-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.destination-tile{position:relative;height:410px;display:block;overflow:hidden;text-decoration:none;color:#fff;background:#123a43}.destination-tile:hover{color:#fff}.destination-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#001b27bf,transparent 60%)}.destination-tile figure,.destination-tile img{width:100%;height:100%;object-fit:cover}.destination-tile img{transition:transform .35s}.destination-tile:hover img{transform:scale(1.05)}.destination-tile>span{position:absolute;left:26px;bottom:38px;z-index:2;font:normal 2.3rem/1.1 var(--serif)}.destination-tile>span small{display:block;font:700 .82rem/1.4 var(--sans);margin-top:7px}.welcome{display:grid;grid-template-columns:310px 1fr;gap:80px;padding-top:110px;padding-bottom:100px}.welcome-side{position:sticky;top:35px;align-self:start}.welcome-side h2{font-size:2.5rem}.welcome-side p{color:var(--muted)}.welcome-prose{columns:1}.prose{font-size:1.045rem;line-height:1.82}.prose p{margin:0 0 1.55em}.prose h2{font:normal 2.25rem/1.2 var(--serif);letter-spacing:-.035em;margin:1.6em 0 .55em;color:var(--navy)}.prose h2:first-child{margin-top:0}.prose h3{font:normal 1.55rem/1.3 var(--serif);margin:1.45em 0 .45em}.prose a{color:#975d2e;text-decoration-thickness:1px;text-underline-offset:3px}.prose a:hover{color:var(--navy)}.prose ul{padding-left:25px;margin:0 0 1.7em}.prose li{margin:.4em 0}.prose.narrow{max-width:850px}.subhero{height:460px;position:relative;overflow:hidden;background:var(--deep);color:#fff}.subhero-media,.subhero-media figure,.subhero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.subhero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#052832db,#092e3aa8 55%,#08283230)}.subhero-inner{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;padding-right:25%}.subhero h1{font:normal clamp(3rem,5.3vw,5.4rem)/1.05 var(--serif);letter-spacing:-.05em;margin:16px 0}.subhero p{font-size:1.13rem;margin:0;max-width:690px;color:#f4f3ed}.hub-section>.hub-prose{max-width:760px;margin-bottom:48px}.hub-section .card-grid{margin-top:35px}.article-layout{display:grid;grid-template-columns:minmax(0,750px) minmax(240px,310px);gap:80px;padding-top:63px;padding-bottom:110px}.article-meta{display:flex;gap:17px;flex-wrap:wrap;color:#6e7d7e;font-size:.78rem;font-weight:700;border-bottom:1px solid var(--line);padding-bottom:19px;margin-bottom:35px}.article-meta span+span::before{content:'·';margin-right:17px;color:#b4bfc0}.article .prose{font-size:1.08rem;line-height:1.85}.article .prose>p:first-child{font-size:1.26rem;line-height:1.7;color:#2f4a51}.article-aside{padding-top:16px}.aside-card{background:#e6efe9;padding:31px}.aside-card h2{font:normal 1.95rem/1.2 var(--serif);margin:13px 0}.aside-card p{font-size:.93rem;color:#566b6c}.aside-links{margin-top:36px}.aside-links h2{font:normal 1.5rem var(--serif)}.aside-links a{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding:14px 0;text-decoration:none;font-size:.86rem;font-weight:700}.aside-links a:last-child{border-bottom:1px solid var(--line)}.article-end{border-top:1px solid var(--line);padding-top:24px;margin-top:50px;color:var(--muted);font-size:.9rem}.article-end strong{color:var(--ink)}.article-end p{margin:5px 0}.calc-intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-bottom:45px}.calc-intro h2{font-size:3.2rem}.calc-intro p{align-self:end;color:var(--muted)}.calc-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:25px;align-items:start;padding-bottom:80px}.calculator{background:#fff;padding:38px;box-shadow:0 4px 30px #17323b0b}.calc-head h2{font:normal 2rem var(--serif);margin:0}.calc-head p{margin:0 0 28px;color:var(--muted)}.calc-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.calc-field>span:first-child{display:block;font-size:.82rem;font-weight:800;margin-bottom:8px}.input-wrap{display:flex;align-items:center;border:1px solid #cddad8;border-radius:4px;background:#fff}.input-wrap:focus-within{outline:2px solid #c9a072}.input-wrap input{width:100%;border:0;padding:11px 12px;background:transparent;outline:0;color:var(--ink);font-weight:700}.input-wrap small{color:#7d8b8a;padding-right:12px}.calc-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.calc-results{background:var(--navy);color:#fff;padding:38px;position:sticky;top:20px}.total{border-top:1px solid #ffffff40;border-bottom:1px solid #ffffff40;margin:28px 0 23px;padding:18px 0}.total span,.result-pair span{display:block;font-size:.85rem;color:#b4ced0}.total strong{display:block;font:normal 3rem/1.15 var(--serif);margin-top:9px}.result-pair{display:grid;grid-template-columns:1fr 1fr;gap:15px}.result-pair strong{display:block;font-size:1.25rem;margin-top:4px}.cost-bars{margin-top:33px}.cost-row{margin:13px 0}.cost-row>div:first-child{display:flex;justify-content:space-between;font-size:.8rem}.bar{height:5px;background:#ffffff2a;border-radius:9px;overflow:hidden;margin-top:7px}.bar i{display:block;height:100%;background:var(--accent)}.calc-note{font-size:.75rem;color:#c5d6d6;margin:28px 0 0}.plain-hero{padding-top:95px;padding-bottom:50px;border-bottom:1px solid var(--line)}.plain-hero h1{font:normal clamp(3rem,5vw,5rem)/1.06 var(--serif);letter-spacing:-.05em;margin:17px 0}.plain-hero p{font-size:1.1rem;color:var(--muted);max-width:680px;margin:0}.plain-layout{padding-top:65px;padding-bottom:110px}.plain-layout .prose{max-width:790px}.credits-section{padding-top:55px;padding-bottom:110px}.credits-section>p{max-width:800px}.table-scroll{overflow-x:auto;margin:32px 0}table{border-collapse:collapse;width:100%;background:#fff;min-width:720px;font-size:.86rem}caption{text-align:left;font-weight:800;margin-bottom:12px}th{background:var(--navy);color:#fff;text-align:left;padding:16px;white-space:nowrap}td{border-bottom:1px solid var(--line);vertical-align:top;padding:18px 16px}td small{display:block;color:#6b7c7e;margin-top:5px;font-size:.73rem}td a{color:#98602f}.site-footer{background:var(--navy);color:#d5e2e2;padding-top:80px}.footer-grid{display:grid;grid-template-columns:1.4fr .65fr .9fr 1.2fr;gap:50px;padding-bottom:65px}.brand-footer{color:#fff}.brand-footer:hover{color:#fff}.brand-footer .brand-mark{background:var(--accent);color:var(--navy)}.footer-grid>div>p{font-size:.87rem;max-width:330px;color:#bad0d0;margin:22px 0 0}.footer-grid .footer-fine{font-size:.75rem;color:#93b0b2}.footer-grid h2{font-size:.9rem;letter-spacing:.02em;color:#fff;margin:0 0 17px}.footer-grid>div>a:not(.brand):not(.button){display:block;color:#bad0d0;text-decoration:none;font-size:.84rem;margin:8px 0}.footer-grid a:hover{color:var(--accent)!important}.footer-note{background:#204650;padding:27px;align-self:start}.footer-note h2{font:normal 1.75rem/1.22 var(--serif);margin:14px 0 23px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #ffffff26;padding:22px 0;font-size:.75rem;color:#a5bfc0}
img[src$="lisboa.webp"]{object-position:center 72%}
@media(max-width:1100px){.desktop-nav{gap:13px}.desktop-nav a{font-size:.76rem}.header-inner{gap:18px}.footer-grid{gap:28px}.article-layout{gap:40px}}
@media(max-width:900px){.shell{width:min(100% - 40px,760px)}.desktop-nav,.header-cta{display:none}.menu-toggle{display:flex;flex-direction:column;gap:5px;justify-content:center;align-items:center;margin-left:auto;border:0;background:transparent;padding:10px;width:44px;height:44px}.menu-toggle span{width:24px;height:2px;background:var(--navy)}.mobile-menu{display:none;position:absolute;top:84px;left:0;right:0;background:#fff;padding:15px 20px 25px;box-shadow:0 12px 25px #102f3824}.mobile-menu.is-open{display:flex;flex-direction:column}.mobile-menu a{display:block;padding:11px 8px;text-decoration:none;font-weight:700;border-bottom:1px solid var(--line)}.mobile-menu .mobile-cta{background:var(--navy);color:#fff;margin-top:15px;text-align:center;border-radius:4px}.quickbar-inner{flex-wrap:wrap;padding:15px 0;justify-content:flex-start}.quickbar span{width:100%}.feature-split{grid-template-columns:1fr}.feature-split>div:first-child{height:380px}.feature-text{padding:45px}.card-grid{grid-template-columns:repeat(2,1fr)}.destination-grid{gap:13px}.destination-tile{height:340px}.welcome{grid-template-columns:1fr;gap:25px}.welcome-side{position:static}.article-layout{grid-template-columns:1fr;gap:35px}.article-aside{display:grid;grid-template-columns:1fr 1fr;gap:20px}.aside-links{margin-top:0}.footer-grid{grid-template-columns:1fr 1fr}.calc-layout{grid-template-columns:1fr}.calc-results{position:static}.subhero-inner{padding-right:10%}}
@media(max-width:620px){.shell{width:calc(100% - 34px)}.site-header .header-inner{height:70px}.mobile-menu{top:70px}.brand{font-size:1.3rem}.brand-mark{width:31px;height:31px}.home-hero{height:620px;min-height:0}.hero-shade{background:linear-gradient(0deg,#031d2ae0 0%,#031d2a83 67%,#031d2a3b)}.hero-copy{justify-content:flex-end;padding-bottom:100px}.hero-copy .hero-title{font-size:clamp(2.9rem,12vw,4.2rem);max-width:520px}.hero-copy p{font-size:1rem}.hero-slide-image img{object-position:center}.hero-actions .button{font-size:.75rem;padding:11px 13px}.hero-controls{bottom:25px}.hero-slide .photo-credit{top:13px;right:12px;bottom:auto}.quickbar-inner{gap:11px 20px}.quickbar a{font-size:.75rem}.intro-head{padding-top:75px;padding-bottom:55px}.intro-head h1{font-size:2.8rem}.feature-split>div:first-child{height:285px;min-height:0}.feature-text{padding:35px 25px 40px}.feature-text h2{font-size:2.7rem}.section{padding-top:72px;padding-bottom:72px}.section-heading{display:block}.section-heading h2{font-size:2.7rem;margin-bottom:18px}.card-grid{grid-template-columns:1fr;gap:17px}.story-image{height:215px}.story-content{padding:22px}.destinations{padding:70px 0}.destination-grid{grid-template-columns:1fr}.destination-tile{height:280px}.welcome{padding-top:75px;padding-bottom:65px}.welcome-side h2{font-size:2.7rem}.prose{font-size:1rem;line-height:1.75}.prose h2{font-size:1.9rem}.subhero{height:390px}.subhero-inner{padding-right:0}.subhero h1{font-size:clamp(2.65rem,11vw,4.4rem)}.subhero p{font-size:1rem}.subhero .photo-credit{bottom:6px;right:8px}.article-layout{padding-top:33px;padding-bottom:70px}.article-meta{gap:7px 14px}.article-meta span+span::before{margin-right:9px}.article .prose{font-size:1rem}.article .prose>p:first-child{font-size:1.14rem}.article-aside{display:block}.aside-links{margin-top:25px}.calc-intro{display:block;padding-bottom:25px}.calc-intro h2{font-size:2.8rem}.calculator,.calc-results{padding:25px}.calc-fields{grid-template-columns:1fr}.calc-layout{padding-bottom:45px}.plain-hero{padding-top:70px}.plain-hero h1{font-size:3.2rem}.plain-layout{padding-top:35px;padding-bottom:70px}.credits-section{padding-bottom:70px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px 22px}.footer-grid>div:first-child,.footer-note{grid-column:1/-1}.site-footer{padding-top:60px}.footer-bottom{gap:10px;flex-wrap:wrap}}

/* A real link covers every part of each guide card. Credits stay above it if needed. */
.story-card{position:relative}
.story-image{background:#dfe9e3}
.story-card-link{position:absolute;inset:0;z-index:2;cursor:pointer}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.story-card:focus-within{outline:3px solid var(--accent);outline-offset:3px}
.story-image .photo-credit{z-index:3}
.story-image .photo-credit a{position:relative;z-index:4}
.breadcrumbs{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:15px;padding-bottom:15px;font-size:.78rem;color:#61777c}
.breadcrumbs a{color:var(--navy);font-weight:700;text-decoration:none}
.breadcrumbs a:hover{text-decoration:underline}
.breadcrumbs [aria-current="page"]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:55vw}
.topic-nav{margin:42px 0 49px}
.topic-nav h2{font:normal 2rem/1.2 var(--serif);letter-spacing:-.03em;margin:0 0 19px}
.topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.topic-link{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#e8eee7;padding:19px 22px;color:var(--navy);font-weight:800;text-decoration:none;border-radius:4px;transition:background .2s,transform .2s}
.topic-link:hover{background:#d8e6dc;color:var(--navy);transform:translateY(-2px)}
.topic-link:focus-visible,.story-card-link:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.topic-link b{font-weight:400;color:#a86934}
@media(max-width:620px){.topic-grid{grid-template-columns:1fr}.topic-nav{margin:32px 0 39px}.breadcrumbs{font-size:.72rem;gap:7px}}

/* Main navigation: the label opens the topic page; the arrow opens its subtopics. */
.desktop-nav{align-self:stretch}
.desktop-nav .nav-item{position:relative;display:flex;align-items:center;height:100%;gap:2px}
.desktop-nav .nav-main-link{display:inline-flex;align-items:center;height:100%}
.nav-submenu-toggle{display:grid;place-items:center;min-width:20px;height:38px;padding:0 2px;border:0;background:transparent;color:var(--navy);font-size:1.1rem;line-height:1}
.nav-submenu-toggle span,.mobile-submenu-toggle span{display:block;transition:transform .2s}
.nav-item.is-open .nav-submenu-toggle span,.mobile-nav-item.is-open .mobile-submenu-toggle span{transform:rotate(180deg)}
.nav-submenu-toggle:focus-visible,.mobile-submenu-toggle:focus-visible{outline:2px solid #b87943;outline-offset:2px;border-radius:3px}
.nav-dropdown{position:absolute;top:calc(100% - 2px);left:50%;z-index:120;width:276px;padding:16px;background:#fff;border-top:3px solid var(--accent);box-shadow:0 15px 35px #102f3830;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,8px);transition:opacity .18s,transform .18s,visibility .18s}
.desktop-nav .nav-item:nth-last-child(-n+2) .nav-dropdown{left:auto;right:0;transform:translateY(8px)}
.nav-item.is-open .nav-dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.desktop-nav .nav-item:nth-last-child(-n+2).is-open .nav-dropdown{transform:translateY(0)}
.nav-dropdown-heading{display:block;padding:2px 11px 9px;color:#a46c3d;font-size:.66rem;font-weight:800;letter-spacing:.14em}
.desktop-nav .nav-dropdown a{display:block;padding:9px 11px;border-radius:3px;font-size:.8rem;line-height:1.35;white-space:normal}
.desktop-nav .nav-dropdown a:hover,.desktop-nav .nav-dropdown a:focus-visible{background:#e8eee7;color:var(--navy)}
.desktop-nav .nav-dropdown .nav-overview{margin-top:7px;border-top:1px solid var(--line);border-radius:0;color:#a86934}
@media(max-width:1050px){
  .desktop-nav,.header-cta{display:none}
  .menu-toggle{display:flex;flex-direction:column;gap:5px;justify-content:center;align-items:center;margin-left:auto;border:0;background:transparent;padding:10px;width:44px;height:44px}
  .menu-toggle span{width:24px;height:2px;background:var(--navy)}
  .mobile-menu{display:none;position:absolute;top:84px;left:0;right:0;background:#fff;padding:15px 20px 25px;box-shadow:0 12px 25px #102f3824}
  .mobile-menu.is-open{display:flex;flex-direction:column}
  .mobile-menu a{display:block;padding:11px 8px;text-decoration:none;font-weight:700;border-bottom:1px solid var(--line)}
  .mobile-menu .mobile-cta{background:var(--navy);color:#fff;margin-top:15px;text-align:center;border-radius:4px}
  .mobile-menu .nav-main-link.active{color:#b87943}
  .mobile-menu{max-height:calc(100dvh - 84px);overflow-y:auto;overscroll-behavior:contain}
  .mobile-nav-row{display:flex;align-items:center;border-bottom:1px solid var(--line)}
  .mobile-menu .mobile-nav-row>a{flex:1;border-bottom:0}
  .mobile-submenu-toggle{display:grid;place-items:center;flex:none;width:44px;height:44px;border:0;background:#e8eee7;color:var(--navy);border-radius:3px;font-size:1.25rem}
  .mobile-submenu{display:none;padding:6px 10px 10px;background:#f1f5f1}
  .mobile-nav-item.is-open .mobile-submenu{display:block}
  .mobile-menu .mobile-submenu a{padding:8px 15px;border-bottom:0;font-size:.88rem;font-weight:600}
  .mobile-menu .mobile-submenu a:hover,.mobile-menu .mobile-submenu a:focus-visible{background:#e2ebe4;color:var(--navy)}
}
@media(max-width:620px){.mobile-menu{top:70px;max-height:calc(100dvh - 70px)}}

/* Keep travel photography bright; shade only the area that carries white text. */
.hero-slide-image img,.subhero-media img{filter:brightness(1.08) saturate(1.07)}
.hero-shade{background:linear-gradient(90deg,rgba(3,27,37,.66) 0%,rgba(3,27,37,.43) 32%,rgba(3,27,37,.08) 64%,transparent 78%),linear-gradient(0deg,rgba(3,27,37,.22),transparent 28%)}
.subhero-media::after{background:linear-gradient(90deg,rgba(5,35,45,.63) 0%,rgba(5,35,45,.39) 38%,rgba(5,35,45,.09) 68%,transparent 86%)}
.hero-copy .hero-title,.hero-copy p,.hero-copy .eyebrow,.subhero-inner h1,.subhero-inner p,.subhero-inner .eyebrow{text-shadow:0 2px 12px rgba(2,20,28,.72)}
@media(max-width:620px){
  .hero-shade{background:linear-gradient(0deg,rgba(3,27,37,.79) 0%,rgba(3,27,37,.58) 27%,rgba(3,27,37,.12) 64%,transparent 86%)}
  .subhero-media::after{background:linear-gradient(90deg,rgba(5,35,45,.61),rgba(5,35,45,.30) 72%,rgba(5,35,45,.13))}
}

/* The destination link and the image credits occupy separate layers. */
.destination-link{position:absolute;inset:0;z-index:2;color:#fff;text-decoration:none}
.destination-link:hover{color:#fff}
.destination-link>span{position:absolute;left:26px;bottom:38px;font:normal 2.3rem/1.1 var(--serif)}
.destination-link>span small{display:block;font:700 .82rem/1.4 var(--sans);margin-top:7px}
.destination-tile:focus-within{outline:3px solid var(--accent);outline-offset:3px}

.example-home{display:grid;grid-template-columns:1fr 1fr;background:#e6efe9;margin-bottom:95px;min-height:380px}
.example-home>div:first-child{padding:55px;align-self:center}
.example-home h2{font:normal clamp(2.2rem,3.8vw,3.8rem)/1.08 var(--serif);letter-spacing:-.04em;margin:14px 0}
.example-home p{max-width:520px;color:#53676b;margin:0 0 24px}
.example-home>div:last-child{min-height:380px;overflow:hidden}
.example-home figure,.example-home img{width:100%;height:100%;object-fit:cover}
.example-method-link{display:inline-block;margin-left:18px;color:var(--navy);font-size:.85rem;font-weight:800}
.example-budget{margin:28px 0 42px;padding:26px;background:#edf3ef;border-left:4px solid var(--accent)}
.example-budget p{margin:0 0 14px}
.example-warning{color:#24444d}
.example-trip{font-size:.92rem}
.example-table{min-width:620px;font-size:.86rem}
.example-table td:last-child,.example-table th:last-child{text-align:right;white-space:nowrap}
.example-table tbody th{background:#fff;color:var(--ink);white-space:normal;border-bottom:1px solid var(--line);padding:15px;font-size:.86rem;letter-spacing:0}
.example-table tbody tr:nth-child(even) th,.example-table tbody tr:nth-child(even) td{background:#f8faf7}
.example-table tbody .example-subtotal th,.example-table tbody .example-subtotal td{border-top:2px solid var(--navy);font-weight:800}
.example-table tfoot th,.example-table tfoot td{background:var(--navy);color:#fff;font-weight:800;padding:16px}
.example-summary{font-size:.94rem}
.example-source{font-size:.84rem;color:#50666b;line-height:1.6}
.example-source a{font-weight:800}
.table-hint{display:none;font-size:.78rem;font-weight:800;color:#4b676d}
/* Let wide tables scroll inside the article instead of widening the mobile page. */
.reference-table{min-width:0;table-layout:fixed}
.reference-table th{white-space:normal;overflow-wrap:anywhere}
.reference-table th:first-child{width:34%}
.prose code{font-size:.9em;background:#edf3ef;padding:.12em .3em;border-radius:3px;overflow-wrap:anywhere}
.article-layout .article,.article .prose,.example-budget{min-width:0}
.example-budget .table-scroll{max-width:100%}
@media(max-width:900px){.example-home{grid-template-columns:1fr}.example-home>div:last-child{height:300px;min-height:0}.article-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:620px){.example-home{margin-bottom:65px}.example-home>div:first-child{padding:32px 25px}.example-home>div:last-child{height:220px}.example-method-link{display:block;margin:18px 0 0}.example-budget{padding:17px;margin:22px 0 34px}.example-table{min-width:590px}.table-hint{display:block}}
@media print{.site-header,.site-footer,.hero-controls,.calc-actions,.article-aside{display:none!important}.subhero{height:auto;color:#000}.subhero-media{display:none}.subhero-inner{padding:20px 0}.calc-layout{display:block}.calculator,.calc-results{box-shadow:none;border:1px solid #999;margin-bottom:20px}.calc-results{background:#fff;color:#000}.calc-results span,.calc-note{color:#333}.cost-row .bar{border:1px solid #999}.button{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.photo-figure picture{display:block;width:100%;height:100%}
.calc-error{color:#9d2530;font-size:.9rem;line-height:1.5;margin:1rem 0}
input[aria-invalid="true"]{border-color:#9d2530}
