.editorial-page { max-width:1600px; margin-inline:auto; }
.editorial-opening { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:8px; margin-bottom:48px; }
.editorial-heading { background:#181a18; padding:clamp(24px,3vw,48px); display:flex; flex-direction:column; align-items:flex-start; }
.editorial-heading h1 { font-weight:400; font-size:clamp(36px,4.1vw,65px); line-height:1.06; letter-spacing:-.035em; margin:32px 0 24px; text-wrap:balance; }
.editorial-heading > p { font-size:18px; line-height:1.55; color:#bdc2bd; max-width:48ch; }
.editorial-meta { margin-top:auto; padding-top:36px; width:100%; display:flex; justify-content:space-between; gap:16px; font-size:13px; color:#b8beb8; }
.editorial-meta a { min-height:44px; display:flex; align-items:center; color:#f0f2ed; }
.editorial-meta > span { align-self:center; }
.editorial-cover { margin:0; background:#171817; display:flex; flex-direction:column; min-width:0; }
.editorial-cover .hero { width:100%; max-width:none; flex:1; aspect-ratio:auto; min-height:360px; height:100%; border-radius:0; }
.editorial-cover .hero img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.editorial-cover figcaption { font-size:12px; line-height:1.5; padding:14px 18px; color:#acb3ac; }
.editorial-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(200px,270px); gap:clamp(28px,4vw,72px); padding-inline:clamp(8px,3vw,48px); align-items:start; }
.editorial-body { min-width:0; max-width:74ch; margin-inline:auto; width:100%; scroll-margin-top:92px; }
.editorial-body .text-panel { padding:0 0 28px; margin:0 0 20px; background:none; border-radius:0; }
.editorial-body .text-panel :is(p,li,dd) { font-size:18px; line-height:1.7; color:#c6ccc6; max-width:none; }
.editorial-body .text-panel :is(h2,h3,h4) { scroll-margin-top:100px; font-weight:400; color:#f0f2ed; margin:0 0 20px; line-height:1.18; }
.editorial-body .text-panel h2 { font-size:clamp(28px,2.8vw,42px); letter-spacing:-.025em; padding-top:28px; border-top:1px solid #333833; }
.editorial-body .text-panel h3 { font-size:25px; }
.editorial-body .text-panel h4 { font-size:21px; }
.editorial-body .detail-photo { margin:8px 0 40px; width:100%; }
.editorial-body .detail-photo img { display:block; width:100%; max-height:540px; object-fit:contain; background:#151715; }
.editorial-body .detail-photo figcaption { font-size:12px; line-height:1.5; padding:12px 0; color:#a7afa7; }
.editorial-body .table-wrap { max-width:100%; overflow:auto; }
.editorial-body table { font-size:15px; }
.editorial-body a { overflow-wrap:anywhere; }
.editorial-contents { position:sticky; top:100px; max-height:calc(100svh - 120px); overflow:auto; padding:20px; background:#181a18; border-top:1px solid #7e897e; }
.editorial-contents summary { display:flex; justify-content:space-between; font-size:14px; cursor:pointer; min-height:32px; }
.editorial-contents nav { display:grid; margin-top:16px; }
.editorial-contents nav a { display:grid; grid-template-columns:24px 1fr; gap:8px; font-size:13px; line-height:1.4; padding:12px 0; min-height:44px; border-top:1px solid #ffffff1a; color:#b7bfb7; }
.editorial-contents nav a:hover,.editorial-contents nav a:focus-visible { color:#fff; }
.editorial-contents nav a span { color:#858e85; font-size:11px; }
.editorial-related { margin-top:32px; padding:28px; display:grid; grid-template-columns:1fr 1fr; gap:0 28px; background:#171917; }
.editorial-related > span { grid-column:1/-1; margin-bottom:16px; }
.editorial-related a { border-top:1px solid #353a35; padding:18px 0; display:flex; justify-content:space-between; gap:24px; font-size:16px; }
@media(max-width:760px) {
 .editorial-opening { grid-template-columns:1fr; margin-bottom:24px; }
 .editorial-heading { padding:26px 22px; }
 .editorial-heading h1 { font-size:38px; margin-top:24px; }
 .editorial-heading > p { font-size:17px; }
 .editorial-cover .hero { min-height:0; aspect-ratio:1.65; }
 .editorial-layout { grid-template-columns:1fr; padding:0 14px; gap:28px; }
 .editorial-contents { grid-row:1; position:static; max-height:320px; padding:16px; }
 .editorial-body .text-panel :is(p,li,dd) { font-size:17px; line-height:1.65; }
 .editorial-related { grid-template-columns:1fr; padding:22px; }
}

.about-opening-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:8px;margin:8px 0 32px;}
.about-documentary{min-width:0;background:#171917;}
.about-documentary .service-photo-frame{aspect-ratio:1.3;}
.about-documentary .service-photo-frame img{height:100%;object-fit:cover;}
.about-photo-note{font-size:12px;color:#aab2aa;padding:0 20px 18px;line-height:1.5;}
.about-opening-grid .about-person{display:flex;flex-direction:column;padding:32px;}
.about-opening-grid h2{font-size:clamp(32px,3.5vw,52px);letter-spacing:-.025em;line-height:1.08;}
.about-facts{margin-top:auto;padding-top:28px;}
.about-facts>div{display:grid;grid-template-columns:100px 1fr;border-top:1px solid #383e38;padding:16px 0;font-size:15px;line-height:1.5;}
.about-facts dt{color:#9ca79c;}.about-facts dd{margin:0;}
.about-practice-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:48px;}
.about-practice-grid>a{padding:32px;display:flex;flex-direction:column;gap:22px;}
.about-practice-grid h2{font-size:clamp(28px,3vw,44px);font-weight:400;line-height:1.15;}
.about-practice-grid p{font-size:18px;line-height:1.6;color:#bdc5bd;max-width:50ch;}
.about-open{display:block;border-top:1px solid #3c443c;padding-top:20px;margin-top:auto;}
.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;}
.form-status{color:#e7c9b9;line-height:1.5;outline:none;}.form-status:empty{display:none;}
.email-fallback{background:transparent!important;border:1px solid #414a41!important;color:#c5cec5!important;min-height:48px;cursor:pointer;}
.inquiry-receipt{background:#1a211b;padding:clamp(24px,4vw,52px);margin:24px 0;border-top:1px solid #a7b7a7;}
.inquiry-receipt[hidden]{display:none;}.inquiry-receipt h2{font-size:clamp(36px,5vw,64px);font-weight:400;line-height:1.05;margin:24px 0;}
.inquiry-receipt p{max-width:52ch;line-height:1.5;}.inquiry-receipt code{display:block;overflow-wrap:anywhere;padding:20px 0;font-size:12px;color:#b7c2b7;}
.inquiry-receipt a{display:inline-flex;min-height:44px;align-items:center;border-bottom:1px solid #798979;}
.contact-form .submit:disabled{opacity:.7;cursor:default;}
@media(max-width:760px){.about-opening-grid,.about-practice-grid{grid-template-columns:1fr;}.about-opening-grid .about-person,.about-practice-grid>a{padding:24px;}.about-facts>div{grid-template-columns:95px 1fr;}}
