/* Shared visual language, based on the selected Baltic Dunes reference. */
@font-face{font-family:"Baltic Serif";font-style:normal;font-weight:300 700;font-display:swap;src:url("./assets/fonts/noto-display-normal-300-cyrillic.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Baltic Serif";font-style:normal;font-weight:300 700;font-display:swap;src:url("./assets/fonts/noto-display-normal-300-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--serif:"Baltic Serif",Georgia,serif;--action:#487b9b;--action-hover:#386783;--action-ink:#fff;--radius:16px;--card-shadow:0 8px 30px #152d4010}
:root:not([data-theme=night]){--ink:#081d36;--muted:#637487;--paper:#f8f5ef;--sand:#f1eee7;--card:#fdfbf7;--line:#dbdcd8;--sea:#dce9ef;--sea-ink:#254f6b;--sea-hover:#cbdfe9;--sea-line:#8eafc4;--sea-soft:#eef3f4;--sea-muted:#466d89;--brand-ink:#081d36;--brand-amber:#c88c3d;--night-ink:#081d36;--night-muted:#637487}
:root[data-theme=night]{--action:#5d8da9;--action-hover:#739fb8;--action-ink:#071b2b;--card-shadow:0 8px 30px #0002}
body{font-size:16px;line-height:1.65;background:var(--paper);color:var(--ink)}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;letter-spacing:-.035em;color:var(--ink);text-wrap:balance}
h2{font-size:clamp(30px,3.4vw,48px);line-height:1.15}
h3{font-size:clamp(25px,2.5vw,34px);line-height:1.2}
p{overflow-wrap:break-word}
img{max-width:100%}
:where(button,input,select,textarea){font-family:var(--sans)}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--brand-amber);outline-offset:4px}
:where(.eyebrow,.inner-kicker){font:600 11px/1.6 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--sea-muted)}
.inner-page .site-header,.site-header{position:relative;inset:auto;min-height:110px;padding:24px 40px;gap:24px;color:var(--ink);background:var(--paper)}
.brand{gap:14px;flex-shrink:0;color:var(--ink)}
.brand-mark{width:66px;height:58px;flex-shrink:0}
.site-header .brand-name{font:600 25px/1.25 var(--serif);letter-spacing:-.03em;text-transform:none;white-space:nowrap}
.brand-caption{display:block!important;font:400 16px/1.4 var(--serif);letter-spacing:0;text-transform:none;color:var(--muted)}
.header-note{display:none}
.desktop-nav{gap:24px;font-size:13px}
.desktop-nav>a,.nav-tools>summary{min-height:44px;display:flex;align-items:center}
.desktop-nav [aria-current],.mobile-nav [aria-current]{color:var(--sea-ink);text-decoration:underline;text-underline-offset:7px}
.header-actions{margin-left:auto;gap:10px}
.icon-button,.theme-control>summary{border-radius:10px;color:var(--ink)}
.mobile-nav,.nav-tools-panel,.theme-panel{background:var(--card);color:var(--ink);border:1px solid var(--line);box-shadow:var(--card-shadow);border-radius:14px}
.mobile-nav{top:calc(100% - 8px);left:16px;right:16px;padding:72px 24px 24px;width:auto}
.inner-page .inner-main{width:calc(100% - 96px);max-width:1320px;padding-top:54px}
.inner-title,.transport-hero h1,.events-heading h1,.day-planner .wizard-page-intro h1{font:400 clamp(42px,5.8vw,76px)/1.08 var(--serif);letter-spacing:-.045em;max-width:1080px;margin:18px 0 22px}
.inner-lead,.transport-lead,.events-heading>p:last-child,.day-planner .wizard-page-intro>p:not(.eyebrow){font-size:clamp(17px,1.8vw,21px);line-height:1.6;color:var(--muted);max-width:760px}
.inner-main>:is(header,.inner-hero,.wizard-page-intro),.transport-hero,.events-heading{position:relative;isolation:isolate}
.inner-main>:is(header,.inner-hero,.wizard-page-intro)::after,.transport-hero::after,.events-heading::after{content:"";position:absolute;z-index:-1;pointer-events:none;right:-48px;bottom:-36px;width:280px;aspect-ratio:1;background:url("./assets/identity/dune-reeds.webp") right bottom/contain no-repeat;opacity:.75}
.inner-main>:is(header,.inner-hero,.wizard-page-intro)>*,.transport-hero>*,.events-heading>*{position:relative}
.button,.transport-primary,.transport-secondary{font:600 16px/1.45 var(--sans);border-radius:12px;min-height:52px;padding:14px 22px;letter-spacing:0;text-align:center}
.button-dark,.transport-primary,.event-links .event-primary,.day-main-actions .button{background:var(--action);color:var(--action-ink);border-color:var(--action);box-shadow:none}
.button-dark:hover,.transport-primary:hover,.event-links .event-primary:hover,.day-main-actions .button:hover{background:var(--action-hover);color:var(--action-ink);transform:none}
.button-light,.button-outline{background:var(--card);color:var(--sea-ink);border:1px solid var(--line)}
.button:disabled,.transport-primary:disabled{opacity:.55}
.inner-main :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink);font-size:16px;min-height:46px;padding:10px 12px;max-width:100%}
.inner-main :is(input,select,textarea):focus{border-color:var(--sea-line)}
.inner-main :is(label,.form-label){line-height:1.5}
:is(.poi-card,.dining-card,.food-card,.housing-card,.dream-card,.expense-card,.showcase-card,.home-dunes-card,.event-card,.route-plate,.planning-wizard,.planner-new-day,.day-empty,.transport-settings,.transport-result,.trip-transport-plan,.day-disclosure){border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--card-shadow);min-width:0}
:is(.poi-card,.dining-card,.showcase-card,.event-card){overflow:hidden}
:is(.poi-card,.dining-card,.showcase-card,.event-card) h2,:is(.poi-card,.dining-card,.showcase-card,.event-card) h3{font-weight:400}
.showcase-grid,.events-grid{gap:24px}
.showcase-copy{padding:24px}
.showcase-copy h3,.showcase-card-featured h3{font-weight:400;font-size:clamp(28px,2.6vw,38px)}
.showcase-description,.home-dunes-description{font-size:15px;line-height:1.65}
.showcase-open,.showcase-all,.home-dunes-all{color:var(--sea-ink)}
.showcase-all{border-radius:10px}
.showcase-filters button,.events-periods button{border-radius:10px}
.showcase-filters button[aria-pressed=true],.events-periods button[aria-pressed=true]{background:var(--sea);border-color:var(--sea-line);color:var(--sea-ink)}
.event-card h2{font-size:clamp(26px,2.5vw,34px);font-weight:400}
.event-body{padding:24px;gap:14px}
.event-links .event-primary{border-radius:10px;min-height:52px}
.event-save[aria-pressed=true]{background:var(--sea);color:var(--sea-ink)}
.event-admission{margin-bottom:12px!important}
.event-links{grid-template-rows:minmax(52px,auto) minmax(44px,auto)}
.transport-hero{max-width:none;margin-bottom:36px;padding-right:120px}
.transport-hero h1{max-width:980px}
.transport-workspace{gap:28px;grid-template-columns:minmax(260px,340px) minmax(0,1fr)}
.transport-settings,.transport-result{padding:28px}
.transport-settings h2{font-size:29px}
.transport-result h2{font-size:36px;line-height:1.2;margin-bottom:10px}
.transport-plan-date{font-size:15px;margin:0 0 20px;color:var(--sea-muted)}
.transport-result-heading{font-size:16px;color:var(--muted);padding-bottom:16px;border-bottom:1px solid var(--line)}
.transport-timeline{counter-reset:journey;margin:26px 0 14px;gap:0}
.transport-timeline li{counter-increment:journey;display:grid;grid-template-columns:58px minmax(0,1fr);gap:0 20px;margin-left:12px;padding:0 0 28px 30px;border-left:1px dashed var(--sea-line)}
.transport-timeline li:last-child{border-color:transparent;padding-bottom:8px}
.transport-timeline li::before{content:counter(journey);display:grid;place-items:center;left:-15px;top:9px;width:30px;height:30px;border:2px solid var(--card);background:var(--action);color:#fff;font:500 16px/1 var(--sans)}
.transport-step-icon{grid-column:1;grid-row:1/4;align-self:start;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--sea);color:var(--ink)}
.transport-step-icon img{width:30px;height:30px;object-fit:contain}
.transport-timeline :is(h3,p,.transport-time){grid-column:2}
.transport-timeline h3{font:600 clamp(23px,2.4vw,30px)/1.2 var(--serif);letter-spacing:-.025em;margin:0 0 6px}
.transport-timeline p{font-size:16px;color:var(--muted);line-height:1.5;margin:0}
.transport-time{font:600 13px/1.4 var(--sans);color:var(--sea-muted);margin:0 0 5px}
.transport-budget{margin-top:24px;padding-top:24px}
.transport-budget h3{font-size:26px}
.transport-budget-total{font-weight:600}
.transport-result-actions{gap:12px;margin-top:26px}
.transport-result-actions .transport-primary{min-height:60px;font-size:18px}
.transport-result-actions .transport-secondary{border:0;background:transparent;color:var(--sea-ink);text-decoration:underline;text-underline-offset:6px}
.transport-saved{border:1px solid #b9d3bb;background:#edf2e8;color:#31563e;padding:20px;border-radius:12px}
.transport-saved p{font:600 23px/1.35 var(--serif);color:inherit}
.transport-saved a{color:var(--sea-ink)}
.transport-saved[hidden]{display:none}
.transport-table-scroll,.transport-direction{background:var(--card);border-radius:14px}
.day-planner .wizard-page-intro{margin:20px 0 32px;padding-right:120px}
.day-planner .journey-days>button{border-radius:12px;background:var(--card)}
.day-planner .journey-days>button[aria-pressed=true]{background:var(--sea);color:var(--sea-ink)}
.day-workspace{gap:32px}
.day-map-panel{border-radius:16px;box-shadow:var(--card-shadow)}
.day-planner .day-stop-name,.day-map-road-title{font-weight:400}
.day-stop-journey>.day-journey-step{border-left-style:dashed}
.day-planner .trip-timeline-item{background:var(--card);border-color:var(--line);border-radius:14px}
.day-planner .day-main-actions .button{background:var(--action);color:var(--action-ink)}
.trip-transport-plan h3{font-weight:400}
.site-footer{position:relative;isolation:isolate;width:100%;max-width:none;margin-top:72px;padding:190px max(40px,calc((100vw - 1320px)/2)) 36px;border-top:0;gap:24px;background:var(--paper);overflow:hidden}
.site-footer::before{content:"";position:absolute;z-index:-1;inset:0;background:url("./assets/identity/baltic-shore.webp") center top/cover no-repeat;opacity:.6;pointer-events:none}
.footer-brand{font:600 24px/1.2 var(--serif);letter-spacing:-.025em;color:var(--ink)}
.footer-brand .brand-mark{width:42px;height:42px}
.site-footer :is(p,a,small){color:var(--ink)}
.footer-tools,.footer-editorial{gap:12px 22px}
.footer-tools a,.footer-editorial a{min-height:44px;display:inline-flex;align-items:center;font-size:13px}
.site-footer p{font-size:13px;color:var(--sea-ink)}
:root[data-theme=night] .site-footer::before{opacity:.12}
:root[data-theme=night] .inner-main>header::after,:root[data-theme=night] .transport-hero::after,:root[data-theme=night] .events-heading::after{opacity:.35}
:root[data-theme=night] .transport-step-icon img{filter:invert(1)}
:root[data-theme=night] .transport-saved{background:#20382e;border-color:#4d735a;color:#d8ebd7}
@media(min-width:1550px){.header-note{display:block;order:1;font:600 10px/1.6 var(--sans);letter-spacing:.25em;color:var(--muted);margin:0 12px 0 0;padding-left:26px;min-width:140px}.header-actions{order:2;margin-left:0}.desktop-nav{margin-left:auto}}
@media(max-width:1100px){.desktop-nav{gap:15px;font-size:12px}.site-header{gap:16px;padding-inline:28px}.brand-mark{width:54px;height:48px}.site-header .brand-name{font-size:22px}.header-actions{gap:4px}.inner-page .inner-main{width:calc(100% - 64px)}}
@media(max-width:800px){
 .site-header,.inner-page .site-header{padding:20px 22px;min-height:92px;gap:12px}
 .desktop-nav{display:none}.header-actions{margin-left:auto}
 .site-header .brand-name{font-size:22px}.brand-caption{font-size:14px}.brand{gap:12px}.brand-mark{width:54px;height:48px}
 .header-actions>.theme-control,.header-actions>[data-open-search]{display:none}
 .site-header:has(.mobile-nav:not([hidden])) .header-actions>.theme-control{display:block;position:absolute;right:82px;top:calc(100% + 6px);z-index:12}
 .site-header:has(.mobile-nav:not([hidden])) .header-actions>[data-open-search]{display:flex;position:absolute;right:32px;top:calc(100% + 6px);z-index:12}
 .site-header .menu-button{display:flex;width:44px;height:44px;min-width:44px;border:0;background:transparent}
 .site-header .menu-button img{width:30px;height:30px}
 .inner-page .inner-main{width:calc(100% - 40px);padding-top:36px}
 .inner-title,.transport-hero h1,.events-heading h1,.day-planner .wizard-page-intro h1{font-size:clamp(36px,7.6vw,58px);line-height:1.12;margin:14px 0 18px}
 .inner-main>:is(header,.inner-hero,.wizard-page-intro)::after,.transport-hero::after,.events-heading::after{width:180px;right:0;bottom:-30px;opacity:.55}
 .transport-hero,.day-planner .wizard-page-intro{padding-right:0}
 .transport-workspace{grid-template-columns:1fr;gap:20px}
 .transport-settings,.transport-result{padding:24px}
 .transport-result h2{font-size:32px}
 .site-footer{margin-top:52px;padding:150px 24px 28px;grid-template-columns:minmax(0,1fr) auto;gap:16px}
 .footer-brand{font-size:22px}.footer-tools,.footer-editorial{grid-column:1/-1;display:flex;flex-wrap:wrap}
}
@media(max-width:420px){
 .site-header,.inner-page .site-header{padding:16px;min-height:86px;gap:6px}.brand{gap:10px}.brand-mark{width:44px;height:44px}.site-header .brand-name{font-size:20px;letter-spacing:-.035em}.brand-caption{font-size:13px}
 .inner-page .inner-main{width:calc(100% - 32px);padding-top:28px}.inner-title,.transport-hero h1,.events-heading h1,.day-planner .wizard-page-intro h1{font-size:36px}
 .transport-settings,.transport-result,.event-body{padding:20px}.transport-timeline li{grid-template-columns:44px minmax(0,1fr);gap:0 12px;padding-left:25px}.transport-step-icon{width:44px;height:44px}.transport-step-icon img{width:26px;height:26px}.transport-timeline h3{font-size:23px}.transport-timeline p{font-size:15px}.transport-result h2{font-size:29px}
 .button{padding-inline:16px}.footer-brand{font-size:19px}.footer-brand .brand-mark{width:34px;height:34px}
}
@media print{.inner-main>header::after,.transport-hero::after,.events-heading::after,.site-footer::before{display:none}.site-footer{padding:24px 0;margin-top:24px}.transport-settings,.transport-result,.event-card,.showcase-card{box-shadow:none}}

/* The day workspace loads its module styles after the document head. */
:root:not([data-theme=night]) body.day-planner{--ink:#081d36;--muted:#637487;--paper:#f8f5ef;--sand:#f1eee7;--card:#fdfbf7;--line:#dbdcd8}
body.day-planner .site-header{padding:24px 40px;min-height:110px}
body.day-planner .site-header .brand-name{font:600 25px/1.25 var(--serif);letter-spacing:-.03em;text-transform:none}
body.day-planner .site-header .brand-caption{font:400 16px/1.4 var(--serif);letter-spacing:0;text-transform:none}
body.day-planner #my-trip .wave-stop-title{font-weight:400}
body.day-planner #my-trip .wave-stop-marker{background:var(--action);color:#fff}
body.day-planner #my-trip .trip-plan-stops>li[data-wave-stop-ready]:not(:last-child)::before{background:none;border-left:1px dashed var(--sea-line)}
body.day-planner #my-trip .wave-stop-card{background:var(--card);box-shadow:var(--card-shadow)}
@media(max-width:800px){body.day-planner .site-header{padding:20px 22px;min-height:92px}body.day-planner .site-header .brand-name{font-size:22px}body.day-planner .site-header .brand-caption{font-size:14px}}
@media(max-width:420px){body.day-planner .site-header{padding:16px;min-height:86px}body.day-planner .site-header .brand-name{font-size:20px}body.day-planner .site-header .brand-caption{font-size:13px}}

/* Keep the same confident, upright type on the late-mounted day UI. */
body.day-planner .wizard-page-intro h1{font:400 clamp(42px,5.8vw,76px)/1.08 var(--serif);letter-spacing:-.045em;margin:14px 0 20px}
body.day-planner .wizard-page-intro>h1+p{color:var(--muted);font-size:20px;line-height:1.6}
/* The home photograph remains a destination, framed by the paper surface. */
body[data-home-page] .hero{min-height:590px;height:43vw;max-height:740px;background:var(--paper)}
body[data-home-page] .hero::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,var(--paper) 1%,#f8f5eff2 24%,#f8f5efb3 44%,#f8f5ef00 72%);pointer-events:none}
body[data-home-page] .hero-content{width:calc(100% - 96px);max-width:1320px;margin:auto;padding:46px 0 0;text-align:left}
body[data-home-page] .hero h1{font:400 clamp(54px,6.6vw,96px)/1.06 var(--serif);font-stretch:normal;letter-spacing:-.045em;white-space:normal;max-width:1000px;margin:0}
body[data-home-page] .hero-subtitle{font:400 21px/1.55 var(--sans);letter-spacing:0;color:var(--muted);max-width:660px;margin:22px 0 0}
body[data-home-page] .hero-actions{justify-content:flex-start;margin-top:28px}
body[data-home-page] .hero-actions .button{font:600 16px/1.45 var(--sans);min-width:0;width:auto;min-height:56px;padding:15px 52px 15px 24px;background:var(--action);color:#fff;border-radius:12px}
body[data-home-page] .hero-actions .button img{filter:brightness(0) invert(1)}
body[data-home-page] .hero-aside{font:600 10px/1.7 var(--sans);letter-spacing:.22em;top:auto;bottom:110px;color:var(--ink)}
body[data-home-page] .hero-footnotes{color:var(--ink)}
:root[data-theme=night] body[data-home-page] .hero::before{background:linear-gradient(180deg,var(--paper) 1%,#10263bf0 24%,#10263b91 44%,#10263b00 72%)}
@media(max-width:800px){
 body.day-planner .wizard-page-intro h1{font-size:clamp(36px,7.6vw,58px);line-height:1.12}
 body.day-planner .wizard-page-intro>h1+p{font-size:17px}
 body[data-home-page] .hero{min-height:580px;height:580px;max-height:none}
 body[data-home-page] .hero-content{width:calc(100% - 40px);padding-top:30px}
 body[data-home-page] .hero h1{font-size:clamp(44px,8.7vw,68px);line-height:1.08;max-width:600px}
 body[data-home-page] .hero-subtitle{font-size:18px;max-width:450px;margin:18px 0 0}
 body[data-home-page] .hero-actions{margin-top:22px}
 body[data-home-page] .hero-aside{bottom:84px;right:24px}
 body[data-home-page] .hero-picture img{object-position:55% bottom}
}
@media(max-width:420px){body[data-home-page] .hero-content{width:calc(100% - 32px)}body.day-planner .wizard-page-intro h1{font-size:36px}}

/* Detail and food templates retain their own layout, with one title scale. */
.inner-page .inner-main h1,.inner-page .inner-main .inner-title{font:400 clamp(42px,5.8vw,76px)/1.08 var(--serif);letter-spacing:-.045em}
.inner-page .inner-main .inner-lead{font:400 clamp(17px,1.8vw,21px)/1.6 var(--sans);color:var(--muted)}
@media(max-width:800px){.inner-page .inner-main h1,.inner-page .inner-main .inner-title{font-size:clamp(36px,7.6vw,58px);line-height:1.12}.inner-main>:is(header,.inner-hero,.wizard-page-intro)::after,.transport-hero::after,.events-heading::after{opacity:.32}}

.transport-settings-details>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style:none}
.transport-settings-details>summary::-webkit-details-marker{display:none}
.transport-settings-details>summary h2{margin:0}
.transport-settings-details>summary>span{font:400 22px/1 var(--sans);color:var(--sea-ink);transition:transform .15s}
.transport-settings-details[open]>summary{margin-bottom:24px}
.transport-settings-details[open]>summary>span{transform:rotate(180deg)}
.transport-result{scroll-margin-top:20px}

body.day-planner #my-trip .wave-stop-summary h4,body.day-planner #my-trip .wave-stop-summary h4 a{font-weight:400}

/* The day's route stays readable; details remain one tap away. */
.transport-plan-label{font:600 11px/1.5 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--sea-muted);margin:0 0 8px}
.transport-plan-b{border-top:1px solid var(--line);padding-top:16px;margin-top:20px;color:var(--sea-ink)}
.transport-plan-b summary,.transport-budget summary{cursor:pointer;font:600 16px/1.5 var(--sans)}
.transport-plan-b p{font-size:15px;color:var(--muted);margin:12px 0 0}
.transport-budget{padding-top:16px;margin-top:16px}
.transport-budget h3{margin-top:20px}
.transport-saved{display:grid;grid-template-columns:36px minmax(0,1fr);gap:4px 12px;align-items:center}
.transport-saved-check{grid-row:1/3;width:36px;height:36px;filter:invert(43%) sepia(18%) saturate(1021%) hue-rotate(82deg) brightness(93%) contrast(83%)}
.transport-saved p{font-size:21px;margin:0}.transport-saved a{grid-column:2;font-size:14px}
@media print{.transport-budget:not([open])>*:not(summary),.transport-plan-b:not([open])>*:not(summary){display:block}}

/* Exact selected composition: paper, generous Times type, a route before controls. */
@font-face{font-family:Caveat;font-style:normal;font-weight:400 700;font-display:swap;src:url('./assets/fonts/caveat-variable.ttf') format('truetype')}
:root{--serif:'Times New Roman',Times,'Liberation Serif',serif;--sans:Arial,'Liberation Sans',sans-serif;--action:#5386a6;--action-hover:#427592}
h1,h2,h3,h4{font-weight:400;letter-spacing:-.025em}
.brand-mark{object-fit:contain;width:60px;height:60px}
.site-header .brand-name{font-family:var(--serif);font-weight:700;letter-spacing:-.025em}
.site-header .brand-caption{font-size:21px}
.footer-brand .brand-mark{width:48px;height:48px}
@media(min-width:601px) and (max-width:1100px){
 .inner-page .site-header,.site-header{min-height:118px;padding:18px 40px 28px;gap:0}
 .site-header .brand{gap:16px;order:1}
 .site-header .brand-mark{width:68px;height:68px}
 .site-header .brand-name{font-size:32px;line-height:1.1}
 .site-header .brand-caption{font-size:24px;line-height:1.2}
 .site-header .desktop-nav{display:none}
 .site-header .header-note{display:block;order:2;font:600 14px/1.5 var(--sans);letter-spacing:.25em;text-transform:uppercase;color:#68859c;border-left:1px solid var(--line);padding:8px 0 8px 30px;margin:0 0 0 auto}
 .site-header .header-actions{order:3;margin-left:60px;border:0;padding:0}
 .site-header .menu-button{display:grid;width:60px;height:60px;border:0;background:none}
 .site-header .menu-button img{width:54px;height:54px}
 .site-header .theme-control,.site-header .search-trigger{display:none}
 .site-header:has(.menu-button[aria-expanded=true]) .theme-control{display:block;position:absolute;z-index:35;top:130px;right:76px}
 .site-header:has(.menu-button[aria-expanded=true]) .search-trigger{display:grid;position:absolute;z-index:35;top:130px;right:28px}
 .site-header .mobile-nav:not([hidden]){display:flex;flex-direction:column;position:absolute;z-index:30;top:calc(100% - 4px);left:24px;right:24px;padding:72px 28px 28px;gap:0}
}
@media(max-width:600px){
 .inner-page .site-header,.site-header{min-height:88px;padding:14px 18px;gap:8px}
 .site-header .brand{gap:9px}
 .site-header .brand-mark{width:48px;height:48px}
 .site-header .brand-name{font-size:22px;line-height:1.12}
 .site-header .brand-caption{font-size:17px;line-height:1.25}
 .site-header .header-note{display:none}
 .site-header .header-actions{border:0;padding:0;gap:0}
 .site-header .menu-button{display:grid;width:42px;height:44px;background:none;border:0}
 .site-header .menu-button img{width:34px;height:34px}
}
body[data-transport]{--u:min(1px,.117096vw)}
body[data-transport] .inner-main{width:calc(100% - 56*var(--u));max-width:800px;padding-top:0;margin:0 auto}
body[data-transport] .breadcrumbs,body[data-transport] .page-updated{display:none}
body[data-transport] .transport-page{max-width:none;padding-bottom:0}
body[data-transport] .transport-hero{height:calc(315*var(--u));padding:calc(50*var(--u)) calc(20*var(--u)) 0;margin:0;position:relative;isolation:isolate}
body[data-transport].inner-page .inner-main .transport-hero h1{font:700 calc(76*var(--u))/1.06 var(--serif);letter-spacing:-.025em;margin:0;max-width:none;text-wrap:nowrap}
body[data-transport] .transport-date{display:block;border:0;border-radius:6px;background:none;color:var(--ink);padding:0;margin:calc(6*var(--u)) 0 0;font:700 calc(44*var(--u))/1.14 var(--serif);text-align:left;cursor:pointer}
body[data-transport] .transport-date:hover{color:var(--sea-ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px}
body[data-transport] .transport-lead{font:400 calc(27*var(--u))/1.25 var(--sans);letter-spacing:0;color:var(--muted);margin:calc(25*var(--u)) 0 0;max-width:640px;text-wrap:initial}
body[data-transport] .transport-hero-note{position:absolute;top:calc(65*var(--u));right:calc(-9*var(--u));font:600 calc(14*var(--u))/1.4 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:#68859c;margin:0}
body[data-transport] .transport-hero-note::after,body[data-transport] .transport-card-footer p::after{content:'';display:block;width:calc(34*var(--u));height:2px;background:var(--brand-amber);margin-top:calc(13*var(--u))}
body[data-transport] .transport-hero::after{width:calc(260*var(--u));right:calc(-28*var(--u));bottom:calc(-15*var(--u));opacity:.8}
body[data-transport] .transport-workspace{display:block;margin:0}
body[data-transport] .transport-result{padding:calc(40*var(--u));border:0;border-radius:calc(20*var(--u));background:var(--card);box-shadow:0 10px 32px #152d400d;min-height:calc(761*var(--u));margin:0;overflow:hidden}
body[data-transport] .transport-plan-heading{display:grid;grid-template-columns:calc(40*var(--u)) minmax(0,1fr) calc(190*var(--u));gap:calc(30*var(--u));align-items:start;margin:0}
body[data-transport] .transport-plan-pin{width:calc(42*var(--u));height:calc(50*var(--u));margin-top:calc(2*var(--u));filter:invert(65%) sepia(68%) saturate(475%) hue-rotate(351deg) brightness(90%) contrast(88%)}
body[data-transport] .transport-plan-heading h2{font:700 calc(48*var(--u))/1.12 var(--serif);letter-spacing:-.025em;margin:0;white-space:nowrap;text-wrap:initial}
body[data-transport] .transport-plan-label{font:600 calc(16*var(--u))/1.5 var(--sans);letter-spacing:.28em;color:#68859c;margin:calc(7*var(--u)) 0 0;text-transform:uppercase}
body[data-transport] .transport-plan-motto{font:400 calc(28*var(--u))/1.3 Caveat,cursive;letter-spacing:.02em;color:#718497;white-space:pre-line;transform:rotate(-5deg);text-align:center;margin:0}
body[data-transport] .transport-plan-motto::after{content:'';display:block;width:calc(118*var(--u));height:2px;background:var(--brand-amber);margin:calc(9*var(--u)) auto 0;transform:rotate(-3deg)}
body[data-transport] .transport-timeline{list-style:none;counter-reset:transport;display:block;margin:calc(40*var(--u)) 0 0 calc(21*var(--u));padding:0;border:0;position:relative}
body[data-transport] .transport-timeline li{counter-increment:transport;display:grid;grid-template-columns:calc(84*var(--u)) minmax(0,1fr);column-gap:calc(44*var(--u));position:relative;min-height:calc(165*var(--u));padding:0 0 calc(25*var(--u)) calc(64*var(--u));border:0;border-left:1px dashed #6095b4;margin:0;align-content:start;row-gap:0}
body[data-transport] .transport-timeline li:last-child{border-left-color:transparent;min-height:calc(130*var(--u));padding-bottom:0}
body[data-transport] .transport-timeline li::before{content:counter(transport);position:absolute;left:calc(-22*var(--u));top:calc(15*var(--u));width:calc(44*var(--u));height:calc(44*var(--u));border-radius:50%;background:#6194b2;border:0;color:#fff;display:grid;place-items:center;font:400 calc(28*var(--u))/1 var(--sans);z-index:1}
body[data-transport] .transport-step-icon{grid-column:1;grid-row:1/3;display:grid;place-items:center;width:calc(84*var(--u));height:calc(84*var(--u));border-radius:50%;background:#e3ecee;margin:0}
body[data-transport] .transport-step-icon img{width:calc(48*var(--u));height:calc(48*var(--u));filter:invert(8%) sepia(44%) saturate(2148%) hue-rotate(179deg) brightness(90%) contrast(105%)}
body[data-transport] .transport-timeline h3{grid-column:2;margin:calc(5*var(--u)) 0 0;font:700 calc(36*var(--u))/1.2 var(--serif);letter-spacing:-.025em;text-wrap:initial}
body[data-transport] .transport-timeline p{grid-column:2;white-space:pre-line;margin:0;font:400 calc(27*var(--u))/1.2 var(--sans);letter-spacing:0;color:var(--muted)}
body[data-transport] .transport-card-footer{display:flex;align-items:center;justify-content:space-between;gap:calc(25*var(--u));border-top:1px solid var(--line);margin-top:calc(17*var(--u));padding:calc(27*var(--u)) 0 0;min-height:calc(115*var(--u))}
body[data-transport] .transport-card-footer img{width:calc(300*var(--u));height:calc(85*var(--u));object-fit:contain}
body[data-transport] .transport-card-footer p{width:calc(260*var(--u));font:600 calc(14*var(--u))/1.5 var(--sans);letter-spacing:.24em;color:#68859c;text-transform:uppercase;white-space:pre-line;margin:0}
body[data-transport] .transport-result-actions{display:flex;flex-direction:column;gap:0;margin:calc(35*var(--u)) calc(3*var(--u)) 0;padding:0;border:0}
body[data-transport] .transport-result-actions button{flex:none;width:100%;min-width:0;letter-spacing:0;cursor:pointer}
body[data-transport] .transport-result-actions .transport-primary{display:grid;grid-template-columns:calc(44*var(--u)) 1fr calc(32*var(--u));align-items:center;gap:calc(20*var(--u));min-height:calc(105*var(--u));border:0;border-radius:calc(17*var(--u));padding:calc(24*var(--u)) calc(48*var(--u));font:600 calc(32*var(--u))/1.3 var(--sans);color:#fff;background:#5386a6;box-shadow:none}
body[data-transport] .transport-primary>img{width:calc(44*var(--u));height:calc(44*var(--u));filter:brightness(0) invert(1)}
body[data-transport] .transport-primary>img:first-child{justify-self:end}
body[data-transport] .transport-primary>.transport-action-arrow{width:calc(32*var(--u));height:calc(32*var(--u))}
body[data-transport] .transport-result-actions .transport-secondary{display:flex;align-items:center;justify-content:center;gap:calc(18*var(--u));background:none;border:0;border-radius:10px;padding:calc(20*var(--u));margin-top:calc(20*var(--u));min-height:calc(80*var(--u));font:600 calc(28*var(--u))/1.4 var(--sans);color:#386f95}
body[data-transport] .transport-secondary span{text-decoration:underline;text-decoration-color:#b9b9af;text-underline-offset:calc(12*var(--u));text-decoration-thickness:1px}
body[data-transport] .transport-secondary img{width:calc(44*var(--u));height:calc(44*var(--u));filter:invert(37%) sepia(29%) saturate(923%) hue-rotate(163deg) brightness(96%) contrast(88%)}
body[data-transport] .transport-saved{display:grid;grid-template-columns:calc(56*var(--u)) minmax(0,1fr) auto;gap:calc(24*var(--u));align-items:center;background:#eaf0e6;border:2px solid #d6e5d0;border-radius:calc(14*var(--u));margin:calc(24*var(--u)) calc(4*var(--u)) 0;padding:calc(30*var(--u));min-height:calc(133*var(--u))}
body[data-transport] .transport-saved[hidden]{display:none}
body[data-transport] .transport-saved-check{grid-row:auto;width:calc(56*var(--u));height:calc(56*var(--u));filter:invert(44%) sepia(17%) saturate(1012%) hue-rotate(82deg) brightness(92%) contrast(85%)}
body[data-transport] .transport-saved p{font:700 calc(31*var(--u))/1.2 var(--serif);letter-spacing:-.02em;margin:0 0 calc(6*var(--u));white-space:nowrap}
body[data-transport] .transport-saved-copy>span{font:400 calc(22*var(--u))/1.3 var(--sans);color:#8499a7;display:block}
body[data-transport] .transport-saved a{grid-column:auto;display:flex;align-items:center;gap:calc(6*var(--u));font:600 calc(22*var(--u))/1.5 var(--sans);color:#2d6082;white-space:nowrap;text-decoration:underline;text-underline-offset:calc(13*var(--u))}
body[data-transport] .transport-saved a img{width:calc(22*var(--u));height:calc(22*var(--u));filter:invert(37%) sepia(29%) saturate(923%) hue-rotate(163deg) brightness(96%) contrast(88%)}
body[data-transport] .transport-action-status{font:400 16px/1.5 var(--sans);color:var(--muted);margin:16px 4px 0}
body[data-transport] .transport-shore{position:relative;width:100vw;left:50%;transform:translateX(-50%);height:calc(250*var(--u));min-height:130px;margin-top:calc(32*var(--u));background:url('./assets/identity/baltic-shore.webp') center bottom/cover no-repeat;display:flex;justify-content:space-between;align-items:flex-start;padding:calc(55*var(--u)) max(calc((100vw - 525px)/2),calc(40*var(--u))) 0;color:#2b5a76}
body[data-transport] .transport-shore>div{min-width:calc(320*var(--u))}
body[data-transport] .transport-shore p{font:700 calc(31*var(--u))/1.2 var(--serif);margin:0 0 calc(8*var(--u))}
body[data-transport] .transport-shore span{font:600 calc(14*var(--u))/1.5 var(--sans);text-transform:uppercase;letter-spacing:.3em}
body[data-transport] .transport-shore-note{color:#8195a1;white-space:nowrap}
body[data-transport] .transport-facts{margin:32px 0 40px;border-top:1px solid var(--line)}
body[data-transport] .transport-facts>summary{font:600 17px/1.4 var(--sans);padding:22px 0;cursor:pointer;color:var(--sea-ink);display:list-item;list-style-position:inside}
body[data-transport] .transport-facts section{margin-top:36px}
body[data-transport] .transport-result-heading{font:600 19px/1.5 var(--sans)}
body[data-transport] .transport-settings{width:600px;max-width:calc(100% - 32px);padding:28px;border:1px solid var(--line);border-radius:18px}
body[data-transport] .transport-settings-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}
body[data-transport] .transport-settings-top h2{font:700 36px/1.2 var(--serif);margin:0}
body[data-transport] .transport-settings-top .icon-button{border:0;background:none;min-width:44px;min-height:44px;display:grid;place-items:center}
body[data-transport] #transport-form{display:grid;grid-template-columns:1fr 1fr;gap:20px}
body[data-transport] #transport-form label{min-width:0;font:400 15px/1.5 var(--sans)}
body[data-transport] #transport-form input,body[data-transport] #transport-form select{display:block;width:100%;margin-top:7px}
body[data-transport] #transport-form .transport-extra,body[data-transport] #transport-form>button,body[data-transport] #transport-status{grid-column:1/-1}
body[data-transport] #transport-form>button{display:block;font:600 17px/1.5 var(--sans);padding:15px;min-height:54px}
body[data-transport] #transport-status{margin:0;font:400 14px/1.5 var(--sans);color:var(--muted)}
body[data-transport] .site-footer::before{display:none}
body[data-transport] .site-footer{margin-top:0;padding-top:32px}
:root[data-theme=night] body[data-transport] .transport-result{background:var(--card)}
:root[data-theme=night] body[data-transport] .transport-saved{background:#233d35;border-color:#3a6450}
:root[data-theme=night] body[data-transport] .transport-saved-copy>span{color:#b3c8b9}
:root[data-theme=night] body[data-transport] .transport-saved a{color:#b0d6ee}
@media(max-width:600px){
 body[data-transport] .transport-hero{padding-top:20px;height:calc(315*var(--u) + 24px)}
 body[data-transport] .transport-lead{font-size:max(14px,calc(27*var(--u)));margin-top:14px}
 body[data-transport] .transport-hero-note{display:none}
 body[data-transport] .transport-hero::after{width:calc(225*var(--u));opacity:.6}
 body[data-transport] .transport-result{min-height:0;padding:20px 18px}
 body[data-transport] .transport-plan-heading{grid-template-columns:20px 1fr;gap:10px}
 body[data-transport] .transport-plan-heading h2{font-size:clamp(25px,5.6vw,34px)}
 body[data-transport] .transport-plan-pin{width:22px;height:28px}
 body[data-transport] .transport-plan-label{font-size:10px;letter-spacing:.2em;margin-top:5px}
 body[data-transport] .transport-plan-motto{display:none}
 body[data-transport] .transport-timeline{margin-top:26px;margin-left:10px}
 body[data-transport] .transport-timeline li{grid-template-columns:42px minmax(0,1fr);column-gap:16px;padding:0 0 24px 30px;min-height:118px}
 body[data-transport] .transport-timeline li:last-child{min-height:90px}
 body[data-transport] .transport-timeline li::before{width:24px;height:24px;left:-12px;top:8px;font-size:14px}
 body[data-transport] .transport-step-icon{width:42px;height:42px}
 body[data-transport] .transport-step-icon img{width:26px;height:26px}
 body[data-transport] .transport-timeline h3{font-size:23px;margin-top:0;line-height:1.15}
 body[data-transport] .transport-timeline p{font-size:14px;line-height:1.4;margin-top:5px}
 body[data-transport] .transport-card-footer{margin-top:12px;padding-top:15px;min-height:62px;gap:16px}
 body[data-transport] .transport-card-footer img{width:45%;height:52px}
 body[data-transport] .transport-card-footer p{width:auto;font-size:9px;letter-spacing:.15em}
 body[data-transport] .transport-card-footer p::after{margin-top:8px;width:26px}
 body[data-transport] .transport-result-actions .transport-primary{min-height:58px;font-size:18px;padding:14px 20px;grid-template-columns:24px 1fr 20px;gap:10px;border-radius:12px}
 body[data-transport] .transport-primary>img{width:26px;height:26px}
 body[data-transport] .transport-primary>.transport-action-arrow{width:20px;height:20px}
 body[data-transport] .transport-result-actions .transport-secondary{min-height:58px;font-size:17px;padding:14px;margin-top:8px;gap:9px}
 body[data-transport] .transport-secondary img{width:28px;height:28px}
 body[data-transport] .transport-saved{grid-template-columns:34px minmax(0,1fr);padding:16px;gap:8px 12px;border-radius:12px;margin-top:14px;min-height:0}
 body[data-transport] .transport-saved-check{width:34px;height:34px;grid-row:1/3}
 body[data-transport] .transport-saved p{font-size:20px;white-space:normal;margin-bottom:3px}
 body[data-transport] .transport-saved-copy>span{font-size:13px}
 body[data-transport] .transport-saved a{grid-column:2;font-size:14px;gap:4px;text-underline-offset:5px}
 body[data-transport] .transport-saved a img{width:16px;height:16px}
 body[data-transport] .transport-shore{padding:28px 28px 0;min-height:160px}
 body[data-transport] .transport-shore p{font-size:22px}
 body[data-transport] .transport-shore span{font-size:10px;letter-spacing:.2em}
 body[data-transport] .transport-shore>div{min-width:0}
 body[data-transport] .transport-shore-note{max-width:90px}
 body[data-transport] #transport-form{grid-template-columns:1fr;gap:16px}
}

/* Comparison iteration 2: bundled metric-compatible fonts and measured rhythm. */
@font-face{font-family:'Baltic Times';font-style:normal;font-weight:400 500;font-display:swap;src:url('./assets/fonts/tinos-regular.ttf') format('truetype')}
@font-face{font-family:'Baltic Times';font-style:normal;font-weight:600 900;font-display:swap;src:url('./assets/fonts/tinos-bold.ttf') format('truetype')}
@font-face{font-family:'Baltic Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url('./assets/fonts/arimo-variable.ttf') format('truetype')}
:root{--serif:'Baltic Times','Times New Roman',Times,serif;--sans:'Baltic Sans',Arial,sans-serif}
.site-header{border-bottom:0!important}
@media(min-width:601px) and (max-width:1100px){
 .site-header .header-actions>[data-open-search]{display:none}
 .site-header:has(.menu-button[aria-expanded=true]) .header-actions>[data-open-search]{display:grid;position:absolute;z-index:35;top:130px;right:28px}
 .site-header .header-actions{margin-left:60px}
 .site-header .header-note{margin-left:auto;padding-left:30px}
 .site-header .brand{transform:translateY(5px)}
 .site-header .menu-button img{width:60px;height:60px}
}
body[data-transport] .transport-lead{margin-top:calc(18*var(--u));font-size:calc(28*var(--u))}
body[data-transport] .transport-plan-motto{font-size:calc(27*var(--u));line-height:1.2}
body[data-transport] .transport-plan-heading{min-height:calc(78*var(--u))}
body[data-transport] .transport-timeline li:first-child{min-height:calc(170*var(--u))}
body[data-transport] .transport-timeline li:nth-child(2){min-height:calc(153*var(--u))}
body[data-transport] .transport-result{padding-bottom:calc(39*var(--u))}
body[data-transport] .transport-card-footer{min-height:calc(95*var(--u))}
body[data-transport] .transport-card-footer img{height:calc(68*var(--u));width:calc(300*var(--u));object-fit:fill;opacity:.85}
body[data-transport] .transport-result-actions .transport-primary{font-weight:500;grid-template-columns:calc(180*var(--u)) 1fr calc(32*var(--u));padding-inline:calc(48*var(--u));gap:calc(24*var(--u))}
body[data-transport] .transport-result-actions .transport-primary>span{text-align:left;white-space:nowrap}
body[data-transport] .transport-result-actions .transport-secondary{font-weight:500;font-size:calc(30*var(--u));margin-top:calc(18*var(--u))}
body[data-transport] .transport-saved{padding:calc(30*var(--u))}
body[data-transport] .transport-saved p{font-size:calc(30*var(--u))}
body[data-transport] .transport-saved a{font-weight:500}
body[data-transport] .transport-shore{background-size:100% auto;padding-inline:max(calc((100vw - 525px)/2),calc(40*var(--u))) calc(30*var(--u))}
body[data-transport] .transport-shore-note::after{content:'';display:block;width:calc(34*var(--u));height:2px;background:var(--brand-amber);margin-top:calc(13*var(--u))}
@media(max-width:600px){
 body[data-transport] .transport-lead{font-size:max(14px,calc(28*var(--u)));margin-top:14px}
 body[data-transport] .transport-plan-heading{min-height:0}
 body[data-transport] .transport-timeline li:first-child,body[data-transport] .transport-timeline li:nth-child(2){min-height:118px}
 body[data-transport] .transport-result{padding-bottom:20px}
 body[data-transport] .transport-card-footer{min-height:62px}
 body[data-transport] .transport-card-footer img{width:45%;height:42px}
 body[data-transport] .transport-result-actions .transport-primary{grid-template-columns:24px 1fr 20px;gap:10px;padding-inline:20px}
 body[data-transport] .transport-result-actions .transport-primary>span{text-align:center}
 body[data-transport] .transport-result-actions .transport-secondary{font-size:18px;margin-top:8px}
 body[data-transport] .transport-saved{padding:16px}
 body[data-transport] .transport-saved p{font-size:20px}
 body[data-transport] .transport-shore{background-size:auto 100%;padding-inline:28px}
}
/* Optical weight and the last measured seven-pixel correction. */
body[data-transport].inner-page .inner-main .transport-hero h1,body[data-transport] .transport-date,body[data-transport] .transport-plan-heading h2,body[data-transport] .transport-timeline h3{font-weight:400}
body[data-transport] .transport-plan-label{line-height:1.2;margin-top:5px;font-weight:400}
body[data-transport] .transport-saved{padding-block:calc(29*var(--u))}
body[data-transport] .transport-hero-note,body[data-transport] .transport-card-footer p{font-weight:400}
@media(min-width:601px) and (max-width:1100px){.site-header .brand-name{font-weight:400}.site-header .header-note{font-weight:400}}
@media(max-width:600px){body[data-transport] .transport-saved{padding-block:16px}}
/* Reference iteration 4: optical serif weight and original hero cutout. */
body[data-transport].inner-page .inner-main .transport-hero h1,
body[data-transport] .transport-date,
body[data-transport] .transport-plan-heading h2,
body[data-transport] .transport-timeline h3{-webkit-text-stroke:.32px currentColor}
body[data-transport].inner-page .inner-main .transport-hero h1{font-size:calc(78*var(--u))}
body[data-transport] .transport-plan-heading h2{font-size:calc(49*var(--u))}
body[data-transport] .transport-hero::after{background-image:url('./assets/identity/hero-reeds-gulls.webp');width:calc(234*var(--u));height:calc(147*var(--u));aspect-ratio:auto;right:calc(-28*var(--u));bottom:0;opacity:1}
body[data-transport] .transport-step-icon img{width:calc(44*var(--u));height:calc(44*var(--u))}
body[data-transport] .transport-result-actions .transport-primary{background:#5185a6}
body[data-transport] .transport-primary>img:first-child{width:calc(64*var(--u));height:calc(64*var(--u))}
body[data-transport] .transport-result-actions .transport-secondary{font-size:calc(28*var(--u))}
body[data-transport] .transport-saved p{color:var(--ink);font-weight:400;-webkit-text-stroke:.3px currentColor}
body[data-transport] .transport-shore p{font-weight:400;-webkit-text-stroke:.3px currentColor}
body[data-transport] .transport-shore span{font-weight:400}
body[data-transport] .transport-visible-status{margin:24px 0 0;padding:16px 20px;border-left:3px solid var(--brand-amber);background:var(--sea-soft);font:400 17px/1.5 var(--sans)}
body[data-transport] .transport-result:has(.transport-timeline:empty){min-height:0}
body[data-transport] .transport-timeline:empty{display:none}
@media(min-width:601px) and (max-width:1100px){.site-header .brand-name{font-weight:700}.site-header .menu-button img{width:69px;height:66px}}
@media(max-width:600px){
 body[data-transport].inner-page .inner-main .transport-hero h1{font-size:calc(76*var(--u))}
 body[data-transport] .transport-plan-heading h2{font-size:clamp(25px,5.6vw,34px)}
 body[data-transport] .transport-step-icon img{width:24px;height:24px}
 body[data-transport] .transport-primary>img:first-child{width:32px;height:32px}
 body[data-transport] .transport-result-actions .transport-secondary{font-size:18px}
}

body[data-transport] .transport-primary>img:first-child{width:calc(54*var(--u));height:calc(54*var(--u))}
body[data-transport] .transport-card-footer img{width:calc(300*var(--u));height:calc(80*var(--u));opacity:1;object-fit:contain}
@media(min-width:601px) and (max-width:1100px){.site-header .menu-button img{max-width:none;flex-shrink:0}}
body[data-transport]{--serif:Georgia,'Times New Roman',serif}
@media(max-width:600px){body[data-transport] .transport-primary>img:first-child{width:32px;height:32px}body[data-transport] .transport-card-footer img{width:45%;height:42px}}
/* Final editorial proportions; geometry follows the supplied 854px reference. */
:root{--serif:Georgia,'Baltic Times','Times New Roman',serif}
.site-header .brand-name{font-weight:400;-webkit-text-stroke:.2px currentColor}
body[data-transport]{--serif:Georgia,'Baltic Times','Times New Roman',serif}
body[data-transport].inner-page .inner-main .transport-hero h1{font-size:calc(74*var(--u))}
body[data-transport] .transport-plan-heading h2{font-size:calc(46*var(--u))}
body[data-transport] .transport-timeline h3{font-size:calc(34*var(--u))}
body[data-transport] .transport-card-footer img{height:calc(68*var(--u));object-fit:fill}
body[data-transport] .transport-saved p{font-size:calc(29*var(--u))}
body[data-transport] .transport-shore{height:calc(222*var(--u));background-image:url('./assets/identity/bottom-shore-clean-v2.webp');background-size:100% 100%;padding-top:calc(58*var(--u))}
body[data-transport] .transport-shore p{font-size:calc(30*var(--u))}
@media(min-width:601px) and (max-width:1100px){.site-header .brand-name{font-size:30px;font-weight:400}}
@media(max-width:600px){
 body[data-transport].inner-page .inner-main .transport-hero h1{font-size:calc(70*var(--u))}
 body[data-transport] .transport-plan-heading h2{font-size:clamp(25px,5.6vw,34px)}
 body[data-transport] .transport-timeline h3{font-size:23px}
 body[data-transport] .transport-card-footer img{width:45%;height:42px}
 body[data-transport] .transport-saved p{font-size:20px}
 body[data-transport] .transport-shore{padding-top:28px;background-size:auto 100%}
 body[data-transport] .transport-shore p{font-size:22px}
}

/* The shared day shell uses the same measured brand as the route page. */
body.day-planner .site-header .brand-name{font-weight:400}

/* Approved identity is independent of the visual reference. */
body .site-header .brand .brand-name{font:400 23px/1.3 "Baltic Serif",Georgia,serif;letter-spacing:2.6px;text-transform:uppercase;-webkit-text-stroke:0}
body .site-header .brand .brand-caption{font:400 8px/1.5 "Baltic Serif",Georgia,serif;letter-spacing:1.6px;text-transform:uppercase;margin-top:3px;color:var(--muted)}
body .site-header .header-note{font:400 10px/1.6 "Baltic Serif",Georgia,serif;letter-spacing:3px;text-transform:uppercase;color:var(--muted)}
@media(min-width:601px) and (max-width:1100px){
 body .site-header .brand .brand-name{font-size:25px;letter-spacing:2px}
 body .site-header .brand .brand-caption{font-size:9px;letter-spacing:2px}
 body .site-header .header-actions{margin-left:34px}
 body .site-header .header-note{font-size:10px;padding-left:24px}
 body .site-header .menu-button img{width:42px;height:42px}
}
@media(max-width:600px){
 body .site-header .brand .brand-name{font-size:17px;letter-spacing:1.4px}
 body .site-header .brand .brand-caption{font-size:7px;letter-spacing:1.1px}
}
@media(max-width:360px){
 body .site-header .brand{gap:6px}
 body .site-header .brand-mark{width:40px;height:40px}
 body .site-header .brand .brand-name{font-size:14px;letter-spacing:1px}
 body .site-header .brand .brand-caption{font-size:6px;letter-spacing:.85px}
}

/* Shared composition: one title, one useful surface, a clear next action. */
body[data-ui-context]:not([data-transport]) .inner-main :is(.inner-title,.tool-intro h1,.events-heading h1,.news-index h1,.news-info h1,.dunes-hero h1){font-weight:400;letter-spacing:-.035em}
body[data-ui-context]:not([data-transport]) .inner-main :is(.inner-actions,.route-intro .inner-actions){gap:12px}
body[data-ui-context] :is(.save-item,.route-download,.stop-nav,.dunes-card-link,.news-card-action){font-size:14px;min-height:44px;color:var(--sea-ink)}
body[data-ui-context] .save-item{border-radius:10px;padding:12px 16px}
body[data-ui-context] :is(.section-jumps,.dunes-jumps,.food-guide-nav){gap:8px}
body[data-ui-context] :is(.section-jumps a,.dunes-jumps a){border-radius:10px;background:var(--card);padding:10px 16px;min-height:44px}
body[data-ui-context] :is(.route-practical,.collection-guide,.practical-panel,.food-planner,.food-tour,.dunes-card,.news-card,.guide-reading,.guide-empty,.housing-arrival,.daily-discovery){background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--card-shadow)}
body[data-ui-context] :is(.route-practical,.collection-guide,.practical-panel) p{font-size:15px;line-height:1.7;color:var(--muted)}
body[data-ui-context] :is(.route-practical,.collection-guide,.practical-panel) h2{font-weight:400;font-size:clamp(28px,3vw,38px)}
body[data-ui-context] :is(.route-practical,.practical-panel) h3{font-size:14px;letter-spacing:0}
body[data-ui-context] :is(.inner-hero,.tool-intro,.events-heading)::after{background-image:url('./assets/identity/hero-reeds-gulls.webp');width:220px;height:140px;aspect-ratio:auto;opacity:.65}
body[data-ui-context="tool"] .tool-intro::after,body[data-ui-context="events"] .events-heading::after{display:none}
.site-footer::before{background-image:url('./assets/identity/bottom-shore-clean-v2.webp');background-position:center top;background-size:cover;opacity:.65}

/* Walks: the same numbered path as the transport page, with useful stop detail. */
body[data-ui-context="route"] .route-walk-layout{gap:40px;margin-top:64px}
body[data-ui-context="route"] .route-walk{background:var(--card);padding:32px;border-radius:20px;box-shadow:var(--card-shadow)}
body[data-ui-context="route"] .route-walk h2{font-weight:400}
body[data-ui-context="route"] .route-stops>li{position:relative;grid-template-columns:36px minmax(0,1fr);gap:20px;border:0;padding:20px 0 28px}
body[data-ui-context="route"] .route-stops>li:not(:last-child)::after{content:"";position:absolute;left:17px;top:60px;bottom:-12px;border-left:1px dashed var(--sea-line)}
body[data-ui-context="route"] .route-walk .route-stops>li::before{display:grid;place-items:center;align-self:start;width:36px;height:36px;margin-top:8px;border-radius:50%;font:400 18px/1 var(--sans);color:#fff;background:var(--action)}
body[data-ui-context="route"] .route-walk .route-stops>li.is-complete::before{color:#fff;background:#527e5b}
body[data-ui-context="route"] .route-stops h3{font-weight:400;font-size:clamp(26px,2.7vw,34px);margin-top:8px}
body[data-ui-context="route"] .route-stops p{font-size:16px;line-height:1.65}
body[data-ui-context="route"] :is(.route-stop-note,.route-source-note) summary{font-size:14px;color:var(--sea-ink)}
body[data-ui-context="route"] .route-stops .route-stop-category{font:600 10px/1.5 var(--sans);letter-spacing:.16em;color:var(--sea-muted)}
body[data-ui-context="route"] .route-stop-actions .stop-check{font-size:14px}
body[data-ui-context="route"] .route-plate{background:var(--card)}
body[data-ui-context="route"] .route-plate .route-diagram{border-radius:12px}
body[data-ui-context="route"] .walk-status{font-size:14px;color:var(--muted)}

/* Places and collections: photographs and facts lead to a walk. */
body:is([data-ui-context="place"],[data-ui-context="collection"]) :is(.poi-card,.route-row){background:var(--card);border-radius:20px;box-shadow:var(--card-shadow)}
body:is([data-ui-context="place"],[data-ui-context="collection"]) .poi-card{padding:24px}
body:is([data-ui-context="place"],[data-ui-context="collection"]) .poi-card :is(h2,h3){font-weight:400}
body:is([data-ui-context="place"],[data-ui-context="collection"]) .poi-card p{font-size:15px;line-height:1.7}
body:is([data-ui-context="place"],[data-ui-context="collection"]) .poi-card figure img{border-radius:12px}
body[data-ui-context] .route-row{padding:28px}
body[data-ui-context] .route-row h3{font-weight:400}

/* Coastal hubs: actionable chapters; future projects retain a factual reading layout. */
body[data-ui-context="coast"] .dunes-hero{position:relative;isolation:isolate}
body[data-ui-context="coast"] .dunes-primary{background:var(--action);color:var(--action-ink);font-weight:600}
body[data-ui-context="coast"] .dunes-primary:hover{background:var(--action-hover)}
body[data-ui-context="coast"] .dunes-card h3{font-weight:400;font-size:30px}
body[data-ui-context="coast"] .dunes-card-link{color:var(--sea-ink);font-weight:600}
body[data-ui-context="coast"] .dunes-facts{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px}
body[data-ui-context="coast"] :is(.dunes-section,.dunes-faq,.dunes-related) h2{font-weight:400}

/* Food: keep food photography, warm accents and the same day-planning controls. */
body[data-ui-context="food"] .food-hero figure img{border-radius:20px}
body[data-ui-context="food"] .food-planner{padding:32px;margin-bottom:48px}
body[data-ui-context="food"] :is(.food-planner,.food-section-heading,.food-tour-section) h2{font-weight:400}
body[data-ui-context="food"] .food-tour{padding:28px}
body[data-ui-context="food"] .food-tour h3{font-weight:400}
body[data-ui-context="food"] .food-tour li{font-size:24px;padding-bottom:20px}
body[data-ui-context="food"] .food-tour .food-day-save{background:var(--action);color:var(--action-ink);border-color:var(--action)}
body[data-ui-context="food"] .food-tour-facts{font-size:14px;line-height:1.6}
body[data-ui-context="food"] .food-card{border-radius:20px;padding:28px}
body[data-ui-context="food"] .food-guide-day{border-radius:16px;background:var(--card);border:1px solid var(--line);box-shadow:var(--card-shadow)}

/* Events: photos, dates and equally placed primary actions. */
body[data-ui-context="events"] .events-controls{padding:24px;border:1px solid var(--line);border-radius:20px;background:var(--card);box-shadow:var(--card-shadow)}
body[data-ui-context="events"] .event-card h2{font-weight:400}
body[data-ui-context="events"] .event-body{padding:26px;gap:16px}
body[data-ui-context="events"] .event-toolbar{padding-bottom:4px}
body[data-ui-context="events"] .event-kind{font-size:11px;color:var(--sea-muted)}
body[data-ui-context="events"] .event-date{font-size:15px}
body[data-ui-context="events"] .event-links{margin-top:auto;padding-top:12px}
body[data-ui-context="events"] .event-source{font-size:12px}

/* News and reference information: readable prose rather than repeated card grids. */
body[data-ui-context="news"] .news-article{max-width:920px}
body[data-ui-context="news"] .news-article h1{font-weight:400;font-size:clamp(38px,4.8vw,66px);line-height:1.1}
body[data-ui-context="news"] .news-article h2{font-weight:400}
body[data-ui-context="news"] .news-cover img{border-radius:20px}
body[data-ui-context="news"] .news-card h2{font-weight:400}
body[data-ui-context="news"] .news-card-content{padding:28px}
body[data-ui-context="news"] .news-card-action{color:var(--sea-ink)}
body[data-ui-context="news"] .news-audiences>div{border:1px solid var(--line);border-radius:16px;padding:8px 24px 20px;background:var(--card)}
body[data-ui-context="info"] .news-info{padding:32px;background:var(--card);border-radius:20px;box-shadow:var(--card-shadow)}

/* Working tools: the day and the result stay central, advanced detail stays folded. */
body[data-ui-context="tool"] :is(.budget-controls,.guide-empty){padding:26px;background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--card-shadow)}
body[data-ui-context="tool"] .guide-reading{padding:32px}
body[data-ui-context="tool"] .guide-reading h2{font-weight:400}
body[data-ui-context="tool"] .guide-side details{border-radius:16px;background:var(--card)}
body[data-ui-context="tool"] :is(.guide-controls button:first-child,.guide-next [data-guide-next]){background:var(--action);color:var(--action-ink);border-color:var(--action);border-radius:10px}
body[data-ui-context="tool"] .guide-controls button{min-height:52px}
body[data-ui-context="day"].day-planner #my-trip .wave-stop-card{border-radius:20px;padding:24px}
body[data-ui-context="day"].day-planner .wizard-page-intro h1{font-weight:400}
body[data-ui-context="day"].day-planner #my-trip .wave-stop-title{font-weight:400}

@media(max-width:800px){
 body[data-ui-context="food"] .tool-intro,body[data-ui-context="day"] .wizard-page-intro{padding-bottom:64px}
 body[data-ui-context="food"] .tool-intro::after,body[data-ui-context="day"] .wizard-page-intro::after{width:150px;height:80px;bottom:-24px}
 body[data-ui-context="route"] .route-walk-layout{margin-top:40px;gap:24px}
 body[data-ui-context="route"] .route-walk{padding:24px}
 body[data-ui-context="route"] .route-stops>li{grid-template-columns:32px minmax(0,1fr);gap:14px}
 body[data-ui-context="route"] .route-walk .route-stops>li::before{width:32px;height:32px;font-size:16px}
 body[data-ui-context="route"] .route-stops>li:not(:last-child)::after{left:15px}
 body[data-ui-context="route"] .route-stops h3{font-size:26px}
 body[data-ui-context="route"] .route-stops p{font-size:15px}
 body[data-ui-context="events"] .events-controls{padding:20px}
 body[data-ui-context="events"] .event-body{padding:22px}
 body[data-ui-context="food"] :is(.food-planner,.food-tour,.food-card){padding:22px}
 body[data-ui-context="tool"] :is(.budget-controls,.guide-reading,.guide-empty){padding:22px}
 body[data-ui-context="info"] .news-info{padding:24px}
 body[data-ui-context="news"] .news-card-content{padding:24px}
 body[data-ui-context="coast"] .dunes-facts{padding:20px}
}
/* The same reference language also follows the traveller into working states. */
body[data-ui-context] .travel-day{--travel-ink:var(--ink);--travel-sky:var(--sea-soft);font-family:var(--sans)}
body[data-ui-context] :is(.travel-next,.travel-empty){padding:28px;background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--card-shadow)}
body[data-ui-context] .travel-day :is(h2,#travel-number){font-family:var(--serif);font-weight:400}
body[data-ui-context] .travel-toolbar{gap:24px;border-color:var(--line)}
body[data-ui-context] .travel-toolbar label{font-size:15px}
body[data-ui-context] .travel-toolbar select{border-radius:10px;background:var(--card);border-color:var(--line);color:var(--ink)}
body[data-ui-context] :is(.travel-meter,#travel-status){font-size:14px;color:var(--muted)}
body[data-ui-context] .travel-day .button{font:600 16px/1.45 var(--sans);min-height:52px;border-radius:12px;padding:14px 20px}
body[data-ui-context] .travel-day .trip-amber{background:var(--action);color:var(--action-ink);border-color:var(--action)}
body[data-ui-context] .travel-day .trip-amber:hover{background:var(--action-hover)}
body[data-ui-context] .travel-path li{grid-template-columns:36px minmax(0,1fr) auto;gap:16px;border:0;padding:14px 0 24px}
body[data-ui-context] .travel-path li:not(:last-child)::before{content:"";position:absolute;left:17px;top:50px;bottom:-14px;border-left:1px dashed var(--sea-line)}
body[data-ui-context] .travel-step-number{display:grid;place-items:center;position:relative;width:36px;height:36px;background:var(--action);color:var(--action-ink);border:0;border-radius:50%;font:500 16px/1 var(--sans)}
body[data-ui-context] .travel-path li>div>a{font:400 24px/1.25 var(--serif);color:var(--ink)}
body[data-ui-context] .travel-step-time{font-size:14px;color:var(--muted)}
body[data-ui-context] .travel-check{min-height:44px;font:600 14px/1.4 var(--sans);border-radius:10px;border-color:var(--line);background:var(--card);color:var(--sea-ink)}
body[data-ui-context] .travel-check[aria-pressed=true]{background:var(--visit-success-surface,#eaf1e7);border-color:var(--visit-success-line,#b8cdb5);color:var(--visit-success-ink,#356b45)}
body[data-ui-context] .travel-return{border-color:var(--line)}

body[data-ui-context] :is(.budget-estimates,.expense-dialog){background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:20px;box-shadow:var(--card-shadow)}
body[data-ui-context] .expense-dialog{box-shadow:0 24px 90px #152d4038}
body[data-ui-context] .expense-dialog h2{font-weight:400}
body[data-ui-context] .expense-dialog :is(label,input,select){color:var(--ink)}
body[data-ui-context] .expense-dialog :is(input,select){border-color:var(--line);border-radius:10px;background:var(--paper)}
body[data-ui-context] :is(.expense-add,.expense-save){background:var(--action);border-color:var(--action);color:var(--action-ink);border-radius:12px;min-height:52px}
body[data-ui-context] :is(.expense-add,.expense-save):hover{background:var(--action-hover)}
body[data-ui-context] :is(.expense-button,.expense-cancel,.expense-close){border-radius:10px;border-color:var(--line);background:var(--card);color:var(--sea-ink)}
body[data-ui-context] .expense-totals p{padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--card)}
body[data-ui-context] .expense-totals strong{font-weight:400}
body[data-ui-context] :is(.expense-totals small,.expense-dialog .journey-note){color:var(--muted)}

body[data-ui-context] :is(.map-location-tools,.map-choice){background:var(--card);color:var(--ink);border-color:var(--line);border-radius:16px;box-shadow:var(--card-shadow)}
body[data-ui-context] .map-location-tools{padding:20px}
body[data-ui-context] :is(.map-location-actions button,.map-choice-close,.map-neighbor-pick){font-size:14px;border-radius:10px;background:var(--paper);color:var(--sea-ink);border-color:var(--line)}
body[data-ui-context] .map-location-actions .map-locate,body[data-ui-context] .map-choice-body .save-item{background:var(--action);color:var(--action-ink);border-color:var(--action);border-radius:10px;font-size:14px}
body[data-ui-context] .map-location-actions [aria-pressed=true]{background:var(--sea);color:var(--sea-ink);border-color:var(--sea-line)}
body[data-ui-context] :is(.map-location-status,.map-choice-body,.map-choice-body p,.map-choice-back){font-size:14px;line-height:1.65;color:var(--muted)}
body[data-ui-context] :is(.map-location-note,.map-choice-note,.map-neighbor-pick small){font-size:12px!important;color:var(--muted)}
body[data-ui-context] .map-choice :is(h3,strong){color:var(--ink)}

body[data-ui-context] :is(.visit-dialog,.visit-saved,.visit-timeline-card){border-radius:20px;background:var(--card);border-color:var(--line)}
body[data-ui-context] .visit-primary{background:var(--action);color:var(--action-ink);border-color:var(--action);border-radius:12px;min-height:52px}
body[data-ui-context] .visit-primary:hover{background:var(--action-hover)}
body[data-ui-context] .visit-timeline{border-left-style:dashed}
body[data-ui-context] .visit-timeline-card[data-timeline-number]::before{background:var(--action);color:var(--action-ink);border-color:var(--action);font-size:15px}

@media(max-width:520px){
 body[data-ui-context] :is(.travel-next,.travel-empty){padding:22px}
 body[data-ui-context] .travel-path li{grid-template-columns:32px minmax(0,1fr) auto;gap:10px}
 body[data-ui-context] .travel-step-number{width:32px;height:32px}
 body[data-ui-context] .travel-path li:not(:last-child)::before{left:15px;top:46px}
 body[data-ui-context] .travel-path li>div>a{font-size:22px}
 body[data-ui-context] .travel-check{min-width:72px;font-size:13px}
 body[data-ui-context] .expense-totals p{padding:16px}
 body[data-ui-context] .expense-dialog{padding:22px 18px}
 body[data-ui-context] .map-location-tools{padding:16px}
 body[data-ui-context] .map-location-actions button{font-size:13px}
}
@media print{body[data-ui-context] :is(.route-walk,.news-info,.poi-card,.route-row,.budget-controls,.travel-next,.travel-empty,.expense-totals p){box-shadow:none;border:0;padding:0}}
