/* v14 final design system: layout consistency and responsive quality. */
:root{--sri-gold:#c9a83f;--sri-icon:#d5b53f}
h1,h2,h3,b,strong,a{overflow-wrap:normal;word-break:keep-all}
.section h2,.split-head h2,.campaign-ja,.top-strength h2,.top-about-band h2{text-wrap:balance}
.script-text,.recruit-script{font-family:'Klee One','YuKyokasho','Hiragino Mincho ProN',cursive;font-weight:600;letter-spacing:.055em;line-height:1.55;text-shadow:.02em .02em 0 currentColor;transform:rotate(-4deg)}
.campaign-side-note{right:clamp(24px,5vw,82px);top:clamp(64px,8vw,104px);font-size:clamp(18px,1.7vw,26px)!important;line-height:1.55!important}
.campaign-side-note:after{width:min(100%,150px);height:3px;margin-top:7px}

/* Lower-page hero treatment: a restrained shared line + wordmark. */
.page-hero--campaign .campaign-forward{display:flex;align-items:center;gap:16px;max-width:min(480px,46vw)}
.page-hero--campaign .campaign-forward i{flex:0 1 190px;width:auto!important;min-width:74px}
.page-hero--campaign .campaign-forward b{white-space:nowrap}

/* Icon/card alignment shared across service, quality, contact and recruit. */
.system-cards article,.precheck-grid>div,.recruit-points>div,.recruit-job-copy{min-width:0}
.system-cards article{display:grid;grid-template-rows:58px auto 1fr;align-items:start;justify-items:center;gap:10px;padding:28px 20px}
.system-cards svg{width:48px;height:48px;margin:0;align-self:center;fill:none;stroke:var(--sri-icon);stroke-width:2.2}
.system-cards b,.system-cards p{text-align:center;margin:0}
.delivery-system,.cleaning-quality{background-image:linear-gradient(90deg,rgba(3,5,6,.84),rgba(3,5,6,.62) 55%,rgba(3,5,6,.30)),var(--quality-photo)}
.delivery-system,.cleaning-quality{padding-block:clamp(74px,8vw,112px)}
.delivery-system h2,.cleaning-quality h2{margin-top:8px}
.cleaning-quality .quality-columns{max-width:760px;grid-template-columns:repeat(2,1fr)}
.cleaning-quality .quality-columns article{min-height:170px}

.flow-detail li{display:grid;grid-template-rows:48px 26px auto 1fr;justify-items:center;align-items:start;gap:7px;min-width:0;text-align:center}
.flow-detail svg{width:42px;height:42px;fill:none;stroke:var(--sri-icon);stroke-width:2;grid-row:1}
.flow-detail b{grid-row:2;margin:0}.flow-detail strong{grid-row:3;word-break:keep-all}.flow-detail span{grid-row:4}

.recruit-job-copy>svg,.recruit-points svg{color:var(--sri-icon);stroke:currentColor;stroke-width:2.35}
.recruit-job-copy{grid-template-columns:58px 1fr;align-items:start}
.recruit-job-copy>svg{width:52px;height:52px}
.recruit-points>div{grid-template-columns:58px 1fr;grid-template-rows:auto 1fr;align-content:start;align-items:start;min-height:150px;padding:26px 22px}
.recruit-points svg{width:50px;height:50px;grid-row:1/3}
.recruit-points b{align-self:end}.recruit-points span{align-self:start}
.recruit-support{background-image:linear-gradient(90deg,rgba(3,5,6,.83),rgba(3,5,6,.48)),var(--quality-photo)}
.recruit-support-script{font-size:clamp(20px,2vw,29px);line-height:1.55}

.precheck-grid>div{display:grid;grid-template-rows:58px auto 1fr;justify-items:center;align-content:center;padding:20px 16px;text-align:center}
.precheck-grid svg{align-self:center;stroke:var(--sri-icon);stroke-width:2.2}
.precheck-grid b{white-space:normal;text-wrap:balance}

/* TOP: stable hero arrow and matching 03/04 hierarchy. */
.forward-arrow{width:min(620px,calc(100vw - max(5vw,56px) - 44vw));min-width:250px}
.top-about-title .section-no,.top-strength-title .section-no{font:800 11px/1.2 Inter,sans-serif;letter-spacing:.12em}
.top-about-title h2,.top-strength-title h2{font-size:clamp(25px,2.2vw,34px);line-height:1.28;margin:8px 0 0}
.top-strength{padding-block:22px}.top-strength-title{align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.strength-item{min-width:0}.strength-item h3{word-break:keep-all}.strength-item p{overflow-wrap:normal}

/* Signature artwork remains untouched; only the duplicate role label is removed in markup. */
.sri-message .signature strong{aspect-ratio:218/72;background-size:contain;background-position:center;background-repeat:no-repeat}

/* Representative signature: keep the approved artwork untouched, while presenting
   the role label as live Mincho text and cropping only the duplicate label embedded
   above the handwritten mark in the artwork. */
.sri-message .signature span{
  display:block;
  font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
  font-weight:500;
  letter-spacing:.08em;
  line-height:1.65;
}
.sri-message .signature span::after{
  content:"代表取締役";
  display:block;
  font-size:.78em;
  letter-spacing:.16em;
  line-height:1.5;
}
.sri-message .signature strong{
  height:38px;
  aspect-ratio:auto;
  background-size:218px auto;
  background-position:center bottom;
  overflow:hidden;
}

/* Shared handwritten decoration system. Text and marker underline move as one unit. */
.script-text:not(.campaign-side-note)::after,
.recruit-script::after,
.recruit-support-script::after{
  content:"";
  display:block;
  width:min(100%,190px);
  height:5px;
  margin-top:8px;
  background:var(--yellow);
  clip-path:polygon(0 40%,14% 20%,31% 35%,48% 8%,66% 28%,82% 12%,100% 30%,100% 70%,82% 58%,65% 76%,48% 50%,31% 74%,14% 57%,0 72%);
  transform:rotate(-2deg);
  transform-origin:left center;
}
.campaign-side-note::after{
  content:"";
  display:block;
  width:min(100%,150px);
  height:5px;
  margin-top:8px;
  background:var(--yellow);
  clip-path:polygon(0 40%,16% 18%,32% 34%,48% 10%,66% 30%,84% 14%,100% 32%,100% 70%,84% 58%,66% 78%,48% 52%,32% 76%,16% 58%,0 72%);
  transform:rotate(-3deg);
}

/* Representative-message design elements restored as a responsive decoration group. */
.sri-message .message-body{position:relative;padding-right:285px}
.sri-message .message-body::before{
  content:"KEEP MOVING\A FOR A BETTER TOMORROW";
  white-space:pre;
  position:absolute;
  right:0;
  top:8px;
  width:245px;
  color:rgba(255,255,255,.58);
  font:600 11px/1.55 Inter,sans-serif;
  letter-spacing:.16em;
  transform:rotate(-90deg) translateX(-100%);
  transform-origin:top right;
}
.sri-message .message-body::after{
  content:"荷物を運ぶだけではなく、\Aその先にある思いまで運ぶ";
  white-space:pre;
  position:absolute;
  right:0;
  bottom:14px;
  width:245px;
  color:var(--yellow);
  font:600 clamp(16px,1.55vw,22px)/1.6 'Klee One','YuKyokasho','Hiragino Mincho ProN',cursive;
  letter-spacing:.05em;
  text-align:left;
  transform:rotate(-5deg);
  text-shadow:.02em .02em 0 currentColor;
  padding-bottom:13px;
  background:linear-gradient(transparent calc(100% - 6px),var(--yellow) calc(100% - 6px),var(--yellow) calc(100% - 2px),transparent calc(100% - 2px));
  clip-path:polygon(0 0,100% 3%,98% 100%,1% 96%);
}
@media(max-width:900px){
  .sri-message .message-body{padding-right:0}
  .sri-message .message-body::before,
  .sri-message .message-body::after{position:relative;right:auto;top:auto;bottom:auto;display:block;width:min(100%,300px);margin:24px auto 12px;transform:rotate(-3deg);text-align:center}
  .sri-message .message-body::before{order:2}
  .sri-message .message-body::after{order:3;margin-top:8px}
}
@media(max-width:700px){
  .sri-message .signature strong{height:32px;background-size:190px auto}
  .script-text:not(.campaign-side-note)::after,.recruit-script::after,.recruit-support-script::after{height:4px;margin-top:6px}
}

/* v18: approved handwriting SOURCE MASTER — image assets fully replace font/CSS imitations. */
.handwriting-img{display:block;height:auto;object-fit:contain;pointer-events:none;z-index:3}
.script-text:not(.campaign-side-note)::after,
.recruit-script::after,
.recruit-support-script::after,
.campaign-side-note::after,
.sri-message .message-body::after{content:none!important;display:none!important}
.handwriting-top{position:absolute;right:6%;top:7%;width:clamp(220px,24vw,349px)}
.campaign-side-note{position:absolute;right:clamp(22px,4vw,64px);top:72px;width:clamp(200px,23vw,357px);max-width:29vw;transform:none!important}
.image-cta .wrap{position:relative}
.image-cta-handwriting{width:clamp(210px,25vw,325px);margin:0 0 18px auto}
.recruit-support .wrap{position:relative}
.recruit-support-script{position:absolute;right:0;top:18px;width:clamp(210px,26vw,333px);max-width:32vw;transform:none!important}
.purpose-photo,.about-people-photo{position:relative}
.purpose-handwriting{position:absolute;right:5%;bottom:7%;width:min(58%,329px)}
.people-handwriting{position:absolute;right:5%;bottom:7%;width:min(64%,370px)}
.sri-message>.wrap{position:relative}
.sri-message .message-handwriting{position:absolute;right:2%;bottom:128px;width:min(34vw,439px)}
.sri-message .message-body::before{right:-18px}

/* Preserve the formal signature but crop the embedded role; the role is rendered as live Mincho text. */
.sri-message .signature span::after{content:"代表取締役"}
.sri-message .signature strong{height:30px;background-size:218px auto;background-position:center bottom}

/* Shared section-label system and clearer unavailable-item symbol. */
.section-no::before{display:inline-block!important;content:"";width:30px;height:3px;margin-right:12px;background:var(--yellow);vertical-align:middle}
.condition-grid article:nth-child(4){position:relative}
.condition-grid article:nth-child(4)::after{content:"";position:absolute;top:31px;left:50%;width:58px;height:3px;background:var(--yellow);transform:translateX(-50%) rotate(-38deg);transform-origin:center}

@media(max-width:900px){
  .handwriting-top{right:24px;top:24px;width:min(38vw,300px)}
  .campaign-side-note{right:24px;top:auto;bottom:36px;width:min(39vw,310px);max-width:none}
  .image-cta-handwriting{margin:0 0 16px;width:min(45vw,300px)}
  .recruit-support-script{right:22px;top:22px;width:min(38vw,285px);max-width:none}
  .sri-message .message-handwriting{position:relative;right:auto;bottom:auto;width:min(72%,390px);margin:28px auto 16px}
}
@media(max-width:700px){
  .handwriting-top{right:18px;top:28px;width:min(57vw,250px)}
  .campaign-side-note{right:18px;top:86px;bottom:auto;width:min(47vw,225px)}
  .image-cta-handwriting{width:min(76vw,295px);margin:0 0 15px}
  .recruit-support-script{position:relative;right:auto;top:auto;width:min(78vw,300px);margin:24px 0 0 auto}
  .purpose-handwriting,.people-handwriting{right:4%;bottom:5%;width:min(72%,310px)}
  .sri-message .message-handwriting{width:min(92%,360px);margin:24px auto 12px}
  .sri-message .signature strong{height:27px;background-size:190px auto}
}

/* v17 final integration: content-aware intermediate widths and shared site chrome. */
.site-header{position:sticky;top:0;z-index:1000;isolation:isolate}
html{scroll-padding-top:76px}
.section-no:before,.eyebrow:before{width:30px;height:3px;margin-right:12px}
.campaign-forward{flex-wrap:nowrap;min-width:0}
.campaign-forward b{white-space:nowrap}
.image-cta .wrap,.cta-section .wrap,.next-action-grid>a,.precheck-grid>div,.next-action-grid>a>div{min-width:0}
.image-cta h2,.cta-section h2,.next-action-grid b,.precheck h2{overflow-wrap:normal;word-break:keep-all}
.image-cta .wrap>p:not(.section-no):not(.script-text),.cta-section .wrap>div{max-width:100%}
.recruit-job-copy svg,.recruit-points svg,.system-cards svg,.quality-columns svg,.condition-grid svg,.flow-detail svg,.precheck-grid svg{color:var(--sri-icon);stroke:currentColor;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round}
.recruit-job-copy>svg,.recruit-points svg{filter:saturate(1.15);}
.delivery-system,.cleaning-quality{background-image:linear-gradient(90deg,rgba(3,5,6,.86),rgba(3,5,6,.62) 58%,rgba(3,5,6,.25)),var(--quality-photo)}
.system-cards article,.cleaning-quality .quality-columns article{display:grid;grid-template-rows:58px auto 1fr;align-items:start;justify-items:center;gap:10px;padding:28px 20px;text-align:center}
.system-cards article svg,.cleaning-quality .quality-columns article svg{align-self:center;margin:0}
.system-cards b,.system-cards p,.cleaning-quality .quality-columns h3,.cleaning-quality .quality-columns p{max-width:100%;text-align:center;word-break:keep-all}
.next-action-grid>a>div{width:100%;max-width:72%}
.precheck-grid>div b,.precheck-grid>div span{max-width:100%;word-break:keep-all}

/* Keep the cleaning contact area image-led like the delivery CTA. */
body:has(.page-cleaning) .cta-section{background-image:linear-gradient(90deg,rgba(3,5,6,.88),rgba(3,5,6,.68)),url('../images/cleaning-quality.webp');background-size:cover;background-position:center;color:#fff}

@media(max-width:1180px){
  .wrap{width:min(calc(100% - 56px),var(--max))}
  .split-head{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px}
  .page-hero--campaign .campaign-title{max-width:62vw}
  .campaign-side-note{right:3vw;max-width:27vw}
  .top-fv{grid-template-columns:46% 54%}
  .top-fv__copy{padding-left:4vw}.top-fv h1{font-size:clamp(42px,5vw,54px)}
  .forward-arrow{width:min(48vw,560px)}
  .image-cta .wrap{padding-inline:0}
  .recruit-points{grid-template-columns:repeat(2,minmax(0,1fr))}
  .next-action-grid>a>div{max-width:88%}
}
@media(max-width:900px){
  .split-head{grid-template-columns:1fr;gap:16px;align-items:start}
  .split-head>p{padding-left:0;border-left:0}
  .page-hero--campaign{height:470px}
  .page-hero--campaign .campaign-title{max-width:100%}
  .page-hero--campaign .campaign-title span,.page-hero--campaign .campaign-title strong{font-size:clamp(42px,7vw,58px)}
  .campaign-side-note{right:24px;top:auto;bottom:42px;max-width:42%;font-size:18px!important}
  .page-hero--campaign .campaign-forward{max-width:100%}
  .campaign-forward b{font-size:10px}
  .image-cta .script-text,.recruit-support-script{position:static;display:block;width:max-content;max-width:100%;margin:0 0 12px;text-align:left}
  .image-cta--recruit .wrap{padding-right:0}
  .next-action-grid{grid-template-columns:1fr}
  .next-action-grid>a{padding:24px}.next-action-grid>a>div{max-width:100%}
  .system-cards,.precheck-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .system-cards article:nth-child(2n),.precheck-grid>div:nth-child(2n){border-right:0}
  .system-cards article:nth-child(-n+2){border-bottom:1px solid #929292}
  .top-strength{grid-template-columns:repeat(2,minmax(0,1fr))}
  .top-strength-title{grid-column:1/-1;border-right:0;border-bottom:1px solid #bbb;padding-bottom:18px}
  .top-fv{grid-template-columns:1fr 1fr}.top-fv__copy{padding-left:28px}.top-fv__photo>p{right:4%}
}
@media(max-width:700px){
  html{scroll-padding-top:66px}
  .wrap{width:min(calc(100% - 40px),var(--max))}
  .page-hero--campaign{height:650px;padding-bottom:38px}
  .page-hero--campaign .campaign-title span,.page-hero--campaign .campaign-title strong{font-size:clamp(38px,12vw,52px)}
  .campaign-ja{max-width:100%;font-size:21px;word-break:keep-all}
  .campaign-side-note{right:20px;bottom:28px;max-width:48%;font-size:16px!important;line-height:1.45!important}
  .campaign-forward{gap:10px;margin-top:14px}
  .campaign-forward i{flex:0 1 100px!important;width:auto!important;min-width:64px!important}
  .campaign-forward b{font-size:9px;letter-spacing:.08em}
  .top-fv{display:block;height:680px}.top-fv__copy{position:absolute;inset:0;padding:0 20px 42px;display:flex;align-items:flex-end}.top-fv__photo{position:absolute;inset:0}.move-forward{max-width:100%;width:auto!important;transform:none!important;font-size:clamp(40px,12vw,52px)!important}
  .forward-arrow{left:20px;bottom:90px;width:calc(100% - 40px);height:4px}
  .top-fv__tagline{bottom:50px;left:20px;right:20px;max-width:calc(100% - 40px);font-size:10px}
  .top-recruit-band{min-height:540px;padding-bottom:40px}.recruit-script{right:20px;top:34px;max-width:45%;font-size:18px}
  .top-strength{grid-template-columns:1fr;padding-inline:20px}.top-strength-title{grid-column:1}
  .image-cta,.cta-section{overflow:hidden}.image-cta .wrap,.cta-section .wrap{width:min(calc(100% - 40px),var(--max));padding-inline:0}
  .image-cta h2,.cta-section h2{font-size:clamp(28px,8vw,34px);line-height:1.35}
  .image-cta .btn,.cta-section .btn{width:100%;min-width:0}
  .precheck-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.precheck-grid>div{min-height:150px;padding:18px 12px}
  .recruit-points{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.recruit-points>div{min-height:150px;padding:18px 12px}
  .recruit-points>h2{grid-column:1/-1}
  .system-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.system-cards article{padding:22px 12px;min-width:0}
  .cleaning-quality .quality-columns{grid-template-columns:1fr}.cleaning-quality .quality-columns article{min-height:160px}
  .next-action-grid>a{min-height:235px;padding:22px 18px}.next-action-grid em{max-width:100%;font-size:13px}
  .section-no{white-space:normal;word-break:keep-all}
}

/* Approved privacy copy, restored as structured lists. */
.privacy-page .policy-block{grid-template-columns:58px 290px minmax(0,1fr)}
.privacy-page .policy-block h2{font-size:28px;line-height:1.3;word-break:normal;overflow-wrap:normal}
.policy-collections{grid-column:3;grid-row:1/3;display:grid;grid-template-columns:1fr 1fr;gap:28px;padding-left:26px;border-left:1px solid #ddd}
.policy-collections b{display:block;margin-bottom:10px}.policy-collections ul,.policy-list{margin:0;padding:0;list-style:none}
.policy-collections li,.policy-list li{position:relative;padding-left:18px;margin:5px 0}
.policy-collections li:before,.policy-list li:before{content:"";position:absolute;left:0;top:.65em;width:6px;height:6px;border-radius:50%;background:var(--yellow)}
.policy-list{grid-column:3;grid-row:1/3;padding-left:26px;border-left:1px solid #ddd}
.policy-date{display:grid;grid-template-columns:90px 1fr;gap:18px;margin:30px 0 0;padding:24px;background:#f4f4f2}
.policy-contact{display:flex;justify-content:space-between;align-items:center;gap:40px;margin-top:34px;padding:36px;border-top:1px solid #ddd}
.policy-contact h2{font-size:28px;margin:0 0 8px}.policy-contact p{margin:0}

/* THANK YOU pages: shared component, distinct purpose copy. */
.thanks{padding:72px 0 88px;min-height:0;text-align:center;display:block}
.thanks>.wrap{max-width:1120px}.thanks h2{font-size:clamp(34px,4vw,52px);line-height:1.25;margin:0 0 20px}.thanks>div>p{font-size:16px;line-height:1.9}
.thanks-flow{margin:34px 0 44px;padding:26px 30px 30px;background:#f1f2f2;border-top:1px solid #ddd}
.thanks-flow h3{margin:0 0 22px}.thanks-flow>div{display:grid;grid-template-columns:1fr 34px 1fr 34px 1fr 34px 1fr;align-items:center}
.thanks-flow article{display:grid;grid-template-rows:70px auto 1fr;justify-items:center;gap:8px;min-width:0}.thanks-flow svg{width:54px;height:54px;padding:11px;border-radius:50%;background:#fff;fill:none;stroke:#111;stroke-width:2}.thanks-flow article b{font-size:15px}.thanks-flow article span{font-size:12px;line-height:1.55}.thanks-flow i{font:300 38px/1 Inter;color:#666;font-style:normal}
.thanks-flow article:last-child svg{display:none}.thanks-flow article:last-child:before{content:"";grid-row:1;width:42px;height:30px;margin-top:10px;border:2px solid #111;border-radius:50%;background:#fff;box-shadow:13px 8px 0 -7px #f1f2f2,13px 8px 0 -5px #111;transform:rotate(-4deg)}
.thanks-related{margin-top:18px}.thanks-related h3{font-size:25px;margin:0 0 4px}.thanks-related>p{margin:0 0 18px}.thanks-home{margin-top:38px;min-width:350px;justify-content:center}

/* Content-aware breakpoints: 4 columns never collapse into unreadable strips. */
@media(max-width:1180px){
  .top-strength{grid-template-columns:1fr 1fr 1fr}.top-strength-title{grid-column:1/-1;border-right:0;border-bottom:1px solid #bbb;padding:0 0 18px;margin-bottom:8px}.strength-item{min-height:112px;border-bottom:1px solid #bbb}
  .recruit-job-cards,.condition-grid,.system-cards,.precheck-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .system-cards article:nth-child(2n){border-right:0}.system-cards article:nth-child(-n+2){border-bottom:1px solid #929292}
  .recruit-points{grid-template-columns:repeat(2,minmax(0,1fr))}.recruit-points>h2{grid-column:1/-1}
  .flow-detail{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:24px}
}
@media(max-width:900px){
  .top-fv{grid-template-columns:48% 52%}.top-fv__copy{padding-left:28px}.top-fv h1{font-size:46px}.move-forward{font-size:49px}.forward-arrow{left:28px;width:41vw;min-width:0}
  .page-hero--campaign .campaign-forward{max-width:50vw}.campaign-side-note{right:24px}
  .photo-cards.four,.examples{grid-template-columns:repeat(2,minmax(0,1fr))}
  .policy-collections,.policy-list{grid-column:2;grid-row:auto;padding:16px 0 0;border-left:0}.privacy-page .policy-block>div{display:block}.privacy-page .policy-block{grid-template-columns:52px 1fr}.privacy-page .policy-block small,.privacy-page .policy-block h2{grid-column:auto;grid-row:auto}.privacy-page .policy-block h2{font-size:26px}
  .policy-contact{align-items:flex-start;flex-direction:column}.policy-contact .btn{width:100%}
}
@media(max-width:700px){
  .forward-arrow{left:20px;width:calc(100% - 58px);bottom:70px}.move-forward{max-width:calc(100vw - 40px);font-size:clamp(42px,13vw,52px)!important}
  .page-hero--campaign .campaign-forward{max-width:100%;gap:12px}.page-hero--campaign .campaign-forward i{flex-basis:100px}.page-hero--campaign .campaign-forward b{font-size:10px}
  .campaign-side-note{right:20px;top:84px;font-size:17px!important}.campaign-side-note:after{width:100px}
  .script-text,.recruit-script{letter-spacing:.035em;transform:rotate(-3deg)}
  .top-about-title h2,.top-strength-title h2{font-size:30px}.top-strength{grid-template-columns:1fr}.top-strength-title{grid-column:1}.strength-item{border-right:0;min-height:108px;padding:18px 8px}.strength-item:nth-child(odd){border-right:0}
  .recruit-job-cards,.condition-grid,.system-cards,.precheck-grid,.photo-cards.four,.examples,.recruit-points{grid-template-columns:1fr}
  .system-cards article{border-right:0!important;border-bottom:1px solid #929292}.system-cards article:last-child{border-bottom:0}
  .cleaning-quality .quality-columns{grid-template-columns:1fr}.flow-detail{grid-template-columns:1fr}.flow-detail li{grid-template-columns:54px 44px 1fr;grid-template-rows:auto auto;justify-items:start;text-align:left}.flow-detail svg{grid-column:1;grid-row:1/3}.flow-detail b{grid-column:2;grid-row:1/3;align-self:center}.flow-detail strong{grid-column:3;grid-row:1}.flow-detail span{grid-column:3;grid-row:2}
  .recruit-job-cards article:before{height:235px}.recruit-points>h2{grid-column:1}.recruit-points>div{min-height:130px}
  .policy-collections{grid-template-columns:1fr}.policy-date{grid-template-columns:1fr;gap:4px}.policy-contact{padding:28px 0}.policy-contact h2{font-size:24px}
  .thanks{padding:58px 0 72px}.thanks h2{font-size:32px}.thanks>div>p{font-size:14px}.thanks-flow{padding:24px 18px}.thanks-flow>div{grid-template-columns:1fr}.thanks-flow i{transform:rotate(90deg);font-size:30px;margin:4px}.thanks-flow article{grid-template-rows:58px auto 1fr}.thanks-flow svg{width:50px;height:50px}.thanks-home{min-width:0;width:100%}
}+

/* v18 cascade lock: formal handwriting assets always win over legacy responsive rules. */
.handwriting-img{display:block!important;height:auto!important;object-fit:contain!important;pointer-events:none;z-index:3}
.script-text:not(.campaign-side-note)::after,.recruit-script::after,.recruit-support-script::after,.campaign-side-note::after,.sri-message .message-body::after{content:none!important;display:none!important}
.handwriting-top{position:absolute!important;right:6%!important;top:7%!important;width:clamp(220px,24vw,349px)!important;max-width:none!important;transform:none!important}
.campaign-side-note{position:absolute!important;right:clamp(22px,4vw,64px)!important;top:72px!important;bottom:auto!important;width:clamp(200px,23vw,357px)!important;max-width:29vw!important;transform:none!important}
.image-cta-handwriting{width:clamp(210px,25vw,325px)!important;margin:0 0 18px auto!important}
.recruit-support-script{position:absolute!important;right:0!important;top:18px!important;width:clamp(210px,26vw,333px)!important;max-width:32vw!important;transform:none!important}
.purpose-handwriting{position:absolute!important;right:5%!important;bottom:7%!important;width:min(58%,329px)!important}
.people-handwriting{position:absolute!important;right:5%!important;bottom:7%!important;width:min(64%,370px)!important}
.sri-message .message-handwriting{position:absolute!important;right:2%!important;bottom:128px!important;width:min(34vw,439px)!important}
@media(max-width:900px){.handwriting-top{right:24px!important;top:24px!important;width:min(38vw,300px)!important}.campaign-side-note{right:24px!important;top:auto!important;bottom:36px!important;width:min(39vw,310px)!important;max-width:none!important}.image-cta-handwriting{margin:0 0 16px!important;width:min(45vw,300px)!important}.recruit-support-script{right:22px!important;top:22px!important;width:min(38vw,285px)!important;max-width:none!important}.sri-message .message-handwriting{position:relative!important;right:auto!important;bottom:auto!important;width:min(72%,390px)!important;margin:28px auto 16px!important}}
@media(max-width:700px){.handwriting-top{right:18px!important;top:28px!important;width:min(57vw,250px)!important}.campaign-side-note{right:18px!important;top:86px!important;bottom:auto!important;width:min(47vw,225px)!important}.image-cta-handwriting{width:min(76vw,295px)!important;margin:0 0 15px!important}.recruit-support-script{position:relative!important;right:auto!important;top:auto!important;width:min(78vw,300px)!important;margin:24px 0 0 auto!important}.purpose-handwriting,.people-handwriting{right:4%!important;bottom:5%!important;width:min(72%,310px)!important}.sri-message .message-handwriting{width:min(92%,360px)!important;margin:24px auto 12px!important}}

/* v20: show the complete formal autograph while cropping only the embedded role at left. */
.sri-message .signature strong{width:250px!important;height:92px!important;background-size:310px auto!important;background-position:right center!important}
@media(max-width:700px){.sri-message .signature strong{width:220px!important;height:82px!important;background-size:275px auto!important;background-position:right center!important}}

/* v21: crop the remaining embedded role characters without touching the autograph. */
.sri-message .signature strong{width:210px!important;height:92px!important;background-size:310px auto!important;background-position:right center!important}
@media(max-width:700px){.sri-message .signature strong{width:190px!important;height:82px!important;background-size:275px auto!important;background-position:right center!important}}
