.port-page{--port-ink:#173f43;--port-accent:#a64f39;--port-soft:#edf3ef;--port-paper:#faf8f4;color:var(--port-ink);background:var(--port-paper)}.port-france{--port-ink:#24344f;--port-accent:#6b5386;--port-soft:#f0edf5;--port-paper:#faf9f6}.port-shell{width:min(1180px,calc(100% - 64px));margin:0 auto}.port-eyebrow{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;line-height:1.6}.port-hero{position:relative;min-height:680px;display:flex;align-items:center;color:#fff;padding:155px 0 90px;isolation:isolate}.port-hero>img{-o-object-fit:cover;object-fit:cover;z-index:-3}.port-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,35,39,.86),rgba(14,35,39,.36));z-index:-2}.port-france .port-hero:after{background:linear-gradient(90deg,rgba(22,34,54,.88),rgba(22,34,54,.3))}.port-hero h1{font-family:var(--font-playfair,"Playfair Display"),Georgia,serif;font-size:clamp(42px,5.6vw,76px);line-height:1.07;letter-spacing:-.035em;max-width:800px;margin:20px 0 28px}.port-hero h1,.port-hero h1 em{font-weight:400}.port-hero-copy{max-width:590px;font-size:18px;line-height:1.8;color:#f2f2ee}.port-hero-links{display:flex;gap:26px;align-items:center;flex-wrap:wrap;margin-top:32px}.port-button{display:inline-flex;justify-content:center;align-items:center;gap:24px;padding:16px 24px;background:var(--port-ink);color:#fff;border-radius:4px;font-weight:600;font-size:14px;line-height:1.5}.port-button-light{background:#fff;color:#1b393d}.port-hero-links>a:last-child{font-size:14px;text-decoration:underline;text-underline-offset:6px}.port-hero-caption{position:absolute;bottom:24px;left:32px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;opacity:.8}.port-ribbon{padding:22px 30px;text-align:center;background:var(--port-ink);color:#fff;font-size:12px;letter-spacing:.08em;display:flex;gap:26px;justify-content:center;flex-wrap:wrap}.port-intro{padding:80px 0}.port-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.port-page h2{font-family:var(--font-playfair,"Playfair Display"),Georgia,serif;font-weight:400;font-size:clamp(30px,3.8vw,47px);line-height:1.17;letter-spacing:-.02em}.port-intro h2{margin-top:16px}.port-intro p:not(.port-eyebrow){font-size:16px;line-height:1.9;color:#536165}.port-intro p+p{margin-top:16px}.port-intro a{display:inline-block;margin-top:20px;font-size:14px;text-decoration:underline;text-underline-offset:5px}.port-library{padding:75px 0 80px;background:#fff;scroll-margin-top:100px}.port-section-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:35px}.port-section-heading h2{margin-top:10px}.port-section-heading>p{max-width:430px;font-size:15px;line-height:1.8;color:#536165}.port-filters{display:grid;grid-template-columns:2fr 1fr;gap:18px;padding:24px;background:var(--port-soft);border-radius:8px}.port-filters label{font-size:12px;font-weight:600;display:grid;gap:9px}.port-filters input,.port-filters select{width:100%;min-width:0;background:#fff;border:1px solid #c5cece;border-radius:4px;font-size:16px;font-weight:400;color:var(--port-ink);padding:14px;min-height:50px}.port-filter-row{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:22px 0 32px}.port-chips{display:flex;flex-wrap:wrap;gap:8px}.port-chips button{border:1px solid #d4dbdb;border-radius:30px;padding:11px 18px;font-size:13px;min-height:44px;background:#fff}.port-chips button[aria-pressed=true]{background:var(--port-ink);color:#fff;border-color:var(--port-ink)}.port-result-count{font-size:13px;white-space:nowrap;color:#536165}.port-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}.port-card{border:1px solid #e4e8e7;border-radius:8px;overflow:hidden;background:var(--port-paper);transition:transform .2s,box-shadow .2s}.port-card:hover{transform:translateY(-3px);box-shadow:0 10px 25px #173f4310}.port-card-link{display:flex;flex-direction:column;height:100%}.port-card-image{position:relative;aspect-ratio:1.5;overflow:hidden}.port-card-image img{-o-object-fit:cover;object-fit:cover;transition:transform .4s}.port-card:hover img{transform:scale(1.025)}.port-card-image>span{position:absolute;left:16px;bottom:16px;background:#fff;color:var(--port-ink);font-size:11px;padding:7px 12px;border-radius:2px}.port-card-copy{padding:25px;display:flex;flex-direction:column;flex:1}.port-card h3{font-family:var(--font-playfair,"Playfair Display"),Georgia,serif;font-size:25px;line-height:1.22;margin:10px 0 14px}.port-card-copy>p:not(.port-eyebrow){font-size:14px;line-height:1.8;color:#536165;margin-bottom:24px}.port-card-bottom{margin-top:auto;padding-top:16px;border-top:1px solid #dce2df;display:flex;gap:8px;flex-direction:column;font-size:13px;font-weight:600}.port-card-bottom small{font-size:11px;font-weight:400;color:#536165}.port-empty{padding:60px 20px;text-align:center;background:var(--port-paper);border-radius:8px}.port-empty h3{font-family:var(--font-playfair,"Playfair Display"),Georgia,serif;font-size:28px;margin-bottom:14px}.port-empty button{margin-top:24px;padding:12px 20px;border:1px solid;border-radius:4px}.port-library-note{font-size:12px;line-height:1.8;max-width:780px;margin:36px auto 0;text-align:center;color:#536165}.port-planning{padding:85px 0;background:var(--port-soft)}.port-planning-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center}.port-planning h2{margin:15px 0 22px}.port-planning p:not(.port-eyebrow){line-height:1.8;color:#536165;font-size:16px}.port-planning-actions{display:flex;flex-direction:column;align-items:start;gap:20px}.port-planning-actions>a:not(.port-button){text-decoration:underline;text-underline-offset:5px;font-size:14px}.port-page :is(a,button,input,select):focus-visible{outline:3px solid var(--port-accent);outline-offset:4px}.port-page .port-hero a:focus-visible{outline-color:#fff}.port-blog-banner{display:block;margin-bottom:32px;padding:24px 28px;border:1px solid #d5dcda;border-radius:8px;background:#f6f7f4;color:#253b43}.port-blog-banner strong{display:block;font-family:var(--font-playfair,"Playfair Display"),Georgia,serif;font-size:24px;margin-bottom:8px;font-weight:400}.port-blog-banner span{font-size:14px;line-height:1.8}.port-article-nav{padding:22px;background:#f3f5f3;border-radius:6px;margin-bottom:28px;color:#263e46}.port-article-nav>p{font-size:13px;line-height:1.7;margin:10px 0}.port-article-nav a{font-size:13px;text-decoration:underline;text-underline-offset:4px}.port-article-nav nav{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:16px}.port-article-nav strong{font-size:14px}.port-editorial-byline{margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid #dce2df;font-size:14px;color:#536165}.port-guide-context{padding:14px 16px;border-left:3px solid var(--cruise-accent,#a64f39);background:#f5f6f3;font-size:13px;line-height:1.7;margin-bottom:20px}@media(max-width:1000px){.port-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.port-intro-grid,.port-planning-inner{gap:40px}.port-hero{min-height:600px}.port-section-heading{gap:25px}}@media(max-width:600px){.port-shell{width:calc(100% - 36px)}.port-hero{min-height:640px;padding:145px 0 85px}.port-hero-copy{font-size:16px;line-height:1.8}.port-hero-links{align-items:start;gap:22px;flex-direction:column}.port-hero-caption{left:18px;font-size:9px;max-width:calc(100% - 36px)}.port-ribbon{gap:8px 18px;padding:18px;font-size:10px}.port-intro,.port-library,.port-planning{padding:50px 0}.port-intro-grid,.port-planning-inner{grid-template-columns:1fr;gap:24px}.port-section-heading{display:block}.port-section-heading>p{margin-top:20px}.port-filters{grid-template-columns:1fr;padding:18px}.port-filter-row{align-items:start;flex-direction:column;gap:15px}.port-chips button{font-size:12px;padding:10px 14px}.port-grid{grid-template-columns:1fr;gap:24px}.port-card-copy{padding:23px}.port-card h3{font-size:28px}.port-blog-banner{padding:20px}.port-planning-actions{align-items:stretch}.port-planning-actions>a:not(.port-button){text-align:center}.port-article-nav nav{flex-direction:column}}@media(prefers-reduced-motion:reduce){.port-card,.port-card img{transition:none}.port-card:hover,.port-card:hover img{transform:none}}.port-article .blog-content h2[id]{scroll-margin-top:110px}.port-article .blog-content a{color:#285a63;text-decoration:underline;text-underline-offset:3px}.port-article .blog-content a:focus-visible,.port-article-nav a:focus-visible{outline:3px solid #285a63;outline-offset:3px}