/* Takeovers — studio-journey.css
   Photographic caseboards, a useful brief checklist and related photographic invitations.
   Loads after studio-art / studio-delight / studio-native; inquiry.css stays last.
   New modules are scoped .journey-*; deliberate refinements of existing modules use body.studio-journey.
   Radius language: 8px mats and panels, 4px photographs. Accent #db4a2b for marks; darker orange for small text. */
.studio-journey{--journey-paper:#f4f2ea;--journey-ink:#1e1e1e;--journey-muted:#454a40;--journey-accent:#db4a2b;--journey-accent-text:#9a2f19;--journey-rule:#1e1e1e2b;--journey-mat:#fff;--journey-sheet:#ebe8df;--journey-ease:cubic-bezier(.16,1,.3,1);--journey-space:var(--section-space,clamp(4rem,8vw,8rem));--journey-display:var(--display,"Greater Theory",sans-serif);--journey-body:var(--body,Manrope,sans-serif)}
.journey-caseboard [hidden],.journey-related [hidden],.journey-planning [hidden]{display:none!important}
.journey-caseboard,.journey-related{position:relative;background:var(--journey-paper);color:var(--journey-ink)}
.journey-caseboard{padding:clamp(1rem,3vw,2.5rem) 0 var(--journey-space)}
.journey-related{padding-block:var(--journey-space)}
.journey-caseboard .wrap>*,.journey-related .wrap>*{min-width:0}
.journey-caseboard :is(h2,summary)[id]{scroll-margin-top:6rem}

/* Section openings: a display headline and its short editorial intro, aligned at the baseline. */
.journey-heading{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:1.25rem clamp(2rem,5vw,5rem);align-items:end;margin:0 0 clamp(1.75rem,3.5vw,3rem)}
.journey-heading>*{min-width:0;margin:0}
.studio-journey .journey-heading h2{font:400 clamp(2rem,3.6vw,3.5rem)/1.16 var(--journey-display);letter-spacing:-.025em;color:var(--journey-ink);max-width:18ch;margin:0;text-wrap:balance;word-spacing:normal}
.journey-heading p{font-size:1.0625rem;line-height:1.75;color:var(--journey-muted);max-width:46ch;margin:0}
.journey-heading p+p{margin-top:1rem}
.journey-heading .journey-invitation,.offer-heading .journey-place-note{display:flex;align-items:center;gap:.8rem;max-width:100%;font:700 .9375rem/1.6 var(--journey-body);color:var(--journey-ink)}
.journey-invitation::before,.journey-place-note::before{content:"";flex:none;width:1.75rem;height:2px;background:var(--journey-accent)}
.offer-heading .journey-place-note{margin:1.5rem 0 0;color:#454a40}

/* The caseboard: a photographic contact sheet (≈60%) beside real scenario choices (≈40%). */
.journey-stage{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:clamp(1.5rem,3.5vw,3.5rem);align-items:start}
.journey-stage>*{min-width:0}
.journey-display{display:grid;gap:1.25rem;justify-items:center;align-content:start}
.journey-frame{display:grid;gap:.65rem;min-width:0;max-width:100%;width:fit-content;padding:10px;background:var(--journey-mat);border-radius:8px;box-shadow:0 18px 44px #241b1a12}
.studio-journey .journey-frame .venue-photo{display:block;position:relative;margin:0;width:fit-content;max-width:100%;overflow:hidden;border-radius:4px;background:transparent}
.studio-journey .journey-frame .space-photo-button{display:block;position:relative;width:fit-content;max-width:100%;min-width:0;margin:0;padding:0;border:0;background:transparent;color:inherit;cursor:zoom-in}
.studio-journey .journey-frame .venue-photo img{display:block;width:auto;height:auto;max-width:100%;max-height:560px;object-fit:contain;object-position:center}
/* Enhanced: one stable frame; the photograph stays complete, never stretched. */
/* The mat follows the photograph, including portrait frames; originals stay uncropped. */
.studio-journey .journey-frame .space-photo-button:focus-visible{outline:3px solid var(--journey-paper);outline-offset:-3px;box-shadow:none}
.studio-journey .journey-frame .venue-photo:has(:focus-visible){box-shadow:0 0 0 3px var(--journey-ink)}
.journey-photo-caption{display:flex;align-items:center;gap:.7rem;margin:0;padding:0 .4rem .3rem;font:700 .8125rem/1.6 var(--journey-body);color:#3b3f36}
.journey-photo-caption::before{content:"";flex:none;width:.5rem;height:.5rem;border-radius:1px;background:var(--journey-accent)}

/* Scenario choices: native details, typographic hierarchy, a precise plus → minus mark. */
.journey-scenes{display:flex;flex-direction:column;min-width:0;border-top:1px solid var(--journey-rule)}
.journey-scene{border-bottom:1px solid var(--journey-rule)}
.journey-scene>summary,.journey-spec>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:44px;padding:1rem 0;list-style:none;cursor:pointer;color:var(--journey-ink);border-radius:4px}
.journey-scene>summary::-webkit-details-marker,.journey-spec>summary::-webkit-details-marker{display:none}
.journey-scene>summary::marker,.journey-spec>summary::marker{content:""}
.journey-scene>summary:focus-visible,.journey-spec>summary:focus-visible{outline:3px solid var(--journey-ink);outline-offset:3px;box-shadow:0 0 0 2px var(--journey-paper)}
.studio-journey .journey-scene>summary h3{margin:0;min-width:0;font:400 clamp(1.2rem,1.6vw,1.55rem)/1.25 var(--journey-display);letter-spacing:-.015em;color:#4a4e44;text-wrap:balance;transition:color .2s}
.journey-scene[open]>summary h3,.journey-scene>summary:hover h3{color:var(--journey-ink)}
.journey-scene-mark,.journey-spec>summary::after{content:"";flex:none;width:44px;height:44px;border:1px solid #1e1e1e59;border-radius:50%;color:var(--journey-ink);background:linear-gradient(currentColor,currentColor) center/14px 2px no-repeat,linear-gradient(currentColor,currentColor) center/2px 14px no-repeat;transition:background-size .22s var(--journey-ease),background-color .2s,border-color .2s,color .2s}
.journey-scene>summary:hover .journey-scene-mark,.journey-spec>summary:hover::after{border-color:var(--journey-ink)}
.journey-scene[open] .journey-scene-mark,.journey-spec[open]>summary::after{background-size:14px 2px,2px 0;background-color:var(--journey-ink);border-color:var(--journey-ink);color:#fff}
.journey-scene-body{padding:0 0 1.5rem;max-width:52ch}
.journey-scene-body p{margin:0;font-size:1rem;line-height:1.7;color:var(--journey-muted)}
.journey-scene-body .journey-scene-note{margin-top:1rem;padding-left:1rem;border-left:3px solid var(--journey-accent);font-weight:700;color:var(--journey-ink)}
.journey-scene-cta{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;padding-top:1.5rem}
.journey-scene-cta>*{margin:0;min-width:0}
.studio-journey .journey-scene-cta .button{background:var(--journey-ink);border-color:var(--journey-ink);color:#fff;border-radius:8px}
.studio-journey .journey-scene-cta .button:hover{background:#ad351d;border-color:#ad351d;color:#fff}

/* Confirmed technical information, as a quiet index beside its heading. */
.journey-practical{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.2fr);gap:1.5rem clamp(2rem,5vw,5rem);margin-top:clamp(3rem,6vw,5.5rem);padding-top:clamp(1.75rem,3vw,2.5rem);border-top:1px solid var(--journey-rule)}
.journey-practical>*{min-width:0}
.studio-journey .journey-practical>h3{margin:0;font:400 clamp(1.5rem,2.4vw,2.2rem)/1.2 var(--journey-display);letter-spacing:-.02em;color:var(--journey-ink);max-width:14ch;text-wrap:balance}
.journey-specs{border-top:1px solid var(--journey-rule)}
.journey-spec{border-bottom:1px solid var(--journey-rule)}
.studio-journey .journey-spec>summary{font:700 1.0625rem/1.45 var(--journey-body);letter-spacing:-.01em}
.journey-spec>div{padding:0 0 1.5rem}
.journey-spec>div p{margin:0 0 .9rem;font-size:1rem;line-height:1.7;color:var(--journey-muted);max-width:64ch}
.journey-spec>div ul{list-style:none;margin:.25rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:.5rem 2rem}
.journey-spec>div li{position:relative;min-width:0;padding-left:1.1rem;font-size:.9375rem;line-height:1.65;color:var(--journey-ink)}
.journey-spec>div li::before{content:"";position:absolute;left:0;top:.68em;width:.45rem;height:.45rem;border-radius:1px;background:var(--journey-accent)}

/* Preparing a project: the brief is a visual checklist, not a numbered procedure. */
.journey-planning .planning-editorial{align-items:start}
.journey-brief-list{list-style:none;margin:0;padding:0;min-width:0;border-top:1px solid var(--journey-rule)}
.journey-brief-list>li{display:grid;gap:.55rem;min-width:0;padding:1.5rem 0;border-bottom:1px solid var(--journey-rule)}
.studio-journey .journey-brief-list h3{margin:0;font:400 clamp(1.25rem,1.9vw,1.8rem)/1.22 var(--journey-display);letter-spacing:-.015em;color:var(--journey-ink);text-wrap:balance}
.journey-brief-list p{margin:0;font-size:1rem;line-height:1.7;color:var(--journey-muted);max-width:52ch}
.journey-brief-list .journey-brief-check{display:flex;align-items:flex-start;gap:.85rem;margin-top:.5rem;padding:.75rem 1rem;border-radius:6px;background:var(--journey-paper);font:700 .9375rem/1.65 var(--journey-body);color:var(--journey-ink);max-width:100%}
.journey-brief-list .journey-brief-check::before{content:"";flex:none;width:.5rem;height:.9rem;margin:.15rem .35rem 0 .2rem;border:solid var(--journey-accent);border-width:0 3px 3px 0;transform:rotate(45deg)}
/* Homepage keeps its real numbered process; it simply shares the same measure and rules. */
.studio-journey .planning-guide .planning-steps>li{grid-template-columns:5.5rem minmax(0,1fr);column-gap:1.5rem;padding-block:1.5rem;border-color:var(--journey-rule)}
.studio-journey .planning-step-number{font:400 clamp(2rem,3vw,3rem)/1.1 var(--journey-display);letter-spacing:-.02em;color:#b9381e}
.studio-journey .planning-questions summary{min-height:44px}

/* Related pages: large photographic invitations, whole-link cards, everything visible without hover. */
.journey-related .journey-heading{padding-top:1.5rem;border-top:1px solid var(--journey-rule)}
.journey-related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));gap:clamp(1.5rem,3vw,2.5rem) clamp(1.25rem,2.5vw,2.25rem);align-items:start}
.journey-related-card{display:flex;flex-direction:column;min-width:0;color:var(--journey-ink);text-decoration:none;border-radius:8px}
.journey-related-card:focus-visible{outline:3px solid var(--journey-ink);outline-offset:5px;box-shadow:0 0 0 2px var(--journey-paper)}
.journey-related-photo{position:relative;overflow:hidden;aspect-ratio:5/4;border-radius:4px;background:var(--journey-sheet)}
.journey-related-photo :is(img,picture){display:block;width:100%;height:100%;max-width:none}
.journey-related-photo img{object-fit:cover;object-position:center;transition:transform .5s var(--journey-ease)}
.journey-link-arrow{position:absolute;right:.9rem;bottom:.9rem;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--journey-paper);color:var(--journey-ink);font:700 1.25rem/1 var(--journey-body);box-shadow:0 6px 18px #1e1e1e26;transition:background-color .2s,color .2s,transform .3s var(--journey-ease)}
.journey-related-card:is(:hover,:focus-visible) img{transform:scale(1.035)}
.journey-related-card:is(:hover,:focus-visible) .journey-link-arrow{background:#c44328;color:#fff;transform:translate(2px,-2px)}
.journey-related-copy{display:grid;gap:.5rem;min-width:0;padding:1.15rem .15rem 0}
.journey-related-copy>*{margin:0;min-width:0}
.journey-related-copy .journey-related-label{font:700 .75rem/1.5 var(--journey-body);letter-spacing:.1em;text-transform:uppercase;color:var(--journey-accent-text)}
.studio-journey .journey-related-copy h3{font:400 clamp(1.45rem,2.1vw,2.1rem)/1.18 var(--journey-display);letter-spacing:-.02em;color:var(--journey-ink);text-wrap:balance}
.journey-related-copy p:last-child{font-size:1rem;line-height:1.7;color:var(--journey-muted);max-width:40ch}
.studio-journey .journey-related+.visit-scene{padding-top:clamp(1rem,2vw,2rem)}

/* Deliberate refinements of the existing system: quieter architecture, one radius language, calmer card rhythm. */
.studio-journey .new-home-hero>.section-art{opacity:.52}
.studio-journey .offer-hero>.section-art{opacity:.34}
.studio-journey .journey-hub>.section-art{opacity:.5;mask-image:linear-gradient(#000 45%,transparent 96%)}
.studio-journey .immersive-footer .footer-art{opacity:.62}
.studio-journey .format-cards .format-poster{border-radius:8px}
.studio-journey .format-cards .destination-label{padding:1.25rem 1.2rem 1.4rem}
.studio-journey .format-cards .destination-label p{font-size:.9375rem;line-height:1.7}
.studio-journey .room-ready .room-visual,.studio-journey .room-copy{border-radius:8px}
.studio-journey .planning-main-photo{border-radius:8px}
.studio-journey .planning-detail-photo{border-radius:4px}
.studio-journey .culture-posters .series-poster{border-radius:8px}
.studio-journey .culture-posters .series-media{border-radius:4px}
.studio-journey .visit-card{border-radius:8px}

/* Larger type or narrower rooms: the composition stacks, the photograph stays first. */
html[data-studio-large-type] .journey-stage,html[data-studio-large-type] .journey-practical{grid-template-columns:minmax(0,1fr)}
@media(min-width:1024px){
 .journey-related-card:nth-child(2){margin-top:clamp(1.5rem,4vw,3.5rem)}
}
@media(min-width:768px) and (max-width:1023px){
 .journey-related-card:nth-child(3):last-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:1.5rem;align-items:center}
 .journey-related-card:nth-child(3):last-child .journey-related-photo{aspect-ratio:3/2}
 .journey-related-card:nth-child(3):last-child .journey-related-copy{padding:0}
}
@media(max-width:1023px){
 .journey-stage{grid-template-columns:minmax(0,1fr);gap:1.75rem}
 .journey-frame{padding:8px}
 .journey-practical{grid-template-columns:minmax(0,1fr);gap:1.25rem}
 .studio-journey .journey-practical>h3{max-width:22ch}
}
@media(max-width:767px){
 .journey-caseboard{padding-top:.5rem}
 .journey-heading{grid-template-columns:minmax(0,1fr);gap:1rem;align-items:start;margin-bottom:1.75rem}
 .studio-journey .journey-heading h2{font-size:clamp(1.875rem,6.8vw,2.25rem);line-height:1.2;max-width:100%}
 .journey-heading p{font-size:1rem;line-height:1.7}
 .journey-display{gap:1rem}
 .studio-journey .journey-frame .venue-photo img{max-height:560px}
 .studio-journey .journey-scene>summary h3{font-size:1.2rem}
 .journey-scene>summary,.journey-spec>summary{padding:.9rem 0}
 .journey-scene-cta{flex-direction:column;align-items:stretch}
 .studio-journey .journey-scene-cta .button{width:100%}
 .journey-practical{margin-top:3rem;padding-top:1.75rem}
 .studio-journey .journey-practical>h3{font-size:clamp(1.4rem,6vw,1.8rem)}
 .studio-journey .journey-spec>summary{font-size:1rem}
 .journey-brief-list>li{padding:1.25rem 0}
 .studio-journey .journey-brief-list h3{font-size:clamp(1.2rem,5.6vw,1.6rem)}
 .studio-journey .planning-guide .planning-steps>li{grid-template-columns:3.5rem minmax(0,1fr);column-gap:1rem}
 .studio-journey .planning-step-number{font-size:1.75rem}
 .journey-related{padding-block:3.5rem}
 .journey-related-grid{gap:2.25rem}
 .journey-related-photo{aspect-ratio:4/3}
 .studio-journey .journey-related-copy h3{font-size:clamp(1.4rem,6.2vw,1.9rem)}
 .studio-journey .new-home-hero>.section-art{opacity:.3}
 .studio-journey .journey-hub>.section-art{opacity:.4}
}
@media(max-width:480px){
 .studio-journey .journey-scene>summary h3{font-size:1.125rem}
 .journey-scene-body,.journey-spec>div{padding-bottom:1.25rem}
 .journey-brief-list .journey-brief-check{padding:.65rem .85rem}
}
@media(prefers-reduced-motion:reduce){
 .journey-scene-mark,.journey-spec>summary::after,.journey-scene>summary h3,.journey-related-photo img,.journey-link-arrow{transition:none}
 .journey-related-card:is(:hover,:focus-visible) img,.journey-related-card:is(:hover,:focus-visible) .journey-link-arrow{transform:none}
}
