.topic-shell{max-width:1280px;margin:0 auto;padding:26px 5% 80px}.topic-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:.875rem;color:var(--muted);margin:0 0 34px}.topic-breadcrumb a{text-decoration:underline;text-underline-offset:4px}.topic-breadcrumb a:hover{color:var(--red-strong)}.topic-breadcrumb [aria-current]{color:var(--ink)}.topic-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);align-items:center;gap:64px}.topic-hero h1{font:400 clamp(2.7rem,4.5vw,4.7rem)/1.08 var(--display);letter-spacing:-2px;margin:0 0 24px;text-wrap:balance}.topic-hero h1 em{color:var(--red);font-weight:400}.topic-lead{font-size:1.125rem;color:var(--muted);line-height:1.7;margin:0 0 22px;max-width:540px}.topic-location{font-size:.9rem;margin:0 0 24px;color:var(--muted)}.topic-cta{gap:24px;border-radius:8px}.topic-cta span{font-size:1.3rem}.topic-consult-note{font-size:.8125rem;line-height:1.6;color:var(--muted);margin:14px 0 0;max-width:430px}.topic-photo{margin:0;min-width:0}.topic-photo img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:24px;max-height:590px}.topic-photo figcaption{color:var(--muted);font-size:.8125rem;line-height:1.55;margin-top:12px}.topic-photo figcaption a{white-space:nowrap;text-decoration:underline;text-underline-offset:3px}.topic-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.55fr);align-items:start;gap:76px;margin-top:76px}.topic-article{min-width:0}.topic-text-section{margin-bottom:38px}.topic-text-section h2,.topic-related h2{font-size:2rem;letter-spacing:-.65px;margin-bottom:16px}.topic-text-section p{font-size:1.03125rem;line-height:1.8;color:var(--muted);margin:0 0 16px;max-width:65ch}.topic-text-section ul{padding-left:22px;margin:12px 0 18px;color:var(--muted)}.topic-text-section li{padding-left:4px;margin:9px 0}.topic-text-section li::marker{color:var(--red-strong)}.topic-contact{background:var(--yellow-soft);padding:30px;border-radius:20px;border:1px solid #f2e9bd}.topic-contact-label{font-size:.6875rem;font-weight:700;letter-spacing:1.7px;margin:0 0 12px;color:var(--red-strong)}.topic-contact h2{font-size:2.2rem}.topic-contact address{margin:22px 0 18px;font-size:.9375rem}.topic-contact address strong{color:var(--ink);font-size:1.125rem}.topic-contact address span{display:block}.topic-map,.topic-phone{font-weight:600;text-decoration:underline;text-underline-offset:5px}.topic-contact dl{margin:26px 0 0}.topic-contact dl>div{font-size:.8125rem;flex-wrap:wrap;gap:8px;padding:10px 0}.topic-contact dd{white-space:nowrap}.topic-contact .topic-phone{display:inline-block;margin-top:22px}.topic-home-link{display:block;font-size:.8125rem;margin-top:14px;text-decoration:underline;text-underline-offset:3px}.topic-related>div{display:flex;flex-wrap:wrap;gap:10px}.topic-related a{display:inline-flex;align-items:center;gap:16px;padding:10px 15px;min-height:44px;border:1px solid var(--line);border-radius:999px;font-size:.875rem}.topic-related a:hover{border-color:var(--red-strong);color:var(--red-strong)}.topic-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:60px}.topic-category{border:1px solid var(--line);border-radius:18px;padding:24px;background:var(--yellow-soft)}.topic-category h3{font:400 1.7rem/1.2 var(--display);margin:0 0 12px}.topic-category p{font-size:.9375rem;color:var(--muted);margin:0 0 22px}.topic-category>span{font-size:.875rem;font-weight:600}.topic-category:hover{border-color:var(--red-strong)}
@media(max-width:1023px){.topic-hero{gap:32px}.topic-detail-layout{gap:32px;grid-template-columns:minmax(0,1fr) minmax(260px,.65fr)}.topic-contact{padding:22px}}
@media(max-width:760px){.topic-shell{padding:20px 6% 54px}.topic-breadcrumb{font-size:.8125rem;gap:8px;margin-bottom:26px}.topic-hero{grid-template-columns:minmax(0,1fr);gap:30px}.topic-hero h1{font-size:2.75rem;letter-spacing:-1.2px}.topic-lead{font-size:1.03125rem}.topic-location{font-size:.8125rem}.topic-cta{width:100%;gap:18px;font-size:.9375rem}.topic-photo img{aspect-ratio:4/3;max-height:none;border-radius:18px}.topic-detail-layout{grid-template-columns:minmax(0,1fr);gap:28px;margin-top:40px}.topic-text-section h2,.topic-related h2{font-size:1.9rem}.topic-text-section p{font-size:1rem}.topic-text-section{margin-bottom:30px}.topic-category-grid{grid-template-columns:minmax(0,1fr);margin-top:34px}.topic-contact{padding:26px}.topic-related a{max-width:100%;white-space:normal}}

.topic-text-section a,.topic-faq a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.topic-class-info{margin:36px 0 42px;padding:24px 28px;border:1px solid var(--line);border-radius:18px;background:#fffdf7}.topic-class-info h2,.topic-examples h2,.topic-faq h2{font-size:2rem;letter-spacing:-.65px;margin:0 0 18px}.topic-class-info dl{margin:0}.topic-class-info dl>div{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:18px;padding:13px 0;border-bottom:1px solid var(--line);font-size:.9375rem;align-items:start}.topic-class-info dl>div:last-child{border:0}.topic-class-info dt{font-weight:600}.topic-class-info dd{margin:0;white-space:normal;color:var(--muted)}.topic-examples{margin:34px 0 38px}.topic-examples>p{color:var(--muted);font-size:.9375rem;line-height:1.7;margin:0 0 20px}.topic-examples-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.topic-examples-grid figure{margin:0;min-width:0}.topic-examples-grid img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:16px}.topic-examples-grid figcaption{font-size:.8125rem;line-height:1.6;margin-top:12px;color:var(--muted)}.topic-examples-grid figcaption a{text-decoration:underline;text-underline-offset:3px;color:var(--ink)}.topic-faq{margin:36px 0 40px}.topic-faq details{border-bottom:1px solid var(--line)}.topic-faq summary{cursor:pointer;padding:18px 4px;min-height:48px;font-size:1rem;font-weight:600;line-height:1.5}.topic-faq summary::marker{color:var(--red-strong)}.topic-faq details p{color:var(--muted);font-size:.9375rem;line-height:1.8;margin:0 0 20px;padding-left:4px}.topic-faq summary:focus-visible{outline:2px solid var(--red-strong);outline-offset:4px;border-radius:4px}.topic-related{margin-top:32px}
@media(max-width:760px){.topic-class-info{padding:18px 20px;margin:28px 0 32px}.topic-class-info dl>div{grid-template-columns:1fr;gap:5px}.topic-examples-grid{gap:14px}.topic-examples-grid figcaption{font-size:.75rem}.topic-class-info h2,.topic-examples h2,.topic-faq h2{font-size:1.9rem}.topic-faq summary{font-size:.9375rem}}
