/* One typographic system from the home page through the service detail. */
.inner-page :is(h1,h2,h3,h4,h5,h6),.inner-page .prose{font-family:var(--font),Arial,sans-serif}
.inner-page :is(h1,h2,h3){font-weight:600;letter-spacing:-.045em}
.inner-page .prose :is(p,li,span){font-family:inherit}
.inner-page .inner-hero h1,.article h1{font-weight:600}
.editorial-hero{background:var(--dark);color:#fff;position:relative;isolation:isolate;overflow:hidden;min-height:560px;display:flex;align-items:center}
.editorial-hero .container{position:relative;width:100%;padding-top:38px;padding-bottom:65px}
.editorial-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% center;z-index:-2}
.editorial-hero.has-image:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0a1729f5 0%,#0a1729de 32%,#0a172975 65%,#0a172933 100%)}
.breadcrumbs{display:flex;gap:14px;align-items:center;font-size:11px;color:#c2ccd8;margin-bottom:60px;letter-spacing:.02em}
.breadcrumbs a:hover{color:white;text-decoration:underline}
.editorial-hero .eyebrow{color:#f1a7ba;display:flex;gap:15px;align-items:center;margin-bottom:22px;font-size:11px}
.editorial-hero .eyebrow:before{content:'';width:30px;height:2px;background:var(--accent)}
.editorial-hero h1{font-size:clamp(43px,5.6vw,80px);line-height:1.08;max-width:870px;text-wrap:balance}
.editorial-hero p{max-width:620px;color:#e0e5ed;font-size:17px;line-height:1.85;margin-top:27px}
.editorial-hero .hero-secondary{display:inline-flex;gap:25px;align-items:center;margin-top:33px;font-size:12px}
.editorial-hero .hero-secondary svg{width:19px;transform:rotate(90deg)}
.editorial-index{border-bottom:1px solid var(--line);background:#fff}
.editorial-index .container{display:flex;gap:32px;align-items:center;overflow-x:auto;padding-block:22px}
.editorial-index span{font-size:10px;font-weight:800;color:var(--accent);letter-spacing:.12em;white-space:nowrap}
.editorial-index a{font-size:12px;font-weight:600;white-space:nowrap;padding-block:5px}
.editorial-index a:hover{color:var(--accent)}
.editorial-section{scroll-margin-top:100px;border-bottom:1px solid var(--line)}
.editorial-section:nth-child(even){background:#f4f5f6}
.editorial-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,7vw,105px);align-items:center}
.editorial-layout.without-image{display:block}
.editorial-layout.without-image>.editorial-copy{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(30px,7vw,105px);align-items:start}
.editorial-layout.without-image .editorial-heading:only-child{grid-column:1/-1;max-width:850px}
.editorial-heading h2{font-size:clamp(32px,3.6vw,52px);line-height:1.15;text-wrap:balance;margin-bottom:30px}
.editorial-heading .eyebrow{font-size:10px;letter-spacing:.17em;margin-bottom:20px}
.editorial-copy .prose{font-size:16px;line-height:1.85}
.editorial-copy .prose p:last-child{margin-bottom:0}
.editorial-copy .prose h3{font-size:24px}
.editorial-copy .prose li::marker{color:var(--accent)}
.editorial-photo{margin:0;position:relative;padding-bottom:20px;padding-right:20px;isolation:isolate}
.editorial-photo:after{content:'';position:absolute;inset:40px 0 0 40px;background:var(--accent);z-index:-1}
.editorial-photo img{width:100%;height:480px;object-fit:cover}
.editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:45px}
.editorial-card{background:#fff;border-top:2px solid var(--accent);padding:32px;box-shadow:0 6px 26px #0c192706}
.editorial-number{font-size:13px;color:var(--accent);display:block;margin-bottom:30px;font-weight:700;letter-spacing:.08em}
.editorial-card h3{font-size:24px;line-height:1.25;margin-bottom:19px}
.editorial-card p{font-size:14px;color:var(--muted);line-height:1.85}
.editorial-card>img{width:calc(100% + 64px);max-width:none;height:190px;object-fit:cover;margin:-32px -32px 28px}
.editorial-feature,.editorial-section.editorial-feature:nth-child(even){background:var(--dark);color:white}
.editorial-feature .eyebrow{color:#f1a7ba}
.editorial-feature .prose p,.editorial-feature .prose li{color:#ccd5e0}
.editorial-feature .prose a{color:#fff;text-decoration-color:#db8da5}
.editorial-feature .editorial-card{background:#ffffff08;border-color:#b94869;box-shadow:none}
.editorial-feature .editorial-card p{color:#ccd5e0}
.editorial-feature .editorial-number{color:#efa4bb}
.editorial-feature .without-image{max-width:none}
.editorial-gallery{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.editorial-gallery figure{margin:0;background:white;border:1px solid var(--line);padding:25px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:185px}
.editorial-gallery img{height:85px;max-width:100%;object-fit:contain}
.editorial-gallery figcaption{font-size:10px;text-align:center;color:var(--muted);margin-top:15px}
@media(max-width:1000px){.editorial-hero{min-height:520px}.editorial-hero h1{max-width:750px}.editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editorial-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}.editorial-photo img{height:420px}.editorial-layout{gap:35px}}
@media(max-width:700px){.editorial-hero{min-height:540px}.editorial-hero .container{padding-top:28px;padding-bottom:48px}.breadcrumbs{margin-bottom:45px;font-size:10px}.editorial-hero h1{font-size:clamp(38px,9vw,58px);overflow-wrap:break-word}.editorial-hero p{font-size:15px;max-width:500px}.editorial-hero.has-image:after{background:linear-gradient(90deg,#0a1729ee,#0a1729b5)}.editorial-cover{object-position:70% center}.editorial-index .container{gap:22px;padding-block:16px}.editorial-index span{display:none}.editorial-layout{grid-template-columns:1fr;gap:36px}.editorial-heading h2{font-size:34px}.editorial-photo img{height:330px}.editorial-copy .prose{font-size:15px}.editorial-card{padding:25px}.editorial-card>img{width:calc(100% + 50px);margin:-25px -25px 25px}.editorial-card h3{font-size:23px}.editorial-grid{grid-template-columns:1fr;gap:18px;margin-top:30px}.editorial-number{margin-bottom:20px}.editorial-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.editorial-gallery figure{padding:20px;min-height:155px}.editorial-gallery img{height:70px}}
@media(max-width:700px){.editorial-layout.without-image>.editorial-copy{display:block}.editorial-copy .editorial-heading h2{margin-bottom:24px}}
@media(min-width:701px){.editorial-grid:has(>.editorial-card:last-child:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Photographic rhythm and a persistent, accessible table of contents. */
.editorial-hero{min-height:610px}
.editorial-hero .container{padding-bottom:78px}
.editorial-hero:before{content:'';position:absolute;bottom:0;left:var(--gutter);width:90px;height:4px;background:var(--accent);z-index:1}
.editorial-cover{transform-origin:65% center}
.editorial-index{position:sticky;top:80px;z-index:20;background:rgba(255,255,255,.97);box-shadow:0 8px 24px #14233505}
.editorial-index .container{gap:28px;padding-block:16px;scrollbar-width:thin;scrollbar-color:#b8c0c9 transparent}
.editorial-index a{position:relative;transition:color .2s}
.editorial-index a:after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.editorial-index a[aria-current="location"],.editorial-index a:hover{color:var(--accent)}
.editorial-index a[aria-current="location"]:after,.editorial-index a:hover:after{transform:scaleX(1)}
.editorial-section{scroll-margin-top:180px}
.editorial-heading h2{max-width:800px}
.editorial-photo{padding:0 20px 20px 0}
.editorial-photo:after{inset:45px 0 0 45px;transition:transform .5s cubic-bezier(.2,.65,.3,1)}
.editorial-photo img{height:510px;object-fit:cover;transition:transform .65s cubic-bezier(.2,.65,.3,1),box-shadow .65s}
.editorial-card{position:relative;overflow:hidden;border-top:0;border-bottom:2px solid transparent;box-shadow:0 10px 35px #101d3008;transition:box-shadow .35s,border-color .35s,translate .35s}
.editorial-card:has(>img){padding-top:0}
.editorial-card>img{height:230px;margin-top:0;transition:transform .65s cubic-bezier(.2,.65,.3,1)}
.editorial-number{width:max-content;padding-bottom:10px;border-bottom:2px solid var(--accent);margin-bottom:23px}
.editorial-feature .editorial-photo:after{background:#a4102f}
.editorial-gallery{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.editorial-gallery figure{padding:12px;min-height:155px;transition:box-shadow .3s,border-color .3s;overflow:hidden}
.editorial-gallery img{width:100%;height:130px;max-width:150px;object-fit:contain;transition:transform .3s;filter:none}
.editorial-gallery figcaption:empty{display:none}
.editorial-gallery figcaption{margin-top:12px;line-height:1.5}
.editorial-gallery-more{margin-top:30px}
.editorial-gallery-more>summary{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px;font-weight:700;list-style:none;cursor:pointer}
.editorial-gallery-more>summary::-webkit-details-marker{display:none}
.editorial-gallery-more>summary:after{content:'+';font-size:25px;font-weight:400;color:var(--accent);line-height:1}
.editorial-gallery-more[open]>summary:after{content:'−'}
.editorial-gallery-more .editorial-gallery{margin-top:25px}
.editorial-feature .editorial-gallery-more>summary{border-color:#ffffff30}
@media(min-width:1001px){
  .editorial-section:nth-child(even) .editorial-layout:not(.without-image) .editorial-copy{grid-column:2;grid-row:1}
  .editorial-section:nth-child(even) .editorial-layout:not(.without-image) .editorial-photo{grid-column:1;grid-row:1}
}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  .editorial-photo:hover img{transform:translate(-5px,-5px);box-shadow:15px 20px 35px #101d3014}
  .editorial-photo:hover:after{transform:translate(3px,3px)}
  .editorial-card:hover{translate:0 -5px;border-bottom-color:var(--accent);box-shadow:0 18px 40px #101d3012}
  .editorial-card:hover>img{transform:scale(1.025)}
  .editorial-gallery figure:hover{border-color:#b9a1a8;box-shadow:0 8px 22px #101d300b}
  .editorial-gallery figure:hover img{transform:scale(1.04)}
}
@media(max-width:1000px){
  .editorial-hero{min-height:560px}
  .editorial-photo img{height:430px}
  .editorial-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:700px){
  .editorial-hero{min-height:540px}
  .editorial-hero .container{padding-bottom:55px}
  .editorial-index .container{padding-block:13px;gap:22px}
  .editorial-section{scroll-margin-top:155px}
  .editorial-photo img{height:350px}
  .editorial-card>img{height:230px}
  .editorial-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .editorial-gallery figure{padding:12px;min-height:140px}
  .editorial-gallery img{height:110px}
}
@media print{
  .editorial-index{position:static}
  .editorial-gallery-more>summary{display:none}
  .editorial-gallery-more:not([open])>.editorial-gallery{display:grid!important}
}

/* Delegations: one clear contact card and an address-based map for each office. */
.editorial-locations-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:stretch}
.editorial-locations-grid .location-card{display:flex;flex-direction:column;padding:0;scroll-margin-top:180px;border:1px solid var(--line);border-bottom:3px solid var(--accent);box-shadow:0 12px 35px #101d3008;min-width:0}
.location-card .location-heading{display:flex;align-items:center;gap:20px;min-height:135px;background:var(--dark);color:white;padding:28px 30px}
.location-card .location-heading h3{font-size:32px;margin:0;line-height:1.15;color:white}
.location-card .location-heading p{margin:9px 0 0;color:#cbd5e0;font-size:12px;line-height:1.6}
.location-pin{display:flex;align-items:center;justify-content:center;width:49px;height:59px;flex-shrink:0;border:1px solid #ffffff30;color:#efb1c1}
.location-pin svg{width:26px;height:26px}
.location-map{position:relative;background:#edf0f2;border-bottom:1px solid var(--line)}
.location-map iframe{display:block;width:100%;height:310px;border:0}
.location-map iframe[hidden],.location-map button[hidden],.location-map-placeholder[hidden]{display:none}
.location-map-placeholder{position:relative;isolation:isolate;min-height:310px;padding:30px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;text-align:center;overflow:hidden;background:#edf1f4}
.location-map-placeholder:before{content:'';position:absolute;inset:0;z-index:-1;opacity:.65;background:linear-gradient(33deg,transparent 38%,#d5dfe6 38.2%,#d5dfe6 39%,transparent 39.2%),linear-gradient(-27deg,transparent 66%,#d5dfe6 66.2%,#d5dfe6 67.4%,transparent 67.6%),linear-gradient(85deg,transparent 68%,#d5dfe6 68.2%,#d5dfe6 69%,transparent 69.2%)}
.location-map-preview-pin{display:flex;align-items:center;justify-content:center;width:55px;height:55px;background:#fff;border:1px solid #dbe2e7;color:var(--accent);border-radius:50%;box-shadow:0 5px 20px #14233509}
.location-map-preview-pin svg{width:27px;height:27px}
.location-map-load{min-height:44px;padding:12px 22px;border:1px solid var(--dark);background:var(--dark);color:#fff;font-size:12px;font-weight:700;line-height:1.6;transition:background .2s,border-color .2s}
.location-map-load:hover{background:var(--accent);border-color:var(--accent)}
.location-card p.location-map-notice{max-width:285px;font-size:11px;line-height:1.7;color:#596877;margin:0}
.location-map-notice a{text-decoration:underline;text-underline-offset:3px}
.location-card p.location-map-noscript{max-width:290px;margin:0;font-size:13px;color:var(--ink)}
.location-details{display:flex;flex-direction:column;flex:1;padding:30px}
.location-details address{font-size:15px;font-style:normal;line-height:1.85;color:var(--ink);padding-bottom:25px;border-bottom:1px solid var(--line)}
.location-contact{margin:24px 0 0;display:grid;gap:17px}
.location-contact>div{display:grid;grid-template-columns:135px minmax(0,1fr);gap:15px;align-items:start}
.location-contact dt{font-size:10px;font-weight:800;line-height:1.8;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding-top:3px}
.location-contact dd{margin:0;font-size:14px;font-weight:600;line-height:1.8;overflow-wrap:anywhere}
.location-contact a{display:block;width:fit-content;max-width:100%;text-decoration:underline;text-decoration-color:#c7cdd5;text-underline-offset:4px;transition:color .2s,text-decoration-color .2s}
.location-contact a:hover{color:var(--accent);text-decoration-color:var(--accent)}
.location-details .location-directions{align-self:flex-start;margin-top:auto;padding-top:30px;font-size:12px;gap:35px;border-color:#c7cdd5}
.location-directions svg{color:var(--accent)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  .editorial-locations-grid .location-card:hover{translate:none;border-bottom-color:var(--accent)}
}
@media(max-width:1000px){
  .location-card .location-heading{padding:25px;gap:16px}
  .location-card .location-heading h3{font-size:29px}
  .location-details{padding:25px}
  .location-contact>div{grid-template-columns:1fr;gap:3px}
}
@media(max-width:700px){
  .editorial-locations-grid{grid-template-columns:1fr;gap:30px}
  .editorial-locations-grid .location-card{scroll-margin-top:155px}
  .location-card .location-heading{min-height:115px}
  .location-map iframe{height:300px}
  .location-map-placeholder{min-height:300px;padding:27px}
  .location-details address{font-size:14px}
}
@media print{
  .location-card{break-inside:avoid}
  .location-map{display:none}
}
