/* The remaining pages share the same readable, photo-led application surfaces. */
.owner-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; margin:20px 0 38px; }
.owner-heading h1 { font-size:clamp(30px,3.6vw,56px); font-weight:700; line-height:1.4; letter-spacing:-.035em; margin:12px 0; overflow-wrap:anywhere; }
.owner-heading>div>p:last-child { font-size:15px; color:#686d73; }
.owner-heading>.text-link { flex-shrink:0; font-size:12px; }
.owner-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr); gap:clamp(24px,4vw,60px); align-items:start; }
.owner-photography { min-width:0; position:sticky; top:96px; }
.photo-toolbar { display:flex; justify-content:space-between; font-size:10px; letter-spacing:.14em; padding-bottom:17px; color:#656b70; }
.photo-toolbar [data-photo-position] { color:#171717; font-size:12px; letter-spacing:.09em; }
.case-photos.card-rail { display:grid; grid-auto-flow:column; grid-auto-columns:100%; gap:14px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:none; border-radius:20px; background:#e9eaec; }
.case-photos::-webkit-scrollbar { display:none; }
.case-photos>[data-case-photo] { position:relative; display:block; min-width:0; height:clamp(320px,36vw,540px); scroll-snap-align:start; }
.case-photos>[data-case-photo]>img { width:100%; height:100%; object-fit:contain; background:#e9eaec; }
.photo-enlarge { position:absolute; bottom:18px; right:18px; font-size:11px; border-radius:999px; padding:10px 17px; color:white; background:#161616c9; }
.photo-navigation { display:flex; justify-content:space-between; align-items:center; padding:17px 0; gap:15px; }
.photo-navigation p { font-size:12px; color:#707379; }
.photo-thumbs { display:flex; gap:10px; overflow-x:auto; padding:4px 3px 12px; scrollbar-width:thin; }
.photo-thumbs[hidden] { display:none; }
.photo-thumbs button { position:relative; flex:0 0 82px; height:64px; padding:0; border:2px solid transparent; border-radius:10px; overflow:hidden; cursor:pointer; background:#ddd; }
.photo-thumbs button[aria-pressed=true] { border-color:#161616; box-shadow:0 0 0 2px white; }
.photo-thumbs img { width:100%; height:100%; object-fit:cover; }
.photo-thumbs span { position:absolute; bottom:3px; right:3px; color:white; background:#111a; padding:0 4px; font-size:9px; }
.owner-specification { padding:clamp(25px,2.8vw,42px); }
.owner-specification h2 { font-size:23px; margin:14px 0 26px; }
.case-specs>div { padding:17px 0; border-top:1px solid #e0e2e4; }
.case-specs>div:last-child { border-bottom:1px solid #e0e2e4; }
.case-specs dt { font-size:11px; color:#6f7379; margin-bottom:7px; }
.case-specs dd { font-size:16px; font-weight:600; line-height:1.7; margin:0; overflow-wrap:anywhere; }
.owner-specification .detail-caption { font-size:12px; line-height:1.9; color:#6e737a; margin:22px 0; }
.owner-specification>.button { width:100%; justify-content:space-between; font-size:12px; margin-top:12px; padding-inline:21px; }
.case-purchase { margin:22px 0 0; font-size:13px; }
.owner-voice { margin:64px 0 36px; padding:40px 0; border-block:1px solid #dfe1e4; max-width:1000px; }
.owner-voice h2 { font-size:22px; font-weight:600; margin:14px 0 24px; }
.owner-voice>div { font-size:clamp(17px,1.55vw,23px); line-height:2.05; color:#3e454b; max-width:870px; }
.owner-voice p+p { margin-top:16px; }
.owner-related { margin:80px 0 20px; }
.photo-modal-open { overflow:hidden; }
.photo-dialog { width:min(1200px,calc(100% - 28px)); height:calc(100dvh - 28px); max-height:1000px; max-width:none; padding:0; border:0; border-radius:18px; background:#151719; color:#fff; margin:auto; }
.photo-dialog[open] { display:grid; grid-template-rows:65px minmax(0,1fr) 66px; }
.photo-dialog::backdrop { background:#000c; backdrop-filter:blur(8px); }
.photo-dialog-top,.photo-dialog-bottom { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px 23px; font-size:12px; }
.photo-dialog button { color:white; background:#303337; border:1px solid #555; padding:11px 17px; border-radius:999px; font:inherit; cursor:pointer; }
.photo-dialog button:disabled { opacity:.3; cursor:default; }
.photo-dialog-image { display:flex; align-items:center; justify-content:center; min-height:0; }
.photo-dialog-image img { width:100%; height:100%; object-fit:contain; }
.photo-dialog-image [hidden] { display:none; }
.photo-dialog-image p { padding:30px; line-height:2; }
.concept-hero { display:grid; grid-template-columns:1fr 1fr; gap:var(--page-gap); align-items:center; margin:30px 0 110px; }
.concept-hero h1 { font-size:clamp(33px,3.2vw,52px); font-weight:700; letter-spacing:-.04em; line-height:1.5; margin:24px 0; }
.concept-hero>div>p:last-of-type { font-size:15px; line-height:2.05; color:#60676d; }
.concept-hero>img { width:100%; height:clamp(360px,43vw,590px); object-fit:cover; border-radius:22px; }
.concept-nav { display:flex; flex-wrap:wrap; gap:10px; margin-top:32px; }
.concept-nav a { font-size:11px; padding:12px 17px; border:1px solid #dadddf; border-radius:999px; background:white; }
.concept-chapter { margin:90px 0; scroll-margin-top:110px; }
.chapter-copy { max-width:740px; margin-bottom:36px; }
.chapter-copy h2 { font-size:clamp(31px,3vw,47px); line-height:1.5; letter-spacing:-.04em; font-weight:700; margin:18px 0 22px; }
.chapter-copy>p:last-child { font-size:15px; line-height:2; color:#666d73; max-width:630px; }
.concept-materials { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.concept-materials img { width:100%; aspect-ratio:1.2; object-fit:cover; border-radius:18px; }
.concept-materials h3 { font-size:23px; font-weight:600; margin:22px 0 12px; }
.concept-materials h3 span { float:right; font-size:17px; }
.concept-materials p { font-size:13px; line-height:1.9; color:#697077; }
.craft-story { display:grid; grid-template-columns:1fr 1fr; gap:var(--page-gap); align-items:center; }
.craft-story-photo { position:relative; padding:0 30px 130px 0; }
.craft-story-photo>img { width:100%; height:650px; object-fit:cover; border-radius:22px; }
.craft-story-photo figure { position:absolute; right:0; bottom:0; width:42%; margin:0; }
.craft-story-photo figure img { width:100%; height:auto; border:9px solid #f6f7f8; border-radius:22px; }
.craft-story-photo figcaption { font-size:11px; padding-left:12px; margin-top:8px; }
.craft-principles { list-style:none; padding:0; margin:0 0 25px; }
.craft-principles li { display:grid; grid-template-columns:30px 1fr; gap:14px; border-top:1px solid #dce0e3; padding:22px 0; }
.craft-principles li>span { font-size:10px; color:#6f7378; padding-top:5px; }
.craft-principles h3 { font-size:16px; font-weight:600; margin-bottom:9px; }
.craft-principles p { font-size:13px; line-height:1.95; color:#6b7177; }
.interior-pair { display:grid; grid-template-columns:1.25fr .75fr; gap:24px; align-items:end; }
.interior-pair img { width:100%; height:490px; object-fit:cover; border-radius:22px; }
.interior-pair img+img { height:360px; }
.interior-caption { display:flex; justify-content:space-between; align-items:center; gap:25px; margin-top:30px; }
.interior-caption p { font-size:16px; line-height:1.9; }
.concept-reference { border-block:1px solid #d9dde1; margin:60px 0; }
.concept-reference summary { padding:25px 0; cursor:pointer; font-size:14px; font-weight:600; }
.concept-reference article { padding:10px 0 30px; max-width:850px; font-size:14px; }
.editorial-closing { color:white; background:#161616; border-radius:23px; padding:clamp(30px,5vw,75px); margin-top:60px; }
.editorial-closing .eyebrow { color:#e3e6e2; }
.editorial-closing h2 { color:white; font-size:clamp(33px,4vw,58px); font-weight:700; line-height:1.5; margin:24px 0; }
.editorial-closing .button { background:white; color:#161616; }
/* app-interface.css paints .subpage .button with its dark gradient (more specific than the rule above), so #161616 text was ~1.1:1 there; keep the gradient, light label. */
.subpage .editorial-closing .button:not(.button-outline):not(.button-light) { color:white; }
.editorial-closing .button-outline { background:transparent; color:white; border-color:#888; }
.journal-header { max-width:950px; margin:28px 0 48px; }
.journal-header>time { display:block; font-size:12px; color:#6f7378; margin:24px 0 16px; }
.journal-header h1 { font-size:clamp(28px,3.2vw,48px); line-height:1.55; font-weight:700; letter-spacing:-.025em; text-wrap:balance; }
.journal-layout { display:grid; grid-template-columns:minmax(0,1fr) 270px; gap:clamp(35px,7vw,110px); align-items:start; }
.journal-body { background:white; border:1px solid #e1e4e6; border-radius:20px; padding:clamp(25px,4vw,55px); }
.news-date-note { border-bottom:1px solid #e0e3e6; padding-bottom:25px; margin:0 0 35px; font-size:12px; line-height:1.9; color:#71767b; }
.journal-body .article-content { font-size:16px; line-height:2.2; }
.journal-aside { position:sticky; top:100px; }
.journal-aside h2 { font-size:24px; line-height:1.6; font-weight:600; margin:18px 0 27px; }
.journal-aside>a { margin-bottom:20px; font-size:12px; }
.journal-aside .button { width:100%; justify-content:space-between; padding-inline:22px; }
.news-related { margin-top:70px; }
.news-related>div:last-child { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.news-related a { padding:30px; border:1px solid #dfe3e6; border-radius:18px; background:white; display:grid; grid-template-columns:1fr 20px; gap:16px; }
.news-related time { grid-column:1/-1; font-size:11px; color:#72767b; }
.news-related h3 { font-size:17px; line-height:1.8; font-weight:600; }
.support-heading { margin:30px 0 50px; }
.support-heading h1 { font-size:clamp(33px,3.8vw,55px); line-height:1.5; font-weight:700; letter-spacing:-.035em; margin:20px 0; }
.support-heading>p:last-child { color:#687078; font-size:15px; line-height:2; }
.support-layout { display:grid; grid-template-columns:1.2fr 1fr; gap:24px; }
.support-layout h2 { font-size:26px; }
.contact-topics { display:flex; flex-wrap:wrap; gap:8px; margin:25px 0 30px; }
.contact-topics[hidden] { display:none; }
.contact-topics button { border:1px solid #dadee2; background:#f7f8f9; border-radius:999px; padding:14px 16px; font:inherit; font-size:12px; cursor:pointer; }
.contact-topics button[aria-pressed=true] { background:#171717; color:white; border-color:#171717; }
[data-contact-guidance] { margin-top:30px; }
[data-contact-guidance] h3 { font-size:17px; font-weight:600; line-height:1.7; }
[data-contact-guidance] ul { padding-left:20px; margin:23px 0; color:#616970; font-size:14px; line-height:2.3; }
.support-tip { background:#f2f3f4; padding:18px; border-radius:12px; font-size:12px; color:#747a81; }
.contact-channel>.button { width:100%; justify-content:space-between; margin:8px 0 12px; font-size:13px; padding-inline:24px; }
.contact-channel>.button+p { font-size:12px; color:#747b81; margin-bottom:23px; }
.response-note { border-top:1px solid #dfe2e5; padding-top:24px; margin-top:35px; }
.response-note>span { display:block; font-size:10px; color:#787f86; letter-spacing:.12em; }
.response-note strong { display:block; font-size:21px; font-weight:600; margin:8px 0; }
.response-note p { font-size:12px; color:#70787f; }
.support-links { margin:70px 0; }
.support-links h2 { font-size:26px; font-weight:600; margin:0 0 28px; }
.support-links>div { display:grid; grid-template-columns:1fr 1fr; gap:16px 40px; }
.support-links a { border-bottom:1px solid #d8dde0; padding:20px 0; justify-content:space-between; font-size:14px; }
.contact-signature { display:flex; gap:20px; flex-wrap:wrap; align-items:center; border-top:1px solid #d9dde1; padding-top:28px; font-size:12px; }
.contact-signature p { width:100%; color:#7a7f84; }
.fit-explainer { margin:75px 0 20px; }
.fit-point-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.fit-point-grid article { border-top:1px solid #d4dade; padding-top:25px; }
.fit-point-grid article>span { font-size:11px; color:#6e7379; }
.fit-point-grid h3 { font-size:22px; font-weight:600; margin:20px 0 15px; }
.fit-point-grid p { font-size:14px; line-height:2; color:#6b7379; }
.fit-help { margin-top:50px; background:#e9ecee; padding:32px; border-radius:18px; display:flex; align-items:center; justify-content:space-between; gap:40px; }
.fit-help h3 { font-size:20px; font-weight:600; margin-bottom:13px; }
.fit-help p { font-size:13px; line-height:2; max-width:660px; color:#626b73; }
.fit-help .button { flex-shrink:0; font-size:13px; }
@media(max-width:1000px) {
 .owner-layout { grid-template-columns:minmax(0,1fr) minmax(0,.9fr); gap:25px; }
 .concept-hero { gap:30px; }
 .craft-story-photo>img { height:510px; }
 .journal-layout { grid-template-columns:minmax(0,1fr) 230px; gap:30px; }
 .support-layout { grid-template-columns:1fr 1fr; }
}
@media(max-width:700px) {
 .owner-heading { display:block; margin-bottom:28px; }
 .owner-heading h1 { font-size:32px; }
 .owner-heading>.text-link { margin-top:18px; }
 .owner-layout { grid-template-columns:1fr; gap:30px; }
 .owner-photography { position:static; }
 .case-photos>[data-case-photo] { height:280px; }
 .case-photos.card-rail { border-radius:16px; }
 .photo-enlarge { bottom:12px; right:12px; font-size:10px; padding:8px 12px; }
 .photo-thumbs button { flex-basis:70px; height:55px; }
 .photo-navigation p { font-size:11px; }
 .owner-specification h2 { font-size:23px; }
 .case-specs>div { display:grid; grid-template-columns:90px 1fr; gap:12px; align-items:baseline; }
 .case-specs dd { font-size:14px; }
 .case-specs dt { margin:0; font-size:11px; }
 .owner-voice { margin:40px 0 24px; padding:28px 0; }
 .owner-voice>div { font-size:17px; }
 .owner-related { margin-top:50px; }
 .photo-dialog-top,.photo-dialog-bottom { padding-inline:15px; }
 .concept-hero { grid-template-columns:1fr; margin:25px 0 60px; gap:32px; }
 .concept-hero h1 { font-size:33px; }
 .concept-hero>div>p:last-of-type { font-size:14px; }
 .concept-hero>img { height:320px; border-radius:17px; }
 .concept-nav { gap:7px; }
 .concept-nav a { font-size:10px; padding:11px 12px; }
 .concept-chapter { margin:60px 0; }
 .chapter-copy h2 { font-size:31px; }
 .chapter-copy>p:last-child { font-size:14px; }
 .concept-materials { grid-template-columns:1fr; gap:32px; }
 .concept-materials img { aspect-ratio:1.5; }
 .concept-materials h3 { font-size:22px; margin:15px 0 10px; }
 .craft-story { grid-template-columns:1fr; gap:35px; }
 .craft-story-photo { padding:0 30px 65px 0; }
 .craft-story-photo>img { height:350px; }
 .craft-story-photo figure { width:43%; }
 .craft-story-photo figure img { border-width:6px; border-radius:15px; }
 .craft-story-photo figcaption { font-size:9px; padding-left:5px; }
 .interior-pair { grid-template-columns:1fr 1fr; gap:13px; }
 .interior-pair img { height:280px; border-radius:14px; }
 .interior-pair img+img { height:225px; }
 .interior-caption { display:block; }
 .interior-caption p { font-size:14px; }
 .interior-caption .button { margin-top:22px; }
 .editorial-closing { padding:30px 24px; }
 .editorial-closing h2 { font-size:32px; }
 .journal-header { margin:22px 0 32px; }
 .journal-header h1 { font-size:28px; }
 .journal-layout { grid-template-columns:1fr; gap:35px; }
 .journal-aside { position:static; padding:0 4px; }
 .journal-body .article-content { font-size:15px; line-height:2.1; }
 .news-related { margin-top:45px; }
 .news-related>div:last-child { grid-template-columns:1fr; gap:15px; }
 .news-related a { padding:24px; }
 .support-heading { margin:22px 0 30px; }
 .support-heading h1 { font-size:33px; }
 .support-heading>p:last-child { font-size:14px; }
 .support-layout { grid-template-columns:1fr; gap:22px; }
 .support-layout h2 { font-size:23px; }
 .contact-topics { gap:7px; }
 .contact-topics button { font-size:11px; padding:12px 11px; }
 .support-links { margin:45px 0; }
 .support-links h2 { font-size:23px; }
 .support-links>div { grid-template-columns:1fr; gap:0; }
 .fit-explainer { margin-top:48px; }
 .fit-point-grid { grid-template-columns:1fr; gap:26px; }
 .fit-point-grid h3 { font-size:21px; margin-top:12px; }
 .fit-point-grid p { font-size:13px; }
 .fit-help { display:block; padding:25px; margin-top:30px; }
 .fit-help h3 { font-size:19px; }
 .fit-help .button { margin-top:24px; width:100%; justify-content:space-between; }
}
.archive-hero { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:6%; margin:40px 0 70px; }
.archive-hero h1 { font-size:clamp(32px,4vw,60px); line-height:1.25; letter-spacing:-.04em; margin:22px 0; }
.archive-hero p { line-height:1.9; color:#686861; }
.archive-hero .archive-message { color:#171713; font-size:clamp(19px,2vw,26px); font-weight:700; }
.archive-hero .button { margin-top:16px; }
.archive-hero figure { margin:0; }
.archive-hero img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:24px; }
.archive-hero figcaption { padding-top:12px; font-size:12px; color:#686861; }
.archive-record { padding:clamp(24px,4vw,48px); }
.archive-record h2 { font-size:clamp(22px,3vw,32px); margin:14px 0; }
.archive-record p { line-height:1.9; }
.archive-record .text-link { margin-top:16px; }
.discontinued-note { background:#f0f0eb; border:1px solid #dfdfd7; border-radius:18px; padding:22px 26px; margin:0 0 28px; line-height:1.8; }
.discontinued-note p { margin:6px 0 0; font-size:14px; }
@media (max-width:700px) {
 .archive-hero { grid-template-columns:1fr; gap:30px; margin:26px 0 36px; }
 .archive-hero p { font-size:14px; }
 .archive-hero .archive-message { font-size:21px; }
 .archive-hero .button { width:100%; justify-content:space-between; }
 .archive-hero img { border-radius:18px; }
 .discontinued-note { padding:18px 20px; }
}
