@charset "UTF-8";
.detail-nav { display:flex; align-items:center; gap:32px; font-size:14px; }
.detail-nav a:not(.header-contact):hover { color:var(--blue); }
.breadcrumb { padding:26px var(--gutter) 0; display:flex; flex-wrap:wrap; gap:9px 14px; font-size:12px; color:var(--muted); background:var(--mist); }
.breadcrumb a { text-decoration:underline; text-underline-offset:4px; }
.breadcrumb [aria-current] { color:var(--ink); }
.detail-hero { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); align-items:center; gap:7%; padding:67px var(--gutter) 85px; background:var(--mist); }
.detail-hero-copy>.eyebrow { color:var(--muted); margin-bottom:26px; }
.detail-english { font-family:var(--serif); font-size:clamp(25px,2.5vw,37px); letter-spacing:-.025em; line-height:1.25; margin-bottom:21px; }
.detail-hero h1 { font-size:clamp(30px,3.1vw,49px); font-weight:500; line-height:1.7; letter-spacing:.02em; }
.detail-lead { margin-top:23px; max-width:35em; font-size:15px; line-height:2.1; color:var(--muted); }
.detail-hero-copy>.button,.hero-choices { margin-top:29px; }
.hero-choices { display:flex; flex-wrap:wrap; gap:12px; }
.hero-choices .button { gap:18px; padding:14px 19px; }
.detail-visual { min-width:0; }
.detail-visual img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.detail-visual figcaption { margin-top:13px; color:var(--muted); font-size:11px; line-height:1.7; }
.detail-section { padding:91px var(--gutter); }
.detail-section-heading { display:grid; grid-template-columns:.8fr 1.4fr 1fr; gap:35px; align-items:start; margin-bottom:48px; }
.detail-section-heading>.eyebrow { color:var(--muted); padding-top:13px; }
.detail-section h2,.detail-preparation h2 { font-size:clamp(28px,2.6vw,39px); font-weight:500; line-height:1.65; }
.detail-section-heading>p:last-child { padding-top:9px; color:var(--muted); font-size:14px; line-height:2; }
.offer-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:38px; }
.offer { border-top:1px solid var(--line); padding-top:23px; }
.offer-number { font:italic 27px var(--serif); color:#677c8d; }
.offer h3 { font-size:21px; font-weight:500; line-height:1.7; margin:17px 0 15px; }
.offer>p { color:var(--muted); font-size:15px; line-height:2; }
.offer .service-tags { margin-bottom:0; gap:7px; }
.offer .text-link { margin-top:22px; font-size:13px; }
.detail-note { margin-top:42px; padding:21px 25px; background:var(--mist); font-size:14px; color:var(--muted); line-height:2; }
.detail-preparation { display:grid; grid-template-columns:1fr 1.5fr; gap:10%; padding:76px var(--gutter); background:#171e23; color:#f8fafb; }
.detail-preparation .eyebrow { color:#b7c2cb; margin-bottom:25px; }
.detail-preparation>div>p:last-child { color:#b7c2cb; font-size:14px; line-height:2; margin-top:23px; }
.preparation-list { margin:0; }
.preparation-list>div { padding:22px 0; border-top:1px solid #46515a; }
.preparation-list>div:first-child { padding-top:0; border-top:0; }
.preparation-list dt { font-size:17px; font-weight:500; margin-bottom:10px; }
.preparation-list dd { margin:0; color:#b7c2cb; font-size:14px; line-height:2; }
.related>.eyebrow { color:var(--muted); margin-bottom:17px; }
.related h2 { font-size:27px; margin-bottom:35px; }
.related-grid { display:grid; grid-template-columns:1fr 1fr; gap:38px; }
.related-grid>a { display:flex; flex-direction:column; gap:12px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:26px 0; }
.related-grid>a:hover { color:var(--blue); border-color:var(--blue); }
.related-en { font-family:var(--serif); font-size:clamp(28px,2.8vw,39px); line-height:1.3; letter-spacing:-.03em; }
.related-grid>a>span:last-child { display:flex; justify-content:space-between; align-items:center; font-size:14px; }
.related-grid>a>span:last-child>span { font-size:22px; }
.detail-contact { display:grid; grid-template-columns:1.2fr 1fr; align-items:center; gap:10%; padding:85px var(--gutter); background:#eaf0f8; }
.detail-contact .eyebrow { margin-bottom:25px; }
.detail-contact h2 { font-size:clamp(28px,3vw,43px); font-weight:500; line-height:1.7; }
.detail-contact>div>p:last-child { font-size:15px; color:var(--muted); line-height:2; margin-top:25px; }
.detail-contact-actions { min-width:0; }
.detail-contact-actions>.button { display:flex; width:100%; gap:18px; margin-bottom:13px; }
.detail-contact-actions>.button>span { flex-shrink:0; }
.detail-contact-actions>.text-link { font-size:13px; }
@media(max-width:1100px) {
  .detail-hero { gap:5%; }
  .detail-section-heading { grid-template-columns:1fr 1.8fr; gap:18px 28px; }
  .detail-section-heading>p:last-child { grid-column:2; padding-top:0; }
  .offer-grid { gap:27px; }
  .offer h3 { font-size:19px; }
  .detail-preparation,.detail-contact { gap:7%; }
}
@media(max-width:800px) {
  .detail-nav { gap:20px; font-size:13px; }
  .detail-nav .header-contact { padding:7px 20px; }
  .detail-hero { padding-top:47px; padding-bottom:58px; gap:35px; }
  .detail-hero h1 { font-size:30px; }
  .detail-hero-copy>.eyebrow { font-size:10px; }
  .detail-hero-copy>.eyebrow>span { margin-right:13px; }
  .detail-visual img { aspect-ratio:3/4; }
  .detail-visual figcaption { font-size:10px; }
  .detail-section { padding-top:65px; padding-bottom:65px; }
  .offer-grid { grid-template-columns:1fr; gap:33px; }
  .offer h3 { font-size:22px; margin-top:11px; }
  .offer .text-link { max-width:340px; }
  .detail-preparation { grid-template-columns:1fr; gap:34px; padding-top:58px; padding-bottom:58px; }
  .detail-preparation h2 br { display:none; }
  .detail-preparation>div>p:last-child { margin-top:16px; }
  .preparation-list>div:first-child { border-top:1px solid #46515a; padding-top:22px; }
  .detail-contact { grid-template-columns:1fr; gap:33px; padding-top:60px; padding-bottom:60px; }
  .detail-contact-actions { max-width:500px; width:100%; }
}
@media(max-width:600px) {
  .detail-header { flex-wrap:wrap; row-gap:15px; }
  .detail-header .brand { width:165px; }
  .detail-nav { flex:1 1 auto; justify-content:flex-end; gap:17px; font-size:12px; }
  .detail-nav .header-contact { padding:6px 17px; }
  .breadcrumb { font-size:10px; padding-top:21px; gap:7px 10px; }
  .detail-hero { grid-template-columns:1fr; padding-top:36px; padding-bottom:41px; gap:33px; }
  .detail-hero-copy>.eyebrow { font-size:11px; margin-bottom:24px; }
  .detail-english { font-size:29px; margin-bottom:19px; }
  .detail-hero h1 { font-size:clamp(25px,6.8vw,37px); line-height:1.7; }
  .detail-lead { font-size:14px; margin-top:19px; }
  .detail-lead br { display:none; }
  .detail-hero-copy>.button,.hero-choices { margin-top:25px; }
  .hero-choices { gap:10px; }
  .hero-choices .button { font-size:13px; padding:13px 17px; }
  .detail-visual img { aspect-ratio:3/2; }
  .detail-visual figcaption { font-size:11px; }
  .detail-section { padding-top:56px; padding-bottom:56px; }
  .detail-section-heading { display:block; margin-bottom:32px; }
  .detail-section-heading>.eyebrow { padding-top:0; margin-bottom:19px; }
  .detail-section h2,.detail-preparation h2 { font-size:28px; }
  .detail-section-heading>p:last-child { padding-top:0; margin-top:19px; }
  .detail-section-heading>p:last-child br { display:none; }
  .offer { padding-top:19px; }
  .offer h3 { font-size:20px; }
  .offer>p { font-size:14px; }
  .offer .service-tags { margin-top:18px; }
  .detail-note { margin-top:30px; padding:19px; font-size:13px; }
  .detail-preparation { padding-top:48px; padding-bottom:48px; }
  .detail-preparation h2 br { display:block; }
  .preparation-list dt { font-size:16px; }
  .preparation-list dd { font-size:14px; }
  .related h2 { font-size:25px; margin-bottom:28px; }
  .related-grid { grid-template-columns:1fr; gap:22px; }
  .related-grid>a { padding:22px 0; }
  .related-en { font-size:32px; }
  .detail-contact { padding-top:52px; padding-bottom:52px; }
  .detail-contact h2 { font-size:28px; }
  .detail-contact>div>p:last-child { font-size:14px; margin-top:19px; }
  .detail-contact>div>p:last-child br { display:none; }
  .detail-contact-actions>.button { font-size:13px; padding:16px 19px; }
}
@media(max-width:360px) {
  .detail-nav { justify-content:space-between; width:100%; }
  .detail-hero h1 { font-size:25px; }
  .detail-contact h2 { font-size:25px; }
  .related-en { font-size:29px; }
}
