/* 複数ページの編集・誌面レイアウト。共通の配色とUIは style.css に集約。 */
figure { margin: 0; }
figcaption { font-size: 14px; color: var(--muted); letter-spacing: .05em; line-height: 1.9; }
main { overflow: clip; }
main p { overflow-wrap: anywhere; }
.breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 9px 16px; padding-block: 20px; font-size: 14px; color: var(--muted); }
.breadcrumb a:hover { text-decoration: underline; }
.display { font-size: clamp(32px, 3.7vw, 50px); font-weight: 500; line-height: 1.65; letter-spacing: .1em; }
.page-intro { padding-block: 52px 65px; }
.intro-row { display: flex; align-items: end; justify-content: space-between; gap: 40px; }
.intro-row > p, .intro-copy { font-size: 14px; line-height: 2.2; letter-spacing: .045em; }
.intro-copy { margin-top: 25px; }
.prose { font-size: 14px; line-height: 2.3; letter-spacing: .035em; }
.prose p + p { margin-top: 24px; }
.prose h3 { font-size: 20px; font-weight: 500; margin-bottom: 20px; }
.fine-note { font-size: 14px !important; line-height: 1.9; color: var(--muted); margin-top: 22px; }
.large-arrow { font: 55px Arial, sans-serif; font-weight: 200; }
.next-section { display: block; background: var(--warm); padding: 62px 0; transition: background .2s; }
.next-section:hover { background: #eaece2; }
.next-section > .wrap { display: flex; align-items: center; justify-content: space-between; gap: 35px; }
.next-section h2 { font-size: 26px; }
.next-section p:not(.eyebrow) { font-size: 14px; margin-top: 14px; }
.section-index { display: flex; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 0; }
.section-index a { flex: 1; display: flex; justify-content: space-between; gap: 20px; padding: 20px 24px; font-size: 14px; }
.section-index a:first-child { padding-left: 0; }
.section-index a:last-child { padding-right: 0; }
.section-index a:hover { color: var(--olive); text-decoration: underline; text-underline-offset: 6px; }
.tag { display: inline-block; padding: 3px 10px; background: var(--warm); font-size: 14px; margin-right: 7px; }
.check-points { list-style: none; padding: 0; margin: 26px 0 0; }
.check-points li { padding: 14px 0 14px 23px; border-bottom: 1px solid var(--line); position: relative; font-size: 14px; line-height: 1.9; }
.check-points li::before { content: ""; width: 7px; height: 7px; border: 1px solid var(--olive); position: absolute; left: 0; top: 22px; }
.image-frame img, .collection-photo img, .archive-image img { transition: transform .5s; }
a:hover > .image-frame img, .collection-photo:hover img, .archive-image:hover img { transform: scale(1.025); }

/* TOP：導入、大小の写真、素材特集、編集記事でリズムを変える。 */
.home-note { display: flex; align-items: center; gap: 25px; padding-block: 25px; border-bottom: 1px solid var(--line); }
.home-note .eyebrow { margin: 0; font-size: 14px; }
.home-note p { font-size: 14px; }
.home-note a { margin-left: auto; font-size: 14px; display: flex; gap: 25px; }
.home-story { display: grid; grid-template-columns: .85fr 1.15fr; grid-template-rows: auto auto; column-gap: 12%; padding-block: 105px 115px; position: relative; }
.home-story-copy { padding-top: 50px; grid-row: 1 / 3; }
.home-story-copy h2 { font-size: 35px; line-height: 1.8; margin-bottom: 26px; }
.home-story-copy > p:not(.eyebrow) { font-size: 14px; line-height: 2.2; margin-top: 20px; }
.home-story-copy .text-link { margin-top: 25px; }
.home-story-main img { aspect-ratio: 1.12; object-fit: cover; object-position: 35%; }
.home-story-main figcaption { margin-top: 14px; font: 14px Arial,sans-serif; letter-spacing: .13em; text-align: right; }
.home-story-detail { width: 48%; margin-left: -22%; margin-top: -32px; z-index: 1; border: 10px solid white; border-bottom: 0; }
.home-story-detail img { aspect-ratio: 1.2; object-fit: cover; }
.home-story-detail figcaption { margin-top: 10px; font-size: 14px; }
.home-rooms { padding-bottom: 108px; }
.room-mosaic { display: grid; grid-template-columns: 1.5fr 1fr; grid-template-rows: 1fr 1fr; gap: 30px 42px; }
.mosaic-living { grid-row: 1 / 3; }
.mosaic-living .image-frame img { aspect-ratio: .99; object-fit: cover; object-position: 65%; }
.mosaic-label { position: relative; margin-top: 21px; }
.mosaic-label h3 { font-size: 30px; font-weight: 500; letter-spacing: .1em; }
.mosaic-label .eyebrow { display: block; font-size: 14px; margin-bottom: 5px; }
.mosaic-label p { font-size: 14px; color: var(--muted); margin-top: 9px; }
.mosaic-label .circle-arrow { bottom: 20px; }
.mosaic-small .image-frame img { aspect-ratio: 2; }
.mosaic-small .mosaic-label { margin-top: 13px; display: grid; grid-template-columns: 1fr auto; }
.mosaic-small .eyebrow { grid-column: 1 / -1; }
.mosaic-small h3 { font-size: 26px; }
.mosaic-small .line-arrow { align-self: center; }
.material-feature { position: relative; min-height: 630px; display: flex; align-items: center; justify-content: flex-end; padding: 65px max(var(--page-gutter),calc((100vw - 1160px)/2)); }
.material-feature > img { position: absolute; inset: 0; height: 100%; object-fit: cover; }
.material-feature-panel { position: relative; padding: 45px 48px; width: 390px; background: #f8f7f0f5; }
.material-feature-panel h2 { font-size: 29px; }
.material-feature-panel > p:not(.eyebrow) { font-size: 14px; line-height: 2.2; margin-top: 20px; }
.minimal-list { padding: 0; list-style: none; margin: 24px 0; }
.minimal-list li { font-size: 14px; display: flex; gap: 22px; padding-block: 10px; border-top: 1px solid #d4d6ca; }
.minimal-list li span { font: 14px Arial,sans-serif; color: var(--olive); padding-top: 6px; }
.material-feature-panel .text-link { width: 100%; }
.home-journal { padding-block: 100px; }
.editorial-preview { display: grid; grid-template-columns: 1.6fr 1fr; gap: 64px; }
.editorial-feature .image-frame img { aspect-ratio: 1.45; }
.editorial-feature > div:last-child { padding-top: 25px; }
.editorial-preview h3 { font-size: 26px; line-height: 1.7; font-weight: 500; letter-spacing: .06em; }
.editorial-preview .eyebrow { margin-bottom: 13px; font-size: 14px; }
.editorial-preview .text-link { margin-top: 15px; }
.editorial-side { padding-top: 62px; }
.editorial-side .image-frame img { aspect-ratio: 1.7; }
.editorial-side .eyebrow { margin-top: 23px; }
.editorial-side h3 { font-size: 23px; }
.editorial-side > p:not(.eyebrow) { font-size: 14px; color: var(--muted); margin-top: 17px; }
.guide-invite { background: #535d49; color: white; padding-block: 67px; }
.guide-invite-inner { display: flex; justify-content: space-between; align-items: center; gap: 65px; }
.guide-invite .eyebrow { color: #dbe0ce; }
.guide-invite h2 { font-size: 31px; }
.guide-invite p:not(.eyebrow) { font-size: 14px; line-height: 2.2; margin-top: 20px; }
.light-button { display: inline-flex; justify-content: space-between; align-items: center; gap: 45px; padding: 15px 24px; background: #fff; color: var(--ink); font-size: 14px; margin-top: 27px; }
.guide-motif { width: 290px; height: 260px; border: 1px solid currentColor; position: relative; flex: none; opacity: .8; }
.guide-motif span { position: absolute; border: 1px solid currentColor; }
.motif-window { width: 38%; height: 7px; top: -4px; left: 12%; background: #535d49; }
.motif-sofa { left: 12%; top: 20%; width: 20%; height: 51%; }
.motif-sofa::before { content: ""; position: absolute; inset: 10% 16%; border: 1px solid currentColor; }
.motif-table { left: 42%; top: 39%; width: 26%; height: 24%; }
.motif-chair { width: 19%; height: 22%; top: 17%; right: 13%; transform: rotate(-20deg); }
.motif-plant { bottom: 9%; right: 12%; width: 12%; height: 14%; border-radius: 50%; }
.guide-motif .motif-caption { bottom: -27px; left: 0; border: 0; font: 14px Arial,sans-serif; letter-spacing: .16em; }

/* ブランド紹介 */
.about-opening { display: grid; grid-template-columns: .8fr 1.2fr; gap: 8%; padding-block: 40px 75px; align-items: center; }
.about-opening .display { font-size: clamp(42px,5.4vw,72px); line-height: 1.65; }
.accent-word { color: var(--olive); }
.opening-note { font-size: 14px; margin-top: 33px; letter-spacing: .07em; }
.about-opening figure img { aspect-ratio: .96; object-fit: cover; object-position: 30%; }
.about-opening figcaption { margin-top: 16px; text-align: right; }
.manifesto { text-align: center; padding-block: 55px 100px; }
.manifesto h2 { font-size: 32px; margin-bottom: 35px; }
.manifesto .prose { max-width: 620px; margin: auto; text-align: left; }
.about-collage { display: grid; grid-template-columns: 1.5fr 1fr; gap: 0 7%; align-items: start; margin-right: var(--page-gutter); }
.collage-wide { grid-row: 1 / 3; }
.collage-wide img { aspect-ratio: 1.2; object-fit: cover; }
.collage-wide figcaption { padding: 18px var(--page-gutter); }
.collage-close { width: 75%; margin-top: 60px; }
.collage-close img { aspect-ratio: 1.25; object-fit: cover; }
.about-collage > p { font-size: 27px; line-height: 2; letter-spacing: .11em; margin-top: 35px; }
.beliefs { display: grid; grid-template-columns: .85fr 1.15fr; gap: 8%; }
.beliefs h2 { font-size: 27px; }
.belief-list article { display: flex; gap: 27px; padding: 24px 0; border-top: 1px solid var(--line); }
.belief-list article > span { font: 14px Arial,sans-serif; color: var(--olive); padding-top: 8px; }
.belief-list h3 { font-size: 19px; font-weight: 500; margin-bottom: 12px; }
.belief-list p { font-size: 14px; line-height: 2.1; color: var(--muted); }

/* インテリア一覧：展示写真、概要、比較表 */
.collection-stories { padding-block: 64px 100px; }
.collection-story { display: grid; gap: 6%; align-items: center; }
.collection-story + .collection-story { margin-top: 100px; }
.collection-living { grid-template-columns: 1.8fr 1fr; }
.collection-photo { overflow: hidden; display: block; }
.collection-photo img { aspect-ratio: 1.38; object-fit: cover; }
.collection-copy h2 { font-size: 42px; }
.collection-copy > p:not(.eyebrow) { font-size: 14px; line-height: 2.1; margin: 20px 0; }
.collection-copy .text-link { display: flex; width: fit-content; margin-top: 25px; }
.collection-dining { grid-template-columns: 1fr 1.4fr; padding-left: 5%; }
.collection-dining .collection-photo { grid-column: 2; grid-row: 1; }
.collection-dining .collection-photo img { aspect-ratio: 1.05; }
.collection-dining .collection-copy { grid-column: 1; grid-row: 1; }
.collection-bedroom { grid-template-columns: 1.3fr 1fr; }
.collection-bedroom .collection-photo img { aspect-ratio: 1.6; }
.comparison-band { padding-block: 75px; background: var(--warm); }
.table-scroll { overflow-x: auto; }
table { border-collapse: collapse; width: 100%; font-size: 14px; min-width: 650px; text-align: left; }
th, td { padding: 24px 18px; border-bottom: 1px solid #d7dacd; }
th { font-weight: 500; }
thead th { color: var(--olive); border-top: 1px solid #d7dacd; }
tbody th { width: 19%; color: var(--muted); }

/* リビング：写真の解説と配置の比較 */
.room-cover { height: 580px; position: relative; margin-bottom: 50px; }
.room-cover > img { height: 100%; object-fit: cover; object-position: center 60%; }
.room-cover-title { position: absolute; left: var(--page-gutter); bottom: -35px; padding: 30px 54px; background: white; min-width: 390px; }
.room-cover-title h1 { font-size: 52px; font-weight: 500; letter-spacing: .14em; line-height: 1.4; }
.room-cover-title p:last-child { font-size: 14px; margin-top: 15px; }
.room-facts { display: flex; gap: 35px; justify-content: flex-end; padding: 30px 0; border-bottom: 1px solid var(--line); }
.room-facts p { font-size: 14px; }
.room-facts span { display: block; font-size: 14px; color: var(--muted); margin-bottom: 4px; }
.room-lead { display: grid; grid-template-columns: 1fr 1.1fr; gap: 0 12%; padding-block: 85px; }
.room-lead .eyebrow { grid-column: 1 / -1; }
.room-lead h2 { font-size: 32px; }
.annotated-room { padding-bottom: 100px; }
.annotated-grid { display: grid; grid-template-columns: 1.7fr 1fr; gap: 5%; align-items: start; }
.annotation-image { position: relative; }
.annotation-image img { aspect-ratio: 1.18; object-fit: cover; }
.photo-pin { position: absolute; width: 36px; height: 36px; border-radius: 50%; background: white; border: 1px solid #6f775b; display: grid; place-items: center; font: 14px Arial,sans-serif; box-shadow: 0 0 0 5px #ffffff40; }
.photo-pin:hover { background: var(--olive); color: white; }
.point-list { list-style: none; padding: 0; margin: 0; }
.point-list li { padding-block: 21px; border-bottom: 1px solid var(--line); }
.point-list li:first-child { padding-top: 0; }
.point-list h3 { font-size: 16px; font-weight: 500; display: flex; gap: 15px; }
.point-list h3 span { font: 14px Arial,sans-serif; color: var(--olive); padding-top: 10px; }
.point-list p { font-size: 14px; line-height: 2.1; color: var(--muted); margin-top: 12px; }
.layout-lab { background: var(--warm); padding-block: 75px; }
.layout-switch { display: flex; margin-bottom: 28px; gap: 8px; }
.layout-switch button, .filter-buttons button { border: 1px solid var(--line); background: transparent; padding: 12px 24px; min-height: 44px; font-size: 14px; }
.layout-switch button[aria-pressed="true"], .filter-buttons button[aria-pressed="true"] { background: var(--olive); color: white; border-color: var(--olive); }
.layout-panel { display: grid; grid-template-columns: 1fr 1fr; gap: 8%; align-items: center; padding-block: 22px; }
.layout-panel h3 { font-size: 23px; font-weight: 500; margin-bottom: 20px; line-height: 1.8; }
.layout-panel p:not(.eyebrow) { font-size: 14px; line-height: 2.2; }
.room-diagram { aspect-ratio: 1.48; position: relative; border: 2px solid #9ba38a; margin: 12px; background: #fcfcf8; }
.room-diagram span { position: absolute; font-size: 14px; color: #4d5740; display: grid; place-items: center; z-index: 1; }
.diagram-window { top: -8px; left: 17%; width: 55%; height: 16px; background: #fcfcf8; border-block: 1px solid #9ba38a; }
.diagram-sofa { width: 17%; height: 51%; left: 12%; top: 18%; background: #d5d9c8; border: 1px solid #929c7d; }
.diagram-table { width: 23%; height: 21%; left: 38%; top: 39%; background: #dbc8a7; border: 1px solid #bba887; }
.diagram-chair { width: 17%; height: 24%; right: 12%; top: 17%; border: 1px solid #a9987a; background: #e1d5bd; transform: rotate(-12deg); }
.diagram-rug { left: 8%; top: 14%; width: 58%; height: 60%; border: 1px dashed #afb39f; z-index: 0 !important; }
.diagram-door { bottom: -10px; right: 12%; width: 20%; height: 20px; background: #fcfcf8; }
.diagram-path { right: 15%; bottom: 13%; border-bottom: 1px dashed var(--olive); width: 36%; padding-bottom: 4px; }
.plan-social .diagram-chair { right: 18%; top: 38%; transform: rotate(20deg); }
.plan-social .diagram-rug { width: 78%; }
.palette-section { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 10%; padding-block: 90px; }
.palette-section p:not(.eyebrow) { font-size: 14px; margin-top: 17px; line-height: 2.1; }
.palette-swatches { display: flex; gap: 24px; }
.palette-swatches > div { flex: 1; text-align: center; }
.palette-swatches span { display: block; width: 100%; aspect-ratio: 1; border-radius: 50%; background: var(--swatch); }
.palette-swatches p { font-size: 14px !important; }
.room-next { border-top: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; padding-block: 35px; gap: 30px; }
.room-next > a:first-child { font-size: 14px; }
.room-next > a:last-child { display: grid; grid-template-columns: 1fr 50px; gap: 3px 55px; align-items: center; }
.room-next .eyebrow { grid-column: 1 / -1; margin: 0; font-size: 14px; }
.room-next strong { font-size: 31px; font-weight: 500; }

/* ダイニング：時間軸、動線、手ざわり */
.dining-opening { padding-block: 30px 45px; display: flex; justify-content: space-between; align-items: center; gap: 40px; }
.dining-opening .display { font-size: 72px; }
.dining-opening > p { font-size: 23px; line-height: 1.8; letter-spacing: .06em; }
.dining-opening > p span { display: block; font-size: 14px; margin-top: 16px; }
.dining-panorama img { width: 100%; max-height: 620px; object-fit: cover; object-position: center 53%; }
.dining-panorama figcaption { text-align: right; padding: 16px var(--page-gutter); }
.dining-timeline { display: grid; grid-template-columns: .85fr 1.4fr; gap: 10%; padding-block: 80px 100px; }
.dining-timeline > div > p:last-child { font-size: 14px; line-height: 2.1; margin-top: 22px; }
.dining-timeline ol { list-style: none; margin: 0; padding: 0 0 0 28px; border-left: 1px solid var(--line); }
.dining-timeline li { position: relative; padding: 0 0 33px 75px; }
.dining-timeline li:last-child { padding-bottom: 0; }
.dining-timeline li::before { content: ""; position: absolute; width: 7px; height: 7px; border-radius: 50%; background: var(--olive); left: -32px; top: 11px; }
.dining-timeline li > span { position: absolute; left: 0; top: 6px; font: 14px Arial,sans-serif; color: var(--olive); }
.dining-timeline h3 { font-size: 19px; font-weight: 500; margin-bottom: 10px; }
.dining-timeline li p { font-size: 14px; color: var(--muted); line-height: 2; }
.dining-layout { padding-bottom: 90px; }
.table-arrangement { display: grid; grid-template-columns: 1.15fr 1fr; align-items: center; gap: 8%; }
.dining-diagram { aspect-ratio: 1.25; position: relative; background: var(--warm); font-size: 14px; }
.dining-diagram span { position: absolute; display: grid; place-items: center; }
.table-shape { width: 48%; height: 30%; top: 27%; left: 26%; background: #d7c2a0; border: 1px solid #bfa986; }
.seat { width: 16%; height: 13%; border: 1px solid #a0a68e; background: #e2e5d9; }
.seat-a { left: 29%; top: 10%; }.seat-b { right: 29%; top: 10%; }.seat-c { left: 29%; top: 65%; }.seat-d { right: 29%; top: 65%; }
.chair-clearance { top: 25%; bottom: 39%; left: 15%; right: 15%; border: 1px dashed #949d81; color: transparent; }
.chair-clearance::after { content: "椅子を引く場所"; position: absolute; top: -38%; right: -17%; color: var(--olive); writing-mode: vertical-rl; font-size: 14px; }
.walk-clearance { bottom: 6%; left: 15%; right: 15%; border-bottom: 1px dashed var(--olive); padding-bottom: 7px; color: var(--olive); }
.detail-pair { display: grid; grid-template-columns: 1.15fr 1fr; background: var(--warm); align-items: stretch; }
.detail-pair > img { height: 100%; min-height: 560px; object-fit: cover; }
.detail-pair > div { padding: 65px 14% 65px 12%; align-self: center; }
.detail-pair h2 { font-size: 28px; }
.detail-pair p:not(.eyebrow) { font-size: 14px; line-height: 2.1; margin-top: 20px; }
.detail-pair .text-link { margin-top: 25px; }
.article-teaser { padding-block: 70px; }
.article-teaser a { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.article-teaser h2 { font-size: 24px; }
.article-teaser p:last-child { font-size: 14px; color: var(--muted); margin-top: 15px; }

/* ベッドルーム：質感の重なりと昼夜 */
.bedroom-opening { position: relative; display: grid; grid-template-columns: .65fr 1.4fr; gap: 4%; padding-block: 30px 60px; }
.bedroom-title { padding-top: 58px; }
.bedroom-title .display { font-size: 70px; }
.bedroom-title > p:last-child { margin-top: 26px; font-size: 18px; line-height: 2; letter-spacing: .08em; }
.bedroom-main { aspect-ratio: 1.13; object-fit: cover; }
.bedroom-texture { width: 73%; grid-column: 1; margin-top: -135px; aspect-ratio: 1.05; object-fit: cover; border: 8px solid white; }
.bedroom-caption { grid-column: 2; text-align: right; padding-top: 17px; font-size: 14px; color: var(--muted); }
.bedroom-thought { padding: 20px 0 85px; display: grid; grid-template-columns: 1fr 1.05fr; gap: 0 10%; }
.bedroom-thought .eyebrow { grid-column: 1/-1; }
.bedroom-thought h2 { font-size: 30px; }
.day-night { padding-block: 35px 90px; }
.day-night-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 34px; }
.day-night figure:nth-child(2) { padding-top: 65px; }
.day-night img { aspect-ratio: 1.35; object-fit: cover; }
.day-night figcaption { margin-top: 21px; }
.day-night figcaption > span { display: block; font: 14px Arial,sans-serif; letter-spacing: .15em; color: var(--olive); margin-bottom: 14px; }
.day-night h3 { font-size: 20px; font-weight: 500; color: var(--ink); }
.day-night figcaption p { font-size: 14px; margin-top: 13px; }
.fabric-story { padding-block: 70px; background: #eeefe7; }
.fabric-story .wrap { display: grid; grid-template-columns: 1.3fr 1fr; gap: 10%; align-items: center; }
.fabric-story img { aspect-ratio: 1.25; object-fit: cover; }
.fabric-story p:not(.eyebrow) { font-size: 14px; margin-top: 22px; line-height: 2.2; }
.fabric-story .text-link { margin-top: 24px; }
.bedroom-check { padding-block: 90px; display: grid; grid-template-columns: 1fr 1fr; gap: 8%; }
.bedroom-check .check-points { margin-top: 0; }
.bedroom-check h2 { font-size: 26px; }

/* 素材・デザイン */
.material-chapter { display: grid; grid-template-columns: 1.2fr 1fr; gap: 9%; padding-block: 65px 100px; align-items: center; }
.chapter-image img { aspect-ratio: .94; object-fit: cover; }
.chapter-text h2 { font-size: 35px; }
.chapter-text > p:not(.eyebrow) { font-size: 14px; line-height: 2.2; margin-top: 23px; }
.material-notes { margin: 28px 0 0; }
.material-notes > div { display: grid; grid-template-columns: 80px 1fr; border-top: 1px solid var(--line); padding-block: 15px; font-size: 14px; }
.material-notes dt { color: var(--olive); }
.material-notes dd { margin: 0; }
.fabric-chapter { background: var(--warm); padding-block: 75px; }
.fabric-chapter .wrap { display: grid; grid-template-columns: .8fr 1.2fr; gap: 7%; }
.fabric-chapter-title { padding-top: 35px; }
.fabric-chapter-title p:not(.eyebrow) { font-size: 14px; margin-top: 23px; line-height: 2.2; }
.fabric-chapter img { aspect-ratio: 1.4; object-fit: cover; }
.fabric-notes { display: grid; grid-template-columns: repeat(3,1fr); gap: 45px; grid-column: 1/-1; margin-top: 52px; }
.fabric-notes article { border-top: 1px solid var(--line); padding-top: 19px; }
.fabric-notes span { font: 14px Arial,sans-serif; color: var(--olive); letter-spacing: .1em; }
.fabric-notes h3 { font-size: 18px; font-weight: 500; margin-top: 13px; }
.fabric-notes p { font-size: 14px; margin-top: 12px; color: var(--muted); }
.form-chapter { padding-block: 90px; }
.form-heading { margin-bottom: 45px; }
.form-grid { display: grid; grid-template-columns: .95fr 1.05fr; align-items: center; gap: 10%; }
.form-grid > img { aspect-ratio: 1; object-fit: cover; object-position: 28%; }
.question-stack article { position: relative; padding: 24px 0 24px 37px; border-top: 1px solid var(--line); }
.question-stack span { position: absolute; left: 0; top: 25px; color: var(--olive); font: 16px Georgia,serif; }
.question-stack h3 { font-size: 18px; font-weight: 500; }
.question-stack p { font-size: 14px; color: var(--muted); line-height: 2.1; margin-top: 12px; }

/* 読みもの一覧と記事 */
.journal-masthead { padding-block: 48px 60px; text-align: center; position: relative; }
.journal-masthead h1 { font-size: 47px; letter-spacing: .15em; font-weight: 500; }
.journal-masthead > p:not(.eyebrow) { font-size: 14px; line-height: 2.2; margin-top: 25px; }
.masthead-side { position: absolute; right: 0; top: 65px; writing-mode: vertical-rl; font: 14px Arial,sans-serif; letter-spacing: .18em; }
.archive-toolbar { padding-block: 20px; border-block: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 48px; }
.filter-buttons { display: flex; gap: 8px; }
.filter-buttons button { padding: 10px 20px; font-size: 14px; border: 0; }
.archive-count { font-size: 14px; color: var(--muted); }
.archive-feature { display: grid; grid-template-columns: 1.5fr 1fr; gap: 7%; align-items: center; }
.archive-image { display: block; overflow: hidden; }
.archive-feature img { aspect-ratio: 1.1; object-fit: cover; }
.archive-feature h2 { font-size: 28px; }
.archive-feature p:not(.eyebrow) { font-size: 14px; margin-top: 24px; line-height: 2.1; color: var(--muted); }
.archive-feature .text-link { margin-top: 28px; }
.archive-row { display: grid; grid-template-columns: 50px 1fr 1fr; gap: 40px; border-top: 1px solid var(--line); margin-top: 65px; padding-top: 50px; align-items: center; }
.issue-number { font: 23px Georgia,serif; color: var(--olive); align-self: start; padding-top: 4px; }
.archive-row img { aspect-ratio: 1.6; object-fit: cover; }
.archive-row h2 { font-size: 25px; }
.archive-row p:not(.eyebrow):not(.issue-number) { font-size: 14px; margin-top: 18px; color: var(--muted); }
.archive-row .text-link { margin-top: 19px; }
.journal-signoff { text-align: center; padding-block: 90px; }
.signoff-line { display: block; width: 1px; height: 38px; background: var(--line); margin: 0 auto 25px; }
.journal-signoff p { font-size: 14px; line-height: 2.1; letter-spacing: .06em; margin-bottom: 25px; }
.journal-signoff .eyebrow { font-size: 14px; }
.article-opening { max-width: 900px; padding-block: 38px 45px; }
.article-opening .display { font-size: 43px; }
.article-opening > p:not(.eyebrow) { font-size: 14px; margin-top: 22px; }
.article-byline { display: block; color: var(--muted); font-size: 14px; margin-top: 23px; }
.article-hero { width: min(100%,1400px); margin: auto; }
.article-hero img { max-height: 600px; object-fit: cover; object-position: center 50%; }
.article-hero figcaption { text-align: right; padding: 15px var(--page-gutter); }
.article-layout { display: grid; grid-template-columns: 230px minmax(0,660px); justify-content: space-between; gap: 60px; padding-block: 65px 85px; }
.article-toc { position: sticky; top: calc(var(--header-height) + 35px); align-self: start; display: flex; flex-direction: column; gap: 14px; }
.article-toc .eyebrow { font-size: 14px; margin-bottom: 7px; }
.article-toc a { font-size: 14px; padding-block: 6px; border-bottom: 1px solid var(--line); }
.article-toc a:hover { color: var(--olive); }
.article-copy .article-lead { font-size: 16px; line-height: 2.3; }
.article-copy section { margin-top: 62px; }
.article-copy section > p { margin-top: 24px; }
.article-copy h2 { font-size: 26px; line-height: 1.8; }
.chapter-count { display: block; font: 14px Arial,sans-serif; letter-spacing: .15em; color: var(--olive); margin-bottom: 14px; }
.article-copy blockquote { margin: 45px 0; padding: 25px 0 25px 30px; border-left: 2px solid #a1a98c; font-size: 25px; line-height: 1.9; letter-spacing: .08em; }
.article-inline-image { margin-block: 45px; }
.article-inline-image img { aspect-ratio: 1.45; object-fit: cover; }
.article-inline-image figcaption { margin-top: 13px; }
.try-note { background: var(--warm); padding: 28px 34px; margin-top: 48px; }
.try-note h3 { font-size: 18px; margin-bottom: 10px; }
.try-note p:not(.eyebrow) { font-size: 14px; line-height: 2.1; }
.try-note .eyebrow { font-size: 14px; }
.article-navigation { padding-block: 32px 55px; display: flex; justify-content: space-between; align-items: center; border-top: 1px solid var(--line); gap: 30px; }
.article-navigation > a:first-child { font-size: 14px; }
.article-navigation > a:last-child { display: grid; grid-template-columns: 1fr 25px; gap: 10px 25px; }
.article-navigation .eyebrow { grid-column: 1/-1; margin: 0; font-size: 14px; }
.article-navigation strong { font-size: 16px; font-weight: 500; }
.linen-article-cover { height: 630px; position: relative; color: white; display: flex; align-items: center; }
.linen-article-cover img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.linen-article-cover::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,#151a19bd,transparent 85%); }
.linen-article-cover > div { position: relative; z-index: 1; padding-inline: var(--page-gutter); }
.linen-article-cover h1 { font-size: 44px; line-height: 1.8; font-weight: 500; letter-spacing: .13em; }
.linen-article-cover .eyebrow { color: #e6e8df; }
.linen-article-cover p:last-child { font-size: 14px; margin-top: 22px; letter-spacing: .1em; }
.linen-read .article-copy > .article-byline { margin-top: 0; margin-bottom: 22px; }
.linen-read .article-copy > .text-link { margin-top: 26px; }

/* ガイド：手順、模式図、操作できるチェックリスト */
.guide-opening { background: #eceee4; padding-block: 60px 75px; }
.guide-opening .wrap { display: flex; justify-content: space-between; gap: 65px; align-items: center; }
.guide-opening .display { font-size: 41px; }
.guide-opening p:not(.eyebrow) { font-size: 14px; margin-top: 23px; line-height: 2.2; }
.guide-opening .guide-motif { color: var(--olive); width: 240px; height: 210px; }
.guide-opening .motif-window { background: #eceee4; }
.page-guide .section-index { border-top: 0; }
.guide-chapter { padding-block: 80px; }
.guide-chapter-heading { display: flex; align-items: center; gap: 30px; margin-bottom: 40px; }
.giant-number { font: 65px Georgia,serif; color: #b5bba5; line-height: 1; }
.guide-chapter-heading .eyebrow { margin-bottom: 8px; }
.guide-chapter-heading h2 { font-size: 28px; }
.measure-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9%; align-items: center; }
.measure-grid > div > p { font-size: 14px; line-height: 2.2; }
.measure-plan { position: relative; aspect-ratio: 1.2; background: var(--warm); }
.measure-boundary { position: absolute; inset: 18% 15% 13% 21%; border: 2px solid #879171; }
.measure-plan span { position: absolute; font-size: 14px; color: var(--olive); text-align: center; }
.measure-width { top: 6%; left: 24%; width: 54%; border-bottom: 1px solid #b5bca6; }
.measure-depth { left: 4%; top: 40%; writing-mode: vertical-rl; }
.measure-window { left: 12%; top: -9px; width: 44%; background: var(--warm); border-block: 1px solid #879171; line-height: 16px; }
.measure-storage { top: -1px; right: -1px; width: 22%; height: 58%; border: 1px solid #879171; display: grid; place-items: center; background: #e2e5d7; }
.measure-door { bottom: -3px; left: -3px; height: 28%; width: 38%; border: 1px dashed #879171; border-radius: 0 100% 0 0; padding-top: 18px; }
.measure-socket { left: -23px; top: 42%; background: var(--warm); font-size: 14px !important; }
.choose-band { background: var(--warm); padding-block: 65px; }
.choose-lead { font-size: 14px; line-height: 2.1; margin-bottom: 30px; }
.choice-links { display: grid; grid-template-columns: repeat(3,1fr); gap: 25px; }
.choice-links a { padding: 25px 0; border-top: 1px solid #cfd4c2; border-bottom: 1px solid #cfd4c2; display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: center; }
.choice-links a > span:first-child { font-size: 14px; color: var(--muted); grid-column: 1/-1; }
.choice-links strong { font-size: 21px; font-weight: 500; }
.layer-recipe { display: grid; grid-template-columns: 1.2fr 1fr; align-items: center; gap: 8%; }
.layer-recipe > img { aspect-ratio: 1.1; object-fit: cover; }
.layer-recipe ol { margin: 0; padding: 0; list-style: none; }
.layer-recipe li { border-bottom: 1px solid var(--line); padding: 22px 0; }
.layer-recipe li:first-child { padding-top: 0; }
.layer-recipe li > span { font: 14px Arial,sans-serif; color: var(--olive); letter-spacing: .12em; }
.layer-recipe h3 { font-size: 18px; font-weight: 500; margin-top: 9px; }
.layer-recipe p { font-size: 14px; color: var(--muted); margin-top: 9px; }
.checklist-section { background: #eef0e8; padding-block: 70px; }
.checklist-grid { display: grid; grid-template-columns: .85fr 1.2fr; gap: 8%; }
.checklist-grid h2 { font-size: 29px; }
.checklist-grid > div > p:not(.eyebrow):not(.checklist-progress) { font-size: 14px; margin-top: 23px; }
.checklist-progress { font-size: 22px; color: var(--olive); margin-top: 27px; }
.room-checklist label { display: flex; align-items: start; gap: 14px; padding: 18px 0; border-bottom: 1px solid #cfd4c2; font-size: 14px; cursor: pointer; }
.room-checklist label:first-child { border-top: 1px solid #cfd4c2; }
.room-checklist input { width: 18px; height: 18px; margin: 3px 0 0; accent-color: var(--olive); flex: none; }
.room-checklist input:checked + span { color: #4d5840; }
.checklist-actions { display: flex; justify-content: space-between; gap: 22px; margin-top: 20px; }
.text-button { background: transparent; border: 0; border-bottom: 1px solid #adb69b; font-size: 14px; min-height: 44px; padding: 6px 0; }
.guide-faq { display: grid; grid-template-columns: .85fr 1.2fr; gap: 8%; padding-block: 90px; }
.guide-faq h2 { font-size: 26px; }
.guide-faq .guide-answer { padding-left: 0; }

@media (max-width: 1000px) {
  .home-note .eyebrow { display: none; }
  .home-story { column-gap: 8%; }.home-story-copy h2 { font-size: 30px; }
  .room-mosaic { gap: 24px; }.editorial-preview { gap: 35px; }
  .guide-invite-inner { gap: 40px; }.guide-invite .guide-motif { width: 220px; height: 215px; }
  .material-feature-panel { width: 360px; padding: 37px; }
  .section-index a { padding-inline: 14px; font-size: 14px; gap: 12px; }
  .collection-story { gap: 5%; }.collection-copy h2 { font-size: 34px; }.collection-copy > p:not(.eyebrow) { font-size: 14px; }
  .room-facts { gap: 22px; }.room-lead { gap: 0 7%; }.room-lead h2 { font-size: 28px; }
  .annotated-grid { grid-template-columns: 1.2fr 1fr; }.annotation-image img { aspect-ratio: .95; }
  .point-list h3 { font-size: 14px; }.point-list p { font-size: 14px; }
  .detail-pair > div { padding: 40px 10%; }.detail-pair h2 { font-size: 25px; }
  .article-layout { grid-template-columns: 190px minmax(0,1fr); gap: 40px; }
  .article-toc a { font-size: 14px; }.article-copy h2 { font-size: 23px; }
  .guide-opening .display { font-size: 32px; }.guide-opening .guide-motif { width: 190px; height: 180px; }
  .guide-chapter-heading h2 { font-size: 25px; }.guide-chapter-heading { gap: 20px; }
}
@media (max-width: 700px) {
  .breadcrumb { padding-block: 15px; gap: 7px 10px; font-size: 14px; }
  .display { font-size: 31px; letter-spacing: .055em; }
  .page-intro { padding-block: 30px 36px; }.intro-row { display: block; }.intro-row > p { margin-top: 22px; font-size: 14px; }
  .intro-copy { font-size: 14px; }.prose { font-size: 14px; line-height: 2.2; }
  .next-section { padding-block: 40px; }.next-section h2 { font-size: 21px; }.next-section p:not(.eyebrow) { font-size: 14px; }.next-section .large-arrow { font-size: 30px; }
  .section-index { display: grid; grid-template-columns: 1fr 1fr; }.section-index a { padding: 14px 10px; font-size: 14px; }.section-index a:nth-child(odd) { padding-left: 0; }.section-index a:nth-child(even) { padding-right: 0; }
  .home-note { gap: 15px; padding-block: 19px; }.home-note p { font-size: 14px; max-width: 60%; }.home-note a { font-size: 14px; gap: 9px; white-space: nowrap; }
  .home-story { grid-template-columns: 1fr; padding-block: 64px 65px; gap: 30px; }.home-story-copy { grid-row: auto; padding: 0 4px; }.home-story-copy h2 { font-size: 30px; }.home-story-copy > p:not(.eyebrow) { font-size: 14px; }
  .home-story-main img { aspect-ratio: 1.05; }.home-story-detail { width: 49%; margin: -75px 0 0 auto; border-width: 7px; }.home-story-main figcaption { text-align: left; font-size: 14px; max-width: 45%; line-height: 1.7; }
  .home-rooms { padding-bottom: 65px; }.home-rooms .section-heading > .text-link, .home-journal .section-heading > .text-link { margin-top: 15px; }
  .room-mosaic { grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; gap: 30px 18px; }.mosaic-living { grid-column: 1/-1; grid-row: auto; }.mosaic-living .image-frame img { aspect-ratio: 1.12; }.mosaic-small .image-frame img { aspect-ratio: 1; }.mosaic-label { margin-top: 17px; }.mosaic-label p { font-size: 14px; }.mosaic-label h3 { font-size: 28px; }.mosaic-small h3 { font-size: 23px; }.mosaic-small .eyebrow { font-size: 14px; }.mosaic-small .line-arrow { width: 20px; }
  .material-feature { min-height: 0; display: block; padding: 220px 24px 28px; }.material-feature > img { height: 350px; object-position: 28% center; }.material-feature { background: var(--warm); }.material-feature-panel { width: 100%; padding: 30px; background: #faf9f3; }.material-feature-panel h2 { font-size: 27px; }
  .home-journal { padding-block: 65px; }.editorial-preview { grid-template-columns: 1fr; gap: 35px; }.editorial-feature .image-frame img { aspect-ratio: 1.3; }.editorial-preview h3 { font-size: 24px; }.editorial-side { padding-top: 25px; border-top: 1px solid var(--line); display: grid; grid-template-columns: 115px 1fr; gap: 8px 20px; }.editorial-side .image-frame { grid-row: 1/5; }.editorial-side .image-frame img { aspect-ratio: .7; }.editorial-side .eyebrow { margin: 0; font-size: 14px; }.editorial-side h3 { font-size: 17px; }.editorial-side > p:not(.eyebrow) { margin-top: 0; font-size: 14px; }.editorial-side .text-link { margin-top: 0; font-size: 14px; gap: 15px; }
  .guide-invite { padding-block: 48px; }.guide-invite-inner { display: block; }.guide-invite h2 { font-size: 25px; }.guide-invite .guide-motif { display: none; }.guide-invite p:not(.eyebrow) { font-size: 14px; }.light-button { font-size: 14px; padding: 15px 20px; gap: 30px; }
  .about-opening { grid-template-columns: 1fr; gap: 35px; padding-block: 25px 40px; }.about-opening .display { font-size: clamp(30px, 9.3vw, 45px); line-height: 1.55; }.about-opening .display br:first-of-type { display: none; }.opening-note { font-size: 14px; margin-top: 22px; }.about-opening figure img { aspect-ratio: 1.05; }.about-opening figcaption { font-size: 14px; }
  .manifesto { padding-block: 32px 60px; }.manifesto h2 { font-size: 25px; margin-bottom: 27px; }.about-collage { grid-template-columns: 1fr 1fr; gap: 22px; margin-right: 24px; }.collage-wide { grid-column: 1/-1; grid-row: auto; }.collage-wide img { aspect-ratio: 1.5; }.collage-close { width: 100%; margin-top: 0; margin-left: 24px; }.about-collage > p { font-size: 17px; margin: 0 0 0 15px; align-self: center; }.collage-wide figcaption { font-size: 14px; }
  .beliefs { grid-template-columns: 1fr; gap: 25px; padding-block: 60px; }.beliefs h2 { font-size: 25px; }.belief-list article { gap: 20px; }.belief-list h3 { font-size: 18px; }.belief-list p { font-size: 14px; }
  .collection-stories { padding-block: 35px 60px; }.collection-story { display: flex; flex-direction: column; align-items: stretch; gap: 25px; }.collection-story + .collection-story { margin-top: 55px; }.collection-dining { padding-left: 0; }.collection-photo img, .collection-dining .collection-photo img { aspect-ratio: 1.2; }.collection-copy h2 { font-size: 34px; }.collection-copy .eyebrow { margin-bottom: 6px; }.collection-copy > p:not(.eyebrow) { margin: 14px 0; }.collection-copy .text-link { margin-top: 17px; }.comparison-band { padding-block: 50px; }.comparison-band h2 { font-size: 23px; }th,td { padding: 17px 14px; }
  .room-cover { height: 440px; margin-bottom: 35px; }.room-cover > img { object-position: 63%; }.room-cover-title { min-width: 0; padding: 23px 26px; right: 45px; bottom: -25px; }.room-cover-title h1 { font-size: 40px; }.room-cover-title .eyebrow { margin-bottom: 8px; }.room-cover-title p:last-child { font-size: 14px; }
  .room-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; padding: 22px 0; }.room-facts p { font-size: 14px; }.room-lead { grid-template-columns: 1fr; gap: 22px; padding-block: 50px; }.room-lead .eyebrow { margin: 0; }.room-lead h2 { font-size: 26px; }
  .annotated-room { padding-bottom: 55px; }.annotated-grid { grid-template-columns: 1fr; gap: 25px; }.annotation-image img { aspect-ratio: 1.25; }.photo-pin { width: 29px; height: 29px; font-size: 14px; }.point-list h3 { font-size: 16px; }.point-list p { font-size: 14px; }
  .layout-lab { padding-block: 48px; }.layout-panel { grid-template-columns: 1fr; gap: 30px; }.layout-panel h3 { font-size: 21px; }.layout-panel p:not(.eyebrow) { font-size: 14px; }.layout-switch button { padding: 12px 17px; font-size: 14px; }.room-diagram { margin: 8px; }.room-diagram span { font-size: 14px; }
  .palette-section { grid-template-columns: 1fr; gap: 35px; padding-block: 55px; }.palette-section h2 { font-size: 26px; }.palette-swatches { gap: 25px; }.room-next { gap: 15px; }.room-next > a:last-child { gap: 3px 15px; grid-template-columns: 1fr 25px; }.room-next strong { font-size: 27px; }.room-next > a:first-child { font-size: 14px; }
  .dining-opening { align-items: start; gap: 25px; padding-block: 20px 35px; }.dining-opening .display { font-size: 46px; }.dining-opening .eyebrow { font-size: 14px; }.dining-opening > p { font-size: 17px; padding-top: 10px; max-width: 48%; }.dining-opening > p span { font-size: 14px; }.dining-panorama img { height: 400px; object-position: 51%; }.dining-panorama figcaption { font-size: 14px; }
  .dining-timeline { grid-template-columns: 1fr; gap: 35px; padding-block: 50px 65px; }.dining-timeline h2 { font-size: 27px; }.dining-timeline ol { margin-left: 4px; padding-left: 23px; }.dining-timeline li { padding-left: 62px; }.dining-timeline li::before { left: -27px; }.dining-timeline h3 { font-size: 18px; }
  .dining-layout { padding-bottom: 55px; }.dining-layout h2 { font-size: 24px; }.dining-layout .section-heading .text-link { margin-top: 18px; font-size: 14px; }.table-arrangement { grid-template-columns: 1fr; gap: 28px; }.detail-pair { grid-template-columns: 1fr; }.detail-pair > img { min-height: 0; height: 320px; }.detail-pair > div { padding: 38px 24px; }.detail-pair p:not(.eyebrow) { font-size: 14px; }.article-teaser { padding-block: 47px; }.article-teaser h2 { font-size: 21px; }
  .bedroom-opening { grid-template-columns: 1fr; gap: 25px; padding-block: 22px 40px; }.bedroom-title { padding-top: 0; }.bedroom-title .display { font-size: 47px; }.bedroom-title > p:last-child { font-size: 15px; margin-top: 18px; }.bedroom-main { aspect-ratio: 1; }.bedroom-texture { width: 40%; margin-top: -80px; grid-column: 1; margin-left: auto; border-width: 6px; }.bedroom-caption { grid-column: 1; grid-row: 3; text-align: left; width: 55%; font-size: 14px; }
  .bedroom-thought { grid-template-columns: 1fr; gap: 25px; padding-bottom: 50px; }.bedroom-thought h2 { font-size: 26px; }.bedroom-thought .eyebrow { margin: 0; }.day-night { padding-block: 10px 55px; }.day-night h2 { font-size: 23px; }.day-night-grid { grid-template-columns: 1fr; gap: 32px; }.day-night figure:nth-child(2) { padding-top: 0; }.day-night img { aspect-ratio: 1.4; }.day-night h3 { font-size: 19px; }.fabric-story { padding-block: 43px; }.fabric-story .wrap { grid-template-columns: 1fr; gap: 30px; }.fabric-story img { aspect-ratio: 1.35; }.fabric-story p:not(.eyebrow) { font-size: 14px; }.bedroom-check { grid-template-columns: 1fr; gap: 20px; padding-block: 55px; }.bedroom-check h2 { font-size: 24px; }
  .material-chapter { grid-template-columns: 1fr; gap: 28px; padding-block: 35px 55px; }.chapter-image img { aspect-ratio: 1.1; }.chapter-text h2 { font-size: 30px; }.chapter-text > p:not(.eyebrow) { font-size: 14px; }.fabric-chapter { padding-block: 45px; }.fabric-chapter .wrap { grid-template-columns: 1fr; gap: 30px; }.fabric-chapter-title { padding-top: 0; }.fabric-chapter-title p:not(.eyebrow) { font-size: 14px; }.fabric-notes { grid-template-columns: 1fr; gap: 25px; margin-top: 0; }.fabric-notes h3 { font-size: 17px; }.form-chapter { padding-block: 55px; }.form-grid { grid-template-columns: 1fr; gap: 30px; }.form-grid > img { aspect-ratio: 1.2; }.question-stack p { font-size: 14px; }
  .journal-masthead { padding-block: 32px 40px; }.journal-masthead h1 { font-size: 28px; letter-spacing: .05em; }.journal-masthead > p:not(.eyebrow) { font-size: 14px; }.masthead-side { display: none; }.archive-toolbar { gap: 15px; flex-wrap: wrap; margin-bottom: 30px; }.filter-buttons { gap: 5px; }.filter-buttons button { padding: 10px 13px; font-size: 14px; }.archive-count { margin-left: auto; font-size: 14px; }
  .archive-feature { grid-template-columns: 1fr; gap: 25px; }.archive-feature img { aspect-ratio: 1.2; }.archive-feature h2 { font-size: 26px; }.archive-feature p:not(.eyebrow) { font-size: 14px; margin-top: 17px; }.archive-feature .text-link { margin-top: 18px; }.archive-row { grid-template-columns: 1fr; gap: 25px; padding-top: 30px; margin-top: 40px; }.issue-number { display: none; }.archive-row h2 { font-size: 24px; }.journal-signoff { padding-block: 60px; }.journal-signoff p { font-size: 14px; }
  .article-opening { padding-block: 25px 30px; }.article-opening .display { font-size: 27px; letter-spacing: .04em; }.article-opening .eyebrow { font-size: 14px; }.article-opening > p:not(.eyebrow) { font-size: 14px; }.article-hero img { height: 330px; }.article-layout { grid-template-columns: 1fr; gap: 38px; padding-block: 35px 50px; }.article-toc { position: static; gap: 8px; }.article-toc a { font-size: 14px; }.article-copy .article-lead { font-size: 15px; }.article-copy section { margin-top: 45px; }.article-copy h2 { font-size: 22px; letter-spacing: .03em; }.article-copy blockquote { font-size: 22px; padding-left: 20px; }.try-note { padding: 24px; }.try-note p:not(.eyebrow) { font-size: 14px; }
  .article-navigation { display: block; padding-block: 28px 40px; }.article-navigation > a:last-child { margin-top: 28px; }.article-navigation strong { font-size: 15px; }.linen-article-cover { height: 580px; align-items: end; padding-bottom: 60px; }.linen-article-cover img { object-position: 60%; }.linen-article-cover::after { background: linear-gradient(0deg,#111818de,transparent 90%); }.linen-article-cover h1 { font-size: 29px; letter-spacing: .07em; }.linen-article-cover .eyebrow { font-size: 14px; }.linen-article-cover p:last-child { font-size: 14px; }
  .guide-opening { padding-block: 38px 45px; }.guide-opening .wrap { display: block; }.guide-opening .display { font-size: 29px; letter-spacing: .035em; }.guide-opening .guide-motif { display: none; }.guide-opening p:not(.eyebrow) { font-size: 14px; }.guide-chapter { padding-block: 50px; }.guide-chapter-heading { gap: 20px; margin-bottom: 30px; }.guide-chapter-heading h2 { font-size: 23px; }.giant-number { font-size: 47px; }.measure-grid { grid-template-columns: 1fr; gap: 27px; }.measure-grid > div > p { font-size: 14px; }.choose-band { padding-block: 45px; }.choose-lead { font-size: 14px; }.choice-links { grid-template-columns: 1fr; gap: 0; }.choice-links a + a { border-top: 0; }.choice-links strong { font-size: 21px; }.layer-recipe { grid-template-columns: 1fr; gap: 30px; }.layer-recipe > img { aspect-ratio: 1.3; }.checklist-section { padding-block: 45px; }.checklist-grid { grid-template-columns: 1fr; gap: 30px; }.checklist-grid h2 { font-size: 27px; }.room-checklist label { font-size: 14px; }.checklist-actions { gap: 15px; }.text-button { font-size: 14px; }.guide-faq { grid-template-columns: 1fr; gap: 30px; padding-block: 50px; }.guide-faq h2 { font-size: 24px; }
}
@media (max-width: 360px) {
  .home-note p { max-width: 55%; }.home-story-copy h2 { font-size: 28px; }.editorial-side { grid-template-columns: 95px 1fr; gap: 8px 15px; }.editorial-side h3 { font-size: 16px; }.dining-opening .display { font-size: 38px; }.dining-opening > p { font-size: 15px; }.room-cover-title { right: 26px; padding-inline: 22px; }.guide-opening .display { font-size: 26px; }.guide-chapter-heading h2 { font-size: 21px; }.giant-number { font-size: 40px; }.filter-buttons button { padding-inline: 9px; }
}
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { animation: none !important; transition: none !important; } }
@media print {
  .site-header,.site-footer,.breadcrumb,.section-index,.next-section,.checklist-actions,.article-toc,.article-navigation,.room-next { display: none !important; }
  .wrap { width: 100%; }.guide-opening { padding-block: 20px; }.guide-chapter,.choose-band,.checklist-section,.guide-faq { padding-block: 25px; }.guide-chapter,.checklist-section,figure { break-inside: avoid; }.article-layout { display: block; }.article-copy { max-width: 680px; margin: auto; }.room-checklist label { color: #000; }.room-checklist input { appearance: auto; }
}
