/* Service LPs: retain the original editorial frame and existing typefaces. */
.campaign { --paper:#fbfaf7; --ink:#0a1130; --blue:#0040ff; --gold:#626c80; --line:#d9dde4; }
.campaign :is(a,summary,button,input,textarea,select):focus-visible { outline:2px solid #0040ff; outline-offset:5px; }
.campaign .brand-header { position:relative; z-index:20; height:84px; }
.campaign .side-script { max-width:calc(100% - 44px); white-space:normal; overflow-wrap:normal; word-break:normal; font-size:clamp(21px,2vw,28px); line-height:1.35; text-wrap:balance; }
.campaign-switcher { position:relative; font:500 12px/1.6 var(--sans); letter-spacing:.04em; border:0; }
.campaign-switcher summary { cursor:pointer; display:flex; align-items:center; gap:20px; min-height:44px; list-style:none; padding:0; border:0; }
.campaign-switcher summary::-webkit-details-marker { display:none; }
.campaign-switcher summary span { font-size:18px; color:var(--blue); }
.campaign-switcher[open] summary span { transform:rotate(45deg); }
.campaign-switcher nav { position:absolute; right:0; top:100%; width:min(300px,calc(100vw - 40px)); background:#fff; border:1px solid var(--line); box-shadow:0 15px 40px #0a113012; padding:12px 20px; }
.campaign-switcher nav a { display:flex; justify-content:space-between; gap:10px; min-height:46px; font:500 13px/1.6 var(--sans); border-bottom:1px solid #e7e9ed; }
.campaign-switcher nav a:last-child { border:0; }
.campaign-switcher nav a[aria-current] { color:var(--blue); }
.campaign .hero .eyebrow { font:500 11px/1.8 var(--sans); letter-spacing:.18em; color:#3f4d66; }
.campaign .hero h1 { font-size:clamp(27px,2.7vw,35px); line-height:1.75; letter-spacing:.065em; margin:17px 0 14px; font-weight:500; }
.campaign .hero-copy { top:5%; }
.campaign .hero-ornament { margin-bottom:12px; height:12px; font-size:11px; }
.campaign .hero-ornament::before,.campaign .hero-ornament::after { background:#7b8ca7; width:30px; }
.campaign .hero-signature>span { font-size:30px; }
.campaign .hero-media.gallery-images { aspect-ratio:1.05; }
.campaign .hero-gallery .gallery-slide { top:130px; height:calc(100% - 130px); -webkit-mask-image:linear-gradient(transparent,#000 80px); mask-image:linear-gradient(transparent,#000 80px); }
.campaign .hero-media { background:#fcfbf9; }
.campaign .hero-shade { background:linear-gradient(180deg,#fff 0%,#ffffffe8 24%,#ffffff80 39%,#ffffff00 57%,#ffffff00 80%,#fffffff0); }
.campaign .first-invitation { padding-block:34px 40px; }
.campaign .cta { font-size:17px; max-width:480px; margin-inline:auto; }
.campaign .cta small { font-size:10px; }
.campaign .micro { font-size:11px; color:#626c80; }
.campaign .display { font-size:clamp(32px,5vw,46px); line-height:1.18; }
.campaign .section-head h2,.campaign .simple-head h2,.campaign .concept>h2 { font-size:clamp(21px,3vw,27px); letter-spacing:.035em; line-height:1.85; }
.campaign .section-copy p { font-size:15px; line-height:2.2; }
.campaign .section-pad { padding-block:72px; }
.campaign-overview { background:var(--paper); border-top:1px solid var(--line); }
.campaign-overview>h2 { margin:20px 0 24px; font-size:26px; line-height:1.9; letter-spacing:.025em; }
.campaign-lead { font:400 14px/2.2 var(--sans); color:#465167; }
.campaign-scope { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:36px 0 0; text-align:left; }
.campaign-scope>div { border-top:1px solid #aeb9cc; padding-top:18px; }
.campaign-scope dt { font:500 17px/1.65 var(--serif); }
.campaign-scope dt span { display:block; font:500 10px/1 var(--sans); color:var(--blue); letter-spacing:.14em; margin-bottom:14px; }
.campaign-scope dd { margin:12px 0 0; font:400 12px/1.95 var(--sans); color:#59647a; }
.campaign .concept { padding-top:80px; }
.campaign-concerns { list-style:none; padding:0; margin:30px 0 38px; text-align:left; }
.campaign-concerns li { position:relative; padding:16px 4px 16px 24px; border-bottom:1px solid #e4e7ed; font:400 14px/1.95 var(--sans); }
.campaign-concerns li::before { content:''; position:absolute; left:0; top:26px; width:7px; height:7px; border:1px solid #7591ce; }
.campaign .campaign-concept { margin:0 calc(-.3 * var(--gutter)) 0; }
.campaign .campaign-concept img { aspect-ratio:3/2; }
.campaign .gallery-caption { font-size:17px; margin:18px 0 48px; }
.campaign .reason-intro { background:#f5f7fa; border-block:1px solid #e1e5ec; padding:45px 24px 36px; }
.campaign .reason-intro::before,.campaign .reason-intro::after { display:none; }
.campaign .reason-intro h2 { font-size:19px; }
.campaign .reason-intro strong { font-size:35px; }
.campaign .reason-nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 28px; margin-top:12px; }
.campaign .reason-nav .reason-card { position:relative; display:grid; grid-template-columns:30px 1fr 14px; grid-template-rows:auto auto; gap:7px 12px; background:transparent; border:0; border-bottom:1px solid var(--line); padding:24px 0; text-align:left; box-shadow:none; transform:none; border-radius:0; }
.campaign .reason-card .reason-index { position:static; grid-row:1/3; color:var(--blue); background:transparent; font:italic 26px/1.3 var(--en); padding:0; width:auto; }
.campaign .reason-card small { grid-column:2; font:500 9px/1.5 var(--sans); letter-spacing:.09em; color:#69758b; margin:0; }
.campaign .reason-card b { grid-column:2; font:500 14px/1.8 var(--serif); padding:0; white-space:normal; }
.campaign .reason-card i { grid-column:3; grid-row:1/3; align-self:center; margin:0; font:16px var(--sans); color:var(--blue); transition:transform .2s; }
.campaign .reason-card:hover i { transform:translateY(4px); }
.campaign .scene-window { min-height:500px; }
.campaign .scene-message { border-radius:0; background:#fffffff0; color:var(--ink); padding:38px 26px; border:1px solid #ffffffcc; box-shadow:0 20px 60px #0a113018; }
.campaign .scene-script { color:#34425b; font-size:38px; }
.campaign .scene-japanese { font-size:22px; line-height:2; }
.campaign .ceremony { background:#fff; border-bottom:1px solid #e7e9ed; }
.campaign .ceremony:nth-of-type(even) { background:#fbfaf7; }
.campaign .photo-wide { margin-block:30px; }
.campaign .photo-wide img { width:100%; aspect-ratio:3/2; }
.campaign-diagram { background:#f8f9fc; border:1px solid #dbe1ec; margin:32px 0; padding:0 28px 26px; text-align:left; transform-style:preserve-3d; }
.diagram-bar { display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #dbe1ec; padding:17px 0; font:500 9px/1.5 var(--sans); letter-spacing:.16em; color:#50617e; }
.diagram-bar i { width:6px; height:6px; border-radius:50%; background:var(--blue); box-shadow:10px 0 0 #c8d4ee,20px 0 0 #e0e6f1; margin-right:20px; }
.campaign-diagram figcaption { position:static; margin:26px 0; font:500 21px/1.8 var(--serif); color:var(--ink); }
.campaign-diagram ol { padding:0; margin:0; list-style:none; }
.campaign-diagram li { position:relative; }
.campaign-diagram .diagram-index { color:var(--blue); font:500 10px/1 var(--sans); letter-spacing:.12em; }
.campaign-diagram h3 { font:500 16px/1.8 var(--serif); margin:8px 0; }
.campaign-diagram li p { font:400 12px/1.9 var(--sans); color:#59647b; margin:0; }
.campaign-diagram--flow ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; }
.campaign-diagram--flow li { padding:18px 0; border-top:2px solid #cdd7e9; }
.campaign-diagram--flow li:last-child { border-color:var(--blue); }
.campaign-diagram--flow li:not(:last-child)::after { content:'→'; position:absolute; right:-20px; top:57px; color:#798daa; }
.campaign-diagram--audit li { display:grid; grid-template-columns:26px 135px 1fr; gap:16px; padding:20px 0; border-top:1px solid #dbe1ec; align-items:baseline; }
.campaign-diagram--audit h3 { margin:0; }
.diagram-foot { font:400 11px/1.9 var(--sans); color:#5d6880; border-top:1px solid #dbe1ec; padding-top:17px; margin:24px 0 0; }
.campaign .ceremony-ribbons { gap:0; counter-reset:scope; text-align:left; }
.campaign .ceremony-ribbons li { counter-increment:scope; display:flex; align-items:baseline; gap:18px; border-radius:0; border-bottom:1px solid #dfe4ec; background:transparent; color:var(--ink); padding:18px 0; font:400 14px/1.9 var(--sans); }
.campaign .ceremony-ribbons li::before { content:counter(scope,decimal-leading-zero); flex:0 0 23px; color:#7185a6; font:500 10px/1.4 var(--sans); }
.campaign .ceremony-ribbons li::after { display:none; }
.campaign-terms { padding:28px; margin:36px 0; background:var(--paper); text-align:left; }
.campaign-terms h3 { margin:14px 0 20px; font-size:20px; }
.campaign-terms ol { padding-left:1.25em; font:500 13px/2.2 var(--sans); }
.campaign-terms>p:last-child { font:400 12px/2 var(--sans); color:#58647a; margin-top:18px; }
.campaign .hospitality { background:#f8f9fb; }
.campaign .hospitality-grid { gap:0; grid-template-columns:1fr; text-align:left; border:0; }
.campaign .hospitality-grid>div { padding:24px 0; border:0; border-bottom:1px solid #dfe4ec; }
.campaign .hospitality-grid>div>span { font:500 10px/1.5 var(--sans); color:#687b9e; }
.campaign .hospitality-grid p { font:400 14px/2 var(--sans); margin:12px 0 0; }
.campaign .hospitality-grid strong { font-weight:500; }
.campaign .hospitality .section-copy { border-top:0; padding-top:24px; }
.campaign .course-label { font:500 10px/1.6 var(--sans); letter-spacing:.12em; color:#657797; }
.campaign .lpf-cards .cx-card { border-radius:2px; }
.campaign .lpf-cards .cx-card-visual { aspect-ratio:1.2; }
.campaign .faq-list summary { font-size:14px; min-height:64px; }
.campaign .faq-list .answer { font:400 14px/2 var(--sans); }
.campaign-team { padding:72px var(--gutter); background:#f2f5fa; text-align:center; }
.campaign-team h2 { font-size:28px; line-height:1.9; letter-spacing:.04em; margin:18px 0 34px; }
.campaign-team-members { display:flex; justify-content:center; gap:48px; margin:32px 0; }
.campaign-team-members a { display:flex; align-items:center; gap:18px; color:var(--ink); text-decoration:none; font:500 18px/1.8 var(--serif); text-align:left; }
.campaign-team-members img { border-radius:50%; width:96px; height:96px; flex-shrink:0; object-fit:cover; }
.campaign-team-members small { display:block; font:400 12px/1.8 var(--sans); color:#58667e; margin-bottom:6px; }
.campaign-team>p:last-child { font:400 13px/2 var(--sans); color:#56647b; }
.campaign .reservation .lpf-form { background:#fff; color:var(--ink); }
.campaign .reservation .section-pad::before { display:none; }
.campaign .reservation .eyebrow { color:#586b8b; }
.campaign .lpf-form h2 { margin:18px 0 25px; }
.campaign .lpf-form-sub { text-align:left; font:400 14px/2.1 var(--sans); }
.campaign .cf-form { text-align:left; }
.campaign-services { padding:0 0 38px; margin-bottom:36px; border-bottom:1px solid var(--line); text-align:left; }
.campaign-services>div { display:grid; grid-template-columns:1fr 1fr; column-gap:26px; margin-top:16px; }
.campaign-services a { display:flex; justify-content:space-between; align-items:center; min-height:50px; border-bottom:1px solid #dfe4ec; font:400 12px/1.8 var(--sans); color:var(--ink); text-decoration:none; gap:8px; }
.campaign-services a[aria-current] { color:var(--blue); }
.campaign-services a span { color:var(--blue); }
.campaign .footer .campaign-image-note { font:400 10px/1.8 var(--sans); color:#68758b; margin-top:24px; }
.campaign [data-depth] { transition:transform .5s ease-out; }
@media(max-width:780px) {
 .campaign .brand-header { height:68px; padding-inline:22px; }
 .campaign .hero h1 { font-size:clamp(24px,5.8vw,36px); letter-spacing:.025em; }
 .campaign .hero .eyebrow { font-size:10px; }
 .campaign .section-pad { padding-block:56px; }
 .campaign .campaign-overview>h2 { font-size:23px; }
 .campaign .hero-signature>span { font-size:27px; }
 .campaign .hero-copy { top:5%; }
 .campaign .reason-nav { gap:0 20px; }
 .campaign .cta { font-size:15px; }
 .campaign .scene-window { min-height:430px; }
 .campaign .scene-script { font-size:30px; }
 .campaign .scene-japanese { font-size:19px; }
}
@media(max-width:600px) {
 .campaign-team-members { gap:36px; }
 .campaign-team-members a { flex-direction:column; gap:12px; text-align:center; font-size:17px; }
 .campaign-team-members img { width:88px; height:88px; }
}
@media(max-width:480px) {
 .campaign .hero-media.gallery-images { aspect-ratio:.72; }
 .campaign .hero-gallery .gallery-slide { top:110px; height:calc(100% - 110px); }
 .campaign .hero h1 { font-size:clamp(21px,5.7vw,27px); margin:15px 0; line-height:1.85; }
 .campaign .hero-sub { font-size:11px; line-height:1.9; letter-spacing:.035em; }
 .campaign .hero-ornament { margin-bottom:9px; }
 .campaign .hero-signature { bottom:22px; }
 .campaign .hero-signature>span { font-size:24px; }
 .campaign .hero-signature>p { font-size:10px; letter-spacing:0; }
 .campaign .first-invitation { padding:28px 20px 32px; }
 .campaign .invitation-label { font-size:11px; }
 .campaign .invitation-benefit { font-size:12px; }
 .campaign .cta { width:100%; font-size:14px; padding-inline:18px; }
 .campaign .section-head h2,.campaign .simple-head h2,.campaign .concept>h2 { font-size:21px; }
 .campaign-scope { grid-template-columns:1fr; gap:0; margin-top:24px; }
 .campaign-scope>div { display:grid; grid-template-columns:100px 1fr; gap:16px; padding:18px 0; }
 .campaign-scope dt { font-size:15px; }
 .campaign-scope dt span { display:inline-block; margin:0 10px 0 0; }
 .campaign-scope dd { margin:0; font-size:12px; }
 .campaign-lead,.campaign-concerns li,.campaign .section-copy p { font-size:14px; line-height:2.1; }
 .campaign .reason-card b { font-size:13px; }
 .campaign .reason-nav .reason-card { grid-template-columns:22px 1fr; column-gap:8px; padding-block:20px; }
 .campaign .reason-card i { display:none; }
 .campaign-diagram { padding:0 20px 20px; margin-inline:0; }
 .campaign-diagram figcaption { font-size:19px; margin-block:22px; }
 .campaign-diagram--flow ol { grid-template-columns:1fr; gap:0; }
 .campaign-diagram--flow li { display:grid; grid-template-columns:26px 1fr; gap:0 8px; padding-block:18px; border-width:1px; align-items:baseline; }
 .campaign-diagram--flow h3 { margin:0 0 5px; }
 .campaign-diagram--flow li p { grid-column:2; }
 .campaign-diagram--flow li:not(:last-child)::after { display:none; }
 .campaign-diagram--audit li { grid-template-columns:22px 1fr; gap:5px 8px; }
 .campaign-diagram--audit li p { grid-column:2; }
 .diagram-foot { margin-top:18px; }
 .campaign-terms { padding:22px; }
 .campaign-team { padding:50px 22px; }
 .campaign-team h2 { font-size:24px; }
 .campaign .lpf-cards .cx-card-text { padding:14px 12px; }
 .campaign .lpf-cards .cx-card-title { font-size:13px; line-height:1.8; }
 .campaign .lpf-cards .cx-card-visual { flex-basis:32%; }
 .campaign .lpf-cards .cx-card-category { font-size:10px; }
 .campaign-services>div { grid-template-columns:1fr; }
 .campaign-services a { font-size:13px; }
}
@media(prefers-reduced-motion:reduce) {
 .campaign [data-depth] { transform:none!important; transition:none; }
 .campaign .reason-card:hover i { transform:none; }
}
@media(max-width:350px) {
 .campaign .hero h1 { font-size:19px; letter-spacing:0; }
 .campaign .hero-copy { left:12px; right:12px; }
 .campaign .hero-sub { font-size:10.5px; }
 .campaign .hero-signature>span { font-size:21px; }
 .campaign .hero-gallery .gallery-slide { top:130px; height:calc(100% - 130px); }
}

/* Editorial rhythm: retain the approved palette, typography and photographs. */
.campaign { --chapter-ease:cubic-bezier(.2,.7,.2,1); }
.campaign-icon { display:block; flex:none; color:#34435e; }
.campaign-icon .icon-accent { fill:var(--blue); stroke:var(--blue); }
.campaign-overview { position:relative; text-align:left; }
.campaign-overview::before { content:''; position:absolute; left:var(--gutter); top:0; width:56px; height:2px; background:var(--blue); }
.campaign-overview>h2 { max-width:23em; text-wrap:balance; }
.campaign-scope dt { position:relative; padding-top:56px; }
.campaign-scope dt>.campaign-icon { position:absolute; top:0; left:0; width:34px; height:34px; }
.campaign-scope dt>span { position:absolute; right:0; top:10px; }
.campaign-area { margin:28px 0 0; padding-top:18px; border-top:1px solid var(--line); font:400 11px/1.8 var(--sans); color:#5c6980; }
.campaign-story { position:relative; }
.campaign-chapters { position:sticky; top:0; z-index:15; background:#fbfaf7f5; border-block:1px solid var(--line); padding:0 24px; display:flex; gap:20px; align-items:center; backdrop-filter:blur(12px); }
.chapters-caption { font:500 9px/1.5 var(--sans); letter-spacing:.12em; flex-shrink:0; color:#56647d; }
.campaign-chapters ol { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:0; margin:0; list-style:none; flex:1; }
.campaign-chapters a { display:flex; position:relative; min-height:64px; align-items:center; gap:8px; padding:9px 10px; text-decoration:none; color:#58667f; font:500 10px/1.65 var(--sans); }
.campaign-chapters a::after { content:''; position:absolute; bottom:-1px; left:10px; right:10px; height:2px; background:var(--blue); transform:scaleX(0); transform-origin:left; transition:transform .3s; }
.campaign-chapters a[aria-current="step"] { color:var(--blue); }
.campaign-chapters a[aria-current="step"]::after { transform:scaleX(1); }
.campaign-chapters a>span:first-child { font:italic 22px/1 var(--en); white-space:nowrap; flex-shrink:0; }
.campaign-chapters .chapter-label { min-width:0; }
.campaign .campaign-chapter { position:relative; scroll-margin-top:84px; padding-top:66px; }
.campaign-chapter .section-head { text-align:left; max-width:580px; margin-inline:0; }
.campaign-chapter .section-head .display { font-size:clamp(28px,4vw,39px); color:#748096; margin:12px 0; }
.campaign-chapter .section-head h2 { margin-top:12px; }
.campaign-chapter .section-head .eyebrow { display:flex; align-items:center; justify-content:flex-start; gap:14px; }
.campaign-chapter .section-head .eyebrow::before { display:none; }
.campaign-chapter .section-head .eyebrow::after { content:''; width:54px; height:1px; background:#abb6ca; }
.campaign-chapter .section-copy { text-align:left; margin:28px 0 0; max-width:none; }
.campaign-chapter .section-copy p { margin:0; }
.campaign .chapter-photo { position:relative; margin:30px calc(-1 * var(--gutter)) 0 0; padding-left:24px; }
.campaign .campaign-chapter:nth-of-type(even) .chapter-photo { margin:30px 0 0 calc(-1 * var(--gutter)); padding-left:0; padding-right:24px; }
.photo-viewport { overflow:hidden; background:var(--paper); perspective:1200px; }
.campaign .chapter-photo img { display:block; aspect-ratio:3/2; object-fit:cover; transform:translate3d(0,var(--photo-y,0px),var(--photo-z,0px)) scale(1.04); }
.campaign .chapter-photo>figcaption { position:static; display:flex; justify-content:space-between; gap:12px; padding:14px 24px 0 0; color:#63718a; background:transparent; font:italic 15px/1.6 var(--en); }
.campaign .campaign-chapter:nth-of-type(even) .chapter-photo>figcaption { padding:14px 0 0 var(--gutter); }
.campaign .chapter-photo>figcaption>span { font:500 9px/1.8 var(--sans); letter-spacing:.12em; }
.diagram-reveal { perspective:1200px; }
.campaign-diagram { position:relative; margin-block:30px 0; padding:0 28px 26px; background:linear-gradient(125deg,#fff,#f4f6fa); border:1px solid #d9e0ec; box-shadow:8px 8px 0 #e8edf44d; }
.diagram-bar { padding-block:18px; }
.diagram-bar>.campaign-icon { width:24px; height:24px; }
.campaign-diagram figcaption { font-size:21px; max-width:22em; margin-block:26px 30px; }
.campaign-diagram .diagram-symbol { display:flex; gap:12px; align-items:center; }
.diagram-symbol>.campaign-icon { width:32px; height:32px; }
.campaign-diagram h3 { font-size:16px; }
.campaign-diagram--audit li { grid-template-columns:76px minmax(0,1fr); align-items:center; gap:20px; padding:24px 0; }
.campaign-diagram--audit li p { margin-top:5px; }
.campaign-diagram--flow ol { gap:24px; }
.campaign-diagram--flow li { padding:22px 0 0; border:0; }
.campaign-diagram--flow .diagram-symbol { justify-content:space-between; border-bottom:1px solid #c8d3e6; padding-bottom:20px; margin-bottom:16px; position:relative; }
.campaign-diagram--flow .diagram-symbol::after { content:''; position:absolute; bottom:-1px; left:0; width:100%; height:1px; background:var(--blue); transform-origin:left; transform:scaleX(1); transition:transform .65s var(--chapter-ease); }
.campaign-diagram--flow li:nth-child(2) .diagram-symbol::after { transition-delay:90ms; }
.campaign-diagram--flow li:nth-child(3) .diagram-symbol::after { transition-delay:180ms; }
.diagram-reveal.is-pending .diagram-symbol::after { transform:scaleX(0); }
.campaign-diagram--flow li:not(:last-child)::after { top:28px; right:-18px; font:14px/1 var(--sans); }
.diagram-foot { margin-top:28px; }
.campaign-terms { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:30px; padding:0; background:#f6f7f9; border-block:1px solid #e1e5ec; margin-block:40px; align-items:center; }
.terms-art { margin:0; height:100%; overflow:hidden; }
.terms-art img { width:100%; height:100%; object-fit:cover; object-position:50% 50%; }
.campaign-terms>div { padding:32px 24px 32px 0; }
.campaign-terms h3 { font:500 21px/1.9 var(--serif); margin-block:12px 20px; }
.campaign-terms ol { padding:0; margin:0; list-style:none; counter-reset:consultation; }
.campaign-terms li { counter-increment:consultation; display:flex; gap:12px; padding:10px 0; border-top:1px solid #dce2eb; font-size:12px; }
.campaign-terms li::before { content:counter(consultation,decimal-leading-zero); color:var(--blue); font:500 10px/2.6 var(--sans); }
.campaign-terms>div>p:last-child { font:400 12px/2 var(--sans); color:#56647c; margin-top:18px; }
.campaign-services a>.campaign-icon { width:22px; height:22px; margin-right:6px; }
.campaign-services a { justify-content:flex-start; }
.campaign-services a>span { margin-left:auto; }
.campaign-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:6px 12px; font:400 10px/1.8 var(--sans); text-align:left; padding-bottom:32px; color:#536179; }
.campaign-breadcrumb a { display:flex; align-items:center; min-height:44px; }
.campaign .side-left nav a[aria-current="location"] { color:var(--blue); }
.campaign .side-left nav a[aria-current="location"]::before { background:var(--blue); }
.campaign .motion-item { transition-timing-function:var(--chapter-ease); }
.campaign .motion-item[data-motion="depth"].is-pending { transform:perspective(1200px) translate3d(0,24px,-90px) rotateX(5deg); }
@media(min-width:601px) {
 .campaign #what .ceremony-ribbons { display:grid; grid-template-columns:1fr 1fr; gap:0 28px; }
 .campaign #what .ceremony-ribbons li { align-items:flex-start; font-size:13px; }
 .campaign #what .ceremony-ribbons li::before { padding-top:6px; }
 .campaign .campaign-team { position:relative; }
 .campaign .campaign-team::before { content:''; display:block; width:48px; height:1px; background:#9caeca; margin:0 auto 32px; }
}
@media(max-width:600px) {
 .campaign-chapters { gap:12px; padding-inline:20px; }
 .campaign-chapters a { min-height:52px; justify-content:center; padding:8px; }
 .campaign-chapters .chapter-label { display:none; }
 .campaign-chapters a>span:first-child { font-size:22px; }
 .campaign .campaign-chapter { padding-top:46px; scroll-margin-top:68px; }
 .campaign-chapter .section-head .display { font-size:30px; }
 .campaign .chapter-photo { padding-left:0; }
 .campaign .campaign-chapter:nth-of-type(even) .chapter-photo { padding-right:0; }
 .campaign .chapter-photo>figcaption { padding-right:var(--gutter); }
 .campaign .chapter-photo img { aspect-ratio:1.2; }
 .campaign-terms { grid-template-columns:1fr; gap:0; }
 .terms-art { height:auto; aspect-ratio:2; }
 .terms-art img { object-fit:cover; }
 .campaign-terms>div { padding:24px; }
 .campaign-terms h3 br { display:none; }
 .campaign-scope { grid-template-columns:1fr; gap:0; }
 .campaign-scope>div { display:grid; grid-template-columns:140px minmax(0,1fr); gap:14px; padding:20px 0; }
 .campaign-scope dt { padding:0 0 0 43px; font-size:15px; display:flex; align-items:center; }
 .campaign-scope dt>.campaign-icon { width:28px; height:28px; top:50%; transform:translateY(-50%); }
 .campaign-scope dt>span { display:none; }
 .campaign-scope dd { margin:0; font-size:12px; }
}
@media(max-width:480px) {
 .campaign-scope>div { grid-template-columns:126px minmax(0,1fr); gap:12px; }
 .campaign-scope dt { font-size:14px; padding-left:39px; }
 .campaign-diagram { padding-inline:20px; }
 .campaign-diagram figcaption { font-size:19px; }
 .campaign-diagram--audit li,.campaign-diagram--flow li { display:grid; grid-template-columns:32px minmax(0,1fr); gap:18px; align-items:start; padding-block:20px; border-top:1px solid #dbe1ec; }
 .campaign-diagram--flow .diagram-symbol { border:0; margin:0; padding:0; }
 .campaign-diagram .diagram-symbol { flex-direction:column; gap:10px; }
 .campaign-diagram .diagram-index { font-size:9px; }
 .campaign-diagram h3 { margin:0 0 7px; }
 .campaign-diagram .diagram-symbol::after { display:none; }
 .diagram-foot { margin-top:10px; }
}
@media(prefers-reduced-motion:reduce) {
 .campaign .chapter-photo img { transform:none!important; }
 .campaign .motion-item[data-motion="depth"] { opacity:1!important; transform:none!important; }
 .campaign .diagram-symbol::after { transition:none; }
}
