/* Direction pages and object cards of the redesign brief (sections 6–8). Structure only: colours come from the
   current site variables (--sea-*), the visual style is chosen later. Prefix sd- to stay out of other layers. */
.sd-page,.sd-object{--sd-gap:24px;color:var(--sea-ink,#172438);font-variant-numeric:tabular-nums}
/* The theme's overflow-x:hidden on html/body turns body into a scroll container and breaks position:sticky
   (filter bar, passport); clip cuts the same overflow without that side effect. */
html:has(body.sea-destination),body.sea-destination{overflow-x:clip}
.sd-page [hidden],.sd-object [hidden],.sd-similar [hidden]{display:none!important}
.sd-switch{border-bottom:1px solid var(--sea-border,#dce1e9);background:#fff}
.sd-switch .sea-shell{display:flex;gap:24px;overflow-x:auto;scrollbar-width:none}
.sd-switch a{padding:12px 0;font-size:15px;color:var(--sea-muted,#566277);border-bottom:2px solid transparent;white-space:nowrap}
.sd-switch a[aria-current]{color:var(--sea-ink,#172438);border-bottom-color:var(--sea-gold,#0068ce)}
.sd-hero{padding:40px 0 48px;background:var(--sea-paper,#f5f6fa)}
.sd-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:48px;align-items:start}
.sd-crumbs ol{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 20px;padding:0;font-size:14px;color:var(--sea-muted,#566277)}
.sd-crumbs li+li:before{content:"/";margin-right:8px}
.sd-eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--sea-muted,#566277);margin:0 0 12px}
.sd-hero h1,.sd-object h1{font-size:48px;line-height:1.1;font-weight:500;margin:0 0 18px;max-width:20ch}
.sd-lead{font-size:19px;line-height:1.6;max-width:60ch;margin:0 0 28px;color:var(--sea-muted,#566277)}
.sd-facts{display:flex;flex-wrap:wrap;gap:0;margin:0 0 32px;padding:0}
.sd-facts div{padding:0 28px 0 0;margin:0 28px 12px 0;border-right:1px solid var(--sea-border,#dce1e9)}
.sd-facts div:last-child{border:0;margin-right:0}
.sd-facts dt{font-size:14px;color:var(--sea-muted,#566277);order:2;max-width:22ch}
.sd-facts div{display:flex;flex-direction:column}
.sd-facts dd{margin:0 0 4px;font-size:30px;font-weight:500;order:1}
.sd-hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin:0}
.sd-button-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:13px 24px;border:1px solid var(--sea-gold,#0068ce);border-radius:28px;color:var(--sea-gold,#0068ce)!important;background:#fff;font-size:17px;text-align:center}
.sd-manager{background:#fff;border:1px solid var(--sea-border,#dce1e9);border-radius:var(--sea-radius,16px);padding:24px}
.sd-manager img{border-radius:50%;object-fit:cover;margin-bottom:12px}
.sd-manager p{margin:0 0 6px}.sd-manager-role{font-size:13px;color:var(--sea-muted,#566277)}.sd-manager-name{font-size:19px;font-weight:500}.sd-manager-note{font-size:14px;color:var(--sea-muted,#566277)}
.sd-manager-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px!important}
.sd-manager-links a{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--sea-border,#dce1e9);border-radius:20px;font-size:15px}
/* Filter: sticks to the top while the catalogue scrolls. */
.sd-catalog{padding:0 0 64px}
.sd-filter{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--sea-border,#dce1e9);padding:14px 0;margin-bottom:28px}
.sd-filter .sea-shell{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:center}
.sd-tabs{display:flex;gap:4px;padding:4px;border-radius:24px;background:var(--sea-paper,#f5f6fa)}
.sd-tab input,.sd-currency input,.sd-views input{position:absolute;opacity:0;pointer-events:none}
.sd-tab span,.sd-currency span,.sd-views span{display:inline-block;padding:7px 14px;border-radius:20px;font-size:15px;cursor:pointer}
.sd-tab input:checked+span,.sd-currency input:checked+span,.sd-views input:checked+span{background:var(--sea-gold,#0068ce);color:#fff}
.sd-tab input:focus-visible+span,.sd-currency input:focus-visible+span,.sd-views input:focus-visible+span{outline:3px solid #b89b68;outline-offset:2px}
.sd-tab small{opacity:.7;font-size:13px}
.sd-filter-open{display:none}
.sd-filter-fields{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.sd-field{position:relative}
.sd-field summary{list-style:none;cursor:pointer;padding:9px 16px;border:1px solid var(--sea-border,#dce1e9);border-radius:22px;font-size:15px;background:#fff;white-space:nowrap}
.sd-field summary::-webkit-details-marker{display:none}
.sd-field summary:after{content:"▾";margin-left:6px;font-size:11px;opacity:.6}
.sd-field.is-set summary{border-color:var(--sea-gold,#0068ce);color:var(--sea-gold,#0068ce)}
.sd-field-value{font-size:13px}
.sd-field-panel{position:absolute;top:calc(100% + 6px);left:0;z-index:30;min-width:240px;max-width:min(420px,calc(100vw - 32px));max-height:60vh;overflow:auto;background:#fff;border:1px solid var(--sea-border,#dce1e9);border-radius:12px;padding:14px;box-shadow:0 12px 32px #0b16261f;display:grid;gap:4px}
.sd-more .sd-field-panel{min-width:300px}
.sd-field-panel fieldset{border:0;padding:0;margin:0 0 10px}.sd-field-panel legend{font-size:13px;color:var(--sea-muted,#566277);margin-bottom:4px}
.sd-check{display:flex;gap:8px;align-items:center;padding:5px 0;font-size:15px;cursor:pointer}
.sd-check input{width:18px;height:18px;accent-color:var(--sea-gold,#0068ce)}
.sd-currency{display:flex;gap:4px;margin-bottom:10px}
.sd-budget{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sd-budget label{display:grid;gap:4px;font-size:13px;color:var(--sea-muted,#566277)}
.sd-budget input{width:100%;min-height:44px;border:1px solid #b5c0ce;border-radius:8px;padding:8px 10px;font-size:16px}
.sd-range{width:100%;margin:12px 0 0;accent-color:var(--sea-gold,#0068ce)}
.sd-rates{font-size:12px;color:var(--sea-muted,#566277);margin:10px 0 0}
.sd-filter-submit{display:flex;gap:12px;align-items:center;margin:0}
.sd-page.js .sd-filter-submit .sea-button{display:none!important}
.sd-reset{font-size:15px;color:var(--sea-muted,#566277);text-decoration:underline}
.sd-toolbar{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;margin-left:auto}
.sd-found{margin:0;font-size:15px}
.sd-sort{display:flex;gap:8px;align-items:center;font-size:14px;color:var(--sea-muted,#566277)}
.sd-sort select{min-height:40px;border:1px solid var(--sea-border,#dce1e9);border-radius:20px;padding:6px 12px;font-size:15px;background:#fff}
.sd-views{display:flex;gap:2px;padding:3px;border-radius:22px;background:var(--sea-paper,#f5f6fa)}
.sd-views span{padding:6px 12px;font-size:14px}
/* Catalogue grid: 3 / 2 / 1 columns. */
.sd-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sd-gap)}
.sd-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--sea-border,#dce1e9);border-radius:var(--sea-radius,16px);overflow:hidden;min-width:0}
.sd-card-media{position:relative;aspect-ratio:4/3;background:var(--sea-paper,#f5f6fa)}
.sd-card-photos{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.sd-card-photos::-webkit-scrollbar{display:none}
.sd-card-photos img{flex:0 0 100%;width:100%;height:100%;object-fit:cover;scroll-snap-align:start;transition:transform .8s ease-out}
.sd-card:hover .sd-card-photos img{transform:scale(1.03)}
.sd-card-nophoto{flex:1}
.sd-card-dots{position:absolute;bottom:10px;left:0;right:0;display:flex;justify-content:center;gap:5px;pointer-events:none}
.sd-card-dots i{width:6px;height:6px;border-radius:50%;background:#fff9}.sd-card-dots i.is-on{background:#fff}
.sd-card-labels{position:absolute;top:12px;left:12px;display:flex;gap:6px;flex-wrap:wrap}
.sd-card-labels.is-inline{position:static;margin:0 0 16px}
.sd-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border-radius:4px;background:#fff;color:var(--sea-ink,#172438);border:1px solid var(--sea-border,#dce1e9)}
.sd-label-exclusive{background:var(--sea-ink,#172438);color:#fff;border-color:var(--sea-ink,#172438)}
.sd-card-actions{position:absolute;top:10px;right:10px;display:flex;gap:6px}
.sd-card-actions>*{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#fffe;border:0;color:var(--sea-ink,#172438);padding:0}
.sd-fav[aria-pressed=true] path{fill:#c9735f;stroke:#c9735f}
.sd-card-body{display:flex;flex-direction:column;gap:6px;padding:18px 18px 20px;flex:1}
.sd-card-area{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--sea-muted,#566277);margin:0}
.sd-card-title{font-size:20px;line-height:1.25;font-weight:500;margin:0}
.sd-card-title a:after{content:"";position:absolute;inset:0}
.sd-card{position:relative}.sd-card-actions,.sd-card-ask,.sd-card-photos{position:relative;z-index:1}.sd-card-actions{position:absolute}
.sd-card-price{font-size:24px;font-weight:500;margin:6px 0 0}
.sd-card-sub{font-size:14px;color:var(--sea-muted,#566277);margin:0}
.sd-card-facts{display:flex;flex-wrap:wrap;gap:6px 14px;list-style:none;padding:12px 0 0;margin:auto 0 0;border-top:1px solid var(--sea-border,#dce1e9);font-size:14px;color:var(--sea-muted,#566277)}
.sd-card-ask{font-size:15px;color:var(--sea-gold,#0068ce);text-decoration:underline;margin-top:6px}
.sd-grid.is-list{grid-template-columns:1fr}
.sd-grid.is-list .sd-card{flex-direction:row}
.sd-grid.is-list .sd-card-media{flex:0 0 300px;aspect-ratio:auto;min-height:200px}
.sd-quiz{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;justify-content:space-between;padding:28px 32px;border-radius:var(--sea-radius,16px);background:var(--sea-paper,#f5f6fa)}
.sd-quiz p{font-size:22px;margin:0;max-width:40ch}
.sd-empty{padding:40px 0;font-size:18px;color:var(--sea-muted,#566277)}
.sd-more-wrap{text-align:center;margin:36px 0 0}
.sd-more-button{display:inline-flex;min-height:52px;align-items:center;padding:13px 32px;border:1px solid var(--sea-gold,#0068ce);border-radius:28px;color:var(--sea-gold,#0068ce);font-size:17px;background:#fff;cursor:pointer}
.sd-note{font-size:13px;color:var(--sea-muted,#566277);margin:16px 0 0}
.sd-map{height:min(640px,70vh);border-radius:var(--sea-radius,16px);overflow:hidden;border:1px solid var(--sea-border,#dce1e9)}
.sd-map-note{font-size:13px;color:var(--sea-muted,#566277)}
.sd-map-popup{font-size:14px;line-height:1.4}.sd-map-popup a{display:block;font-weight:500}.sd-map-popup ul{margin:6px 0 0;padding-left:16px;max-height:200px;overflow:auto}
.sd-final{padding:56px 0;background:var(--sea-paper,#f5f6fa)}
.sd-final .sea-shell{display:flex;flex-wrap:wrap;gap:20px 40px;align-items:center;justify-content:space-between}
.sd-final p:first-child{font-size:24px;line-height:1.35;max-width:36ch;margin:0}
.sd-cross{border-top:1px solid var(--sea-border,#dce1e9)}
.sd-cross .sea-shell{display:flex;flex-wrap:wrap;gap:12px 32px;align-items:center;padding:18px 0;font-size:15px}
.sd-cross span{color:var(--sea-muted,#566277)}.sd-cross a{font-weight:500}.sd-cross small{font-weight:400;color:var(--sea-muted,#566277);margin-left:6px}
/* Object page. */
.sd-object{padding:24px 0 0}
.sd-object .sd-crumbs ol{margin-bottom:16px}
.sd-object h1{font-size:40px;max-width:28ch}
.sd-object-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:40px;align-items:start;margin-top:12px}
.sd-gallery{display:grid;gap:10px}
.sd-gallery-main img{width:100%;aspect-ratio:3/2;height:auto;object-fit:cover;border-radius:var(--sea-radius,16px);display:block;background:var(--sea-paper,#f5f6fa)}
.sd-gallery-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.sd-gallery-thumbs a{position:relative;display:block}
.sd-gallery-thumbs a.is-extra{display:none}
.sd-gallery-thumbs img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;display:block}
.sd-gallery-thumbs span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0b162699;color:#fff;font-size:20px;border-radius:10px}
.sd-lightbox{width:min(1200px,100vw);max-width:100vw;max-height:100vh;padding:0;border:0;background:#0b1626;color:#fff}
.sd-lightbox::backdrop{background:#0b1626e6}
.sd-lightbox img{display:block;max-width:100%;max-height:86vh;margin:auto;object-fit:contain}
.sd-lightbox nav{display:flex;justify-content:space-between;align-items:center;padding:10px 16px}
.sd-lightbox button{background:transparent;border:1px solid #fff6;color:#fff;border-radius:20px;padding:8px 16px;font-size:16px}
.sd-passport{position:sticky;top:20px;background:#fff;border:1px solid var(--sea-border,#dce1e9);border-radius:var(--sea-radius,16px);padding:24px}
.sd-passport dl,.sd-project-facts{margin:0;padding:0}
.sd-passport dl div,.sd-project-facts div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--sea-border,#dce1e9);font-size:15px}
.sd-passport dl div:first-child dd{font-size:22px;font-weight:500}
.sd-passport dt,.sd-project-facts dt{color:var(--sea-muted,#566277)}.sd-passport dd,.sd-project-facts dd{margin:0}
.sd-passport-actions{display:grid;gap:10px;margin:20px 0 0}
.sd-block{margin:40px 0 0}
.sd-block h2{font-size:28px;font-weight:500;margin:0 0 16px}
.sd-text{font-size:17px;line-height:1.7;max-width:70ch}
.sd-readmore summary{cursor:pointer;color:var(--sea-gold,#0068ce);margin:8px 0}
.sd-features{columns:2;gap:32px;padding-left:20px;font-size:16px;line-height:1.7}
.sd-table-wrap{overflow-x:auto}
.sd-table{width:100%;border-collapse:collapse;font-size:15px}
.sd-table th,.sd-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--sea-border,#dce1e9);white-space:nowrap}
.sd-table th{font-weight:500;color:var(--sea-muted,#566277)}
.sd-timeline{display:flex;flex-wrap:wrap;gap:0;list-style:none;padding:0;margin:0;counter-reset:step}
.sd-timeline li{flex:1 1 160px;display:flex;flex-direction:column;gap:4px;padding:16px 16px 0 0;border-top:2px solid var(--sea-gold,#0068ce);margin-right:12px}
.sd-timeline strong{font-size:22px;font-weight:500}.sd-timeline span{font-size:14px;color:var(--sea-muted,#566277)}
.sd-similar{margin-bottom:56px}
.sd-project-extra{margin:32px 0}
.sd-project-facts{max-width:640px;margin-bottom:24px}
.sd-project-back{margin:24px 0 0;font-size:16px}
@media (max-width:1100px){.sd-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sd-hero-grid,.sd-object-layout{grid-template-columns:minmax(0,1fr)}.sd-passport{position:static}.sd-toolbar{margin-left:0;width:100%}}
@media (max-width:767px){
  .sd-hero{padding:24px 0 32px}.sd-hero h1,.sd-object h1{font-size:32px}.sd-lead{font-size:17px}.sd-facts dd{font-size:24px}
  .sd-facts div{padding-right:16px;margin-right:16px}
  .sd-grid{grid-template-columns:minmax(0,1fr);gap:20px}
  .sd-grid.is-list .sd-card{flex-direction:column}.sd-grid.is-list .sd-card-media{flex:none;aspect-ratio:4/3;min-height:0}
  .sd-filter{padding:10px 0;position:static}
  body.sd-sheet-open .sea-contact-bar{display:none!important}
  .sd-filter-open{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 16px;border:1px solid var(--sea-gold,#0068ce);border-radius:20px;background:#fff;color:var(--sea-gold,#0068ce);font-size:15px}
  .sd-page.js .sd-filter-fields{display:none}
  .sd-page.js .sd-filter-fields.is-open{display:flex;flex-direction:column;align-items:stretch;position:fixed;left:0;right:0;bottom:0;max-height:85vh;overflow:auto;z-index:9700;background:#fff;padding:20px 16px 88px;border-radius:16px 16px 0 0;box-shadow:0 -12px 40px #0b16263d}
  .sd-page.js .sd-filter-fields.is-open .sd-field-panel{position:static;box-shadow:none;max-width:none;max-height:none;border:0;padding:8px 4px}
  .sd-page.js .sd-filter-fields.is-open .sd-filter-submit{position:fixed;left:0;right:0;bottom:0;padding:12px 16px;background:#fff;border-top:1px solid var(--sea-border,#dce1e9)}
  .sd-page.js .sd-filter-fields.is-open .sd-filter-submit .sea-button{display:inline-flex!important;flex:1}
  .sd-toolbar{gap:10px}.sd-sort span{display:none}
  .sd-tabs{width:100%}.sd-tab{flex:1;text-align:center}.sd-tab span{width:100%}
  .sd-final{padding:40px 0 96px}.sd-final p:first-child{font-size:20px}
  .sd-features{columns:1}.sd-quiz{padding:20px}.sd-quiz p{font-size:19px}
  .sd-gallery-thumbs{grid-template-columns:repeat(4,1fr);gap:6px}
  .sd-map{height:60vh}
}
@media (prefers-reduced-motion:reduce){.sd-card-photos img{transition:none}.sd-card:hover .sd-card-photos img{transform:none}}
