:root{--sub-gold:#c7ad6f;--sub-card:#1f1f1f;--sub-card-2:#202020;--sub-cream:#ded7c5}
.selection-pc-break{display:none}
.privacy-title-break{display:none}
@media(min-width:901px){.selection-pc-break{display:block}}

.subpage-main{overflow:hidden;background:#000}
.subpage-hero{height:720px;position:relative;background:#030303 url('../../images/common/subpage-lines.webp') center/cover no-repeat}
.subpage-hero:after{content:"";position:absolute;left:360px;right:360px;bottom:0;border-top:1px solid #4d4d4d;display:none}
.page-privacy-policy .subpage-hero:after,.page-site-policy .subpage-hero:after,.page-information-security-policy .subpage-hero:after,.page-qa .subpage-hero:after,.page-reviews .subpage-hero:after,.page-recruit .subpage-hero:after,.page-contact .subpage-hero:after,.page-works .subpage-hero:after{display:block}
.page-contact .subpage-hero:after{display:none}
.subpage-breadcrumb{position:absolute;top:145px;left:5vw;display:flex;gap:14px;color:#919191;font-size:12px}
.subpage-hero-copy{position:absolute;left:18.75%;right:10%;top:320px;max-width:1050px}
.subpage-eyebrow{font-size:12px;line-height:1.3;letter-spacing:.16em;color:#9c937d;margin-bottom:24px}
.subpage-hero h1{font-size:clamp(40px,3.6vw,68px);line-height:1.3;letter-spacing:-.035em;margin-bottom:20px}
.subpage-hero-copy>p:last-child{max-width:940px;color:#d2d2d2;font-size:16px;line-height:1.9}
.subpage-section{padding:100px var(--pad)}
.subpage-shell{width:min(1200px,100%);margin:0 auto}
.subpage-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:45px}
.subpage-section-title h2{font-size:clamp(40px,3.2vw,58px);line-height:.95;margin:0}
.subpage-section-title p{max-width:680px;margin:0;color:#bdbdbd}
.subpage-cta{width:min(1200px,calc(100% - 10vw));margin:130px auto;min-height:230px;padding:51px 50px 59px 48px;border:1px solid #666;background:linear-gradient(110deg,#161616,#090909);display:flex;align-items:flex-end;justify-content:space-between;gap:40px}
.subpage-cta h2{font-size:30px;line-height:1.45;margin-bottom:16px}
.subpage-cta>div>p:last-child{max-width:760px;color:#b8b8b8;font-size:14px;line-height:1.8;margin:0}
.subpage-cta>a{width:285px;min-width:285px;height:64px;background:var(--sub-cream);color:#111;padding:0 17px;display:flex;justify-content:space-between;align-items:center;font-size:16px;font-weight:700}
.subpage-cta .subpage-eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:12px;color:#808080}
.subpage-cta>div{margin-bottom:-8px}
.subpage-cta .subpage-eyebrow span{width:40px;border-top:1px solid #666}


/* Policy pages */
.policy-wrap{display:grid;grid-template-columns:220px minmax(0,1fr);gap:80px;align-items:start}
.policy-index{position:sticky;top:125px;margin-top:-9px}
.policy-index strong{display:block;font-size:12px;letter-spacing:.14em;padding-bottom:28px;border-bottom:1px solid #4d4d4d}
.policy-index a{display:block;color:#fff;font-size:13px;padding:10px 0;border-bottom:1px solid #4d4d4d}
.policy-content{min-width:0}
.policy-group{display:block;margin-bottom:66px}
.policy-group-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:37px}
.policy-group-heading h2{font-size:40px;line-height:.88;margin:0 0 12px;letter-spacing:-.04em}
.policy-group-heading p{max-width:430px;font-size:12px;color:#858585;line-height:1.6;margin:0}
.policy-group--plain{margin-bottom:0}
.policy-cards{display:grid;gap:33px}
.policy-card{background:rgba(31,31,31,.72);border:1px solid #808080;padding:19px 30px 0}
.policy-card h3{font-size:18px;line-height:1.5;margin-bottom:13px}
.policy-card p,.policy-card li{font-size:14px;line-height:1.85;color:#fff;margin-bottom:0}
.policy-card p:last-child{margin-bottom:0}
.policy-card ul{padding-left:1.4em;margin:30px 0}
.policy-card>ul:last-child{margin-bottom:0}
.policy-contact{border:1px solid #808080;padding:20px 22px 35px;margin-top:22px}
.policy-contact p:first-child{margin-bottom:9px}
.policy-contact a{text-decoration:underline}


/* Contact */
.contact-form{background:rgba(31,31,31,.72);border:1px solid #363636}
.contact-form-head{padding:40px 40px;border-bottom:1px solid #363636}
.contact-form-head h2{font-size:42px;line-height:1;margin-bottom:12px}
.form-step{padding:14px 40px 36px;border-bottom:1px solid #363636}
.form-step:last-child{border-bottom:0}
.form-step-title{display:flex;align-items:flex-start;gap:28px;margin-bottom:24px}
.form-step-title b{color:var(--sub-gold);font-size:32px}
.form-step-title h3{font-size:22px;margin:0}
.choice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:19px}
.choice-grid label,.choice-tabs label{display:flex;align-items:center;justify-content:center;min-height:60px;background:#090909;border:1px solid #303030;font-size:13px;text-align:center;cursor:pointer}
.choice-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.choice-tabs label{min-height:79px}
.choice-grid input,.choice-tabs input{position:absolute;opacity:0}
.choice-grid label:has(input:checked),.choice-tabs label:has(input:checked){background:var(--sub-cream);color:#111}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px 18px}
.field label,.field>span{display:block;font-size:13px;margin-bottom:8px}
.field input,.field select,.field textarea{width:100%;background:#090909;border:1px solid #303030;color:#fff;padding:16px 17px;font:inherit;border-radius:0}
.field select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#fff 50%),linear-gradient(135deg,#fff 50%,transparent 50%);background-position:calc(100% - 22px) 55%,calc(100% - 15px) 55%;background-size:7px 7px,7px 7px;background-repeat:no-repeat}
.field textarea{min-height:230px;resize:vertical}
.field--full{grid-column:1/-1}
.required{display:inline-block;background:var(--sub-gold);color:#111;font-size:9px;padding:1px 5px;margin-left:8px}
.conditional-required{display:none}
.form-step--project.is-simple-inquiry .conditional-required{display:inline-block}
@media(min-width:561px){.form-step--project.is-simple-inquiry .field--reply{grid-column:2}}
.form-confirm{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}
.form-checks label{display:block;font-size:13px;margin:10px 0}
.form-checks a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.form-submit{border:0;background:var(--sub-cream);padding:17px 28px;min-width:250px;display:flex;justify-content:space-between;font-weight:700}
.phone-cta{margin-top:80px;border:1px solid #444;padding:45px 52px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(120deg,#151515,#060606)}
.phone-cta .subpage-eyebrow{display:flex;align-items:center;gap:14px;color:#808080}
.phone-cta .subpage-eyebrow:before{content:'';width:40px;height:1px;background:#666;flex:none}
.phone-cta h2{font-size:28px;line-height:1.45;margin-bottom:10px}
.phone-cta a{background:var(--sub-gold);color:#111;padding:18px 42px;font-weight:700}
.contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-error-summary{margin:28px 40px 0;padding:18px 22px;border:1px solid #9e5e5e;background:#2a1717;color:#f5dede;font-size:14px;line-height:1.7}
.form-error-summary strong{font-size:16px}
.form-error-summary ul{margin:8px 0 0;padding-left:1.4em}
.contact-flow-section{position:relative;z-index:2}
.contact-confirm-card{background:#1d1d1d;border:1px solid #4a4a4a}
.contact-confirm-list{margin:0;padding:0 40px}
.contact-confirm-list>div{display:grid;grid-template-columns:280px minmax(0,1fr);gap:36px;padding:25px 0;border-bottom:1px solid #414141}
.contact-confirm-list dt{color:#c8c8c8;font-size:14px;font-weight:500}
.contact-confirm-list dd{margin:0;font-size:16px;line-height:1.9;overflow-wrap:anywhere}
.contact-flow-actions{display:flex;align-items:center;justify-content:flex-end;gap:18px;padding:36px 40px}
.contact-flow-actions form{margin:0}
.contact-back-button{min-width:250px;padding:16px 22px;border:1px solid #666;display:flex;align-items:center;justify-content:space-between;font-size:14px}
.contact-thanks-card{padding:90px 70px;border:1px solid #444;background:linear-gradient(120deg,#1b1b1b,#070707);text-align:center}
.contact-thanks-card h2{margin-bottom:30px;font-size:48px;line-height:1.4}
.contact-thanks-card>p:not(.subpage-eyebrow){font-size:16px;line-height:2}
.contact-thanks-note{margin-top:30px;color:#aaa}
.contact-home-button{width:300px;margin:45px auto 0;color:#111;text-align:left}
.mobile-only{display:none}


/* Q&A */
.qa-jumps{display:grid;grid-template-columns:repeat(4,237px);gap:14px 15px;margin-bottom:80px}
.qa-jumps a{border:1px solid #4a4a4a;border-radius:99px;background:#292929;height:44px;padding:0 21px;display:flex;align-items:center;justify-content:space-between;font-size:12px}
.qa-section{margin-bottom:64px}
.qa-heading{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:0;padding-bottom:0;margin-bottom:73px}
.qa-heading h2{font-size:40px;line-height:1;margin:0}
.qa-heading p{font-size:12px;color:#8d8d8d;margin:0}
.qa-item{border:1px solid #4d4d4d;background:rgba(255,255,255,.09);margin-bottom:10px}
.qa-item summary{list-style:none;display:flex;align-items:center;gap:22px;padding:19px 22px;font-size:14px;font-weight:700;cursor:pointer}
.qa-item summary::-webkit-details-marker{display:none}
.qa-item summary:before{content:'Q';color:var(--sub-gold)}
.qa-item summary:after{content:'+';margin-left:auto;border:1px solid #999;border-radius:50%;width:32px;height:32px;flex:none;display:grid;place-items:center;font-size:18px;font-weight:400}
.qa-item[open] summary:after{content:'\2715';background:var(--sub-cream);border-color:var(--sub-cream);color:#111;font-size:15px}
.qa-answer{border-top:0;padding:20px 55px;color:#fff;font-size:14px;line-height:1.9}


/* Service */
.service-process{display:grid;gap:56px}
.process-row{display:grid;grid-template-columns:130px minmax(0,1fr) 380px;gap:48px;align-items:start;border-bottom:1px solid #2d2d2d;padding-bottom:54px}
.process-number{font-size:86px;color:#535353;font-weight:700;line-height:1}
.process-copy small{display:flex;align-items:center;gap:12px;color:#808080}
.process-copy small:before{content:'';width:28px;height:1px;background:#808080;flex:none}
.process-copy h2{font-size:27px;line-height:1.45}
.process-copy p{font-size:14px;color:#bcbcbc}
.process-row img{height:190px;object-fit:cover}
.process-plan{display:grid;grid-template-columns:1fr 1fr;background:#1b1b1b;border:1px solid #3f3f3f}
.process-plan div{padding:24px}
.process-plan div+div{border-left:1px solid #3f3f3f}
.process-plan h3{font-size:16px}
.process-plan p{font-size:12px;line-height:1.7;color:#aaa}
.service-lineup{background:linear-gradient(#171717,#050505);padding-top:110px}
.filter-pills{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:42px}
.filter-pills button{border:1px solid #484848;border-radius:99px;background:#191919;color:#fff;padding:9px 20px;font-size:11px}
.filter-pills button:first-child{background:var(--sub-cream);color:#111}
.filter-pills button span{color:#858585}
.filter-pills button[aria-pressed="true"] span{color:inherit}
.service-price-note{margin:20px 0 0;text-align:left;color:#888;font-size:11px}
.service-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.service-card{background:#1d1d1d;border:1px solid #393939}
.service-card img{height:220px;object-fit:cover;filter:brightness(.82)}
.service-card-copy{padding:23px}
.service-card small{font-size:10px;color:#8f8f8f;letter-spacing:.12em}
.service-card h3{font-size:20px;line-height:1.45;margin:6px 0 10px}
.service-card p{font-size:13px;color:#bdbdbd;line-height:1.75;min-height:70px}
.service-card-price{display:flex;justify-content:space-between;border-top:1px solid #373737;padding-top:12px;font-size:11px;color:#999}


/* Reviews */
.featured-list{display:grid;gap:16px}
.featured-card{display:grid;grid-template-columns:38% 1fr;min-width:0;overflow:hidden;background:#1d1d1d;border:1px solid #393939}
.featured-card img{width:100%;max-width:100%;min-width:0;height:300px;object-fit:cover;filter:brightness(.68)}
.featured-card div{min-width:0;padding:35px}
.featured-card h3{font-size:26px;line-height:1.5}
.featured-card p{font-size:13px;color:#bbb}
.tag-list{display:flex;gap:8px;flex-wrap:wrap}
.tag-list span{font-size:10px;border:1px solid #555;border-radius:99px;padding:4px 10px}
.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.review-card{display:grid;grid-template-columns:43% 1fr;min-width:0;overflow:hidden;background:#1b1b1b;border:1px solid #3d3d3d}
.review-card img{width:100%;max-width:100%;min-width:0;height:100%;min-height:270px;object-fit:cover;filter:brightness(.66)}
.review-card div{min-width:0;padding:24px}
.review-card h3{font-size:18px;line-height:1.5}
.review-card p{font-size:12px;color:#bbb;line-height:1.7}
.review-card[hidden]{display:none}


/* Recruit */
.recruit-message{display:grid;grid-template-columns:1fr 1.25fr;gap:58px;align-items:start}
.recruit-message img{height:360px;object-fit:cover;filter:grayscale(1) brightness(.65)}
.recruit-message h2,.jobs-title h2,.selection-title h2{font-size:48px;line-height:1;margin-bottom:28px}
.recruit-message h3{font-size:24px}
.recruit-message p{font-size:14px;color:#c4c4c4}
.jobs-title,.selection-title{display:grid;grid-template-columns:444px minmax(0,1fr);align-items:end;gap:0;margin-bottom:36px}
.jobs-title p,.selection-title p{max-width:none;font-size:18px;line-height:35px;color:#c8c8c8}
.job-card{display:grid;grid-template-columns:340px 1fr;background:#1a1a1a;border:1px solid #4d4d4d;margin-bottom:18px}
.job-card-head{padding:32px 31px;border-right:1px solid #4d4d4d}
.job-card-head span{display:inline-block;border:1px solid transparent;border-radius:99px;background:var(--sub-gold);color:#111;padding:10px 30px;font-size:16px;line-height:1;font-weight:700;font-synthesis:none}
.job-card-head span.is-part-time{border-color:var(--sub-gold);background:transparent;color:var(--sub-gold)}
.job-card-head h3{font-size:30px;line-height:1.35;margin-top:14px}
.job-card dl{margin:0;padding:7px 30px 21px 36px}
.job-card dl div{display:grid;grid-template-columns:139px 1fr;gap:20px;padding:23px 0;border-bottom:1px solid #4d4d4d}
.job-card dl div:last-child{border-bottom:0}
.job-card dt{font-size:16px;line-height:33px;color:#dcdcdc}
.job-card dd{margin:0;font-size:16px;line-height:33px;color:#fff}
.selection-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.selection-step{border:1px solid #4d4d4d;padding:22px 20px;min-height:180px}
.selection-step b{font-size:14px;letter-spacing:.2em;color:var(--sub-gold)}
.selection-step h3{font-size:18px;margin:16px 0 13px}
.selection-step p{font-size:16px;line-height:26px;color:#dcdcdc}


/* Profile */
.profile-prose{display:grid;grid-template-columns:230px minmax(0,1fr);gap:75px;margin-bottom:110px}
.profile-prose-label{font-size:38px;line-height:1.05;font-weight:700}
.profile-prose-label small{display:block;font-size:12px;color:#7f7664;margin-bottom:24px;letter-spacing:.12em;font-weight:400}
.profile-prose-body h2{font-size:34px;line-height:1.55}
.profile-prose-body h3{font-size:24px;line-height:1.55;margin-top:42px}
.profile-prose-body p{color:#c1c1c1;font-size:14px;line-height:2}
.profile-representative{width:100%;margin:30px 0;filter:grayscale(1) brightness(.7)}
.publication-list{display:grid;gap:20px}
.publication{display:grid;grid-template-columns:120px 1fr;gap:25px}
.publication img{height:155px;object-fit:contain;background:#eee}
.publication h3{font-size:18px}
.publication p{font-size:12px;color:#aaa}
.history-table,.company-table{width:100%;border-collapse:collapse}
.history-table th,.history-table td,.company-table th,.company-table td{padding:15px 18px;border-bottom:1px solid #393939;text-align:left;font-size:13px}
.history-table th,.company-table th{width:170px;color:#aaa;font-weight:400}
.history-table tr:first-child th,.history-table tr:first-child td{border-top:1px solid #393939}
.company-band{background:linear-gradient(#1a1a1a,#080808)}
.profile-map{width:100%;aspect-ratio:1920/614;overflow:hidden;background:#e9e5dc}
.profile-map iframe{display:block;width:100%;height:100%;border:0}


/* Theory */
.theory-lead-list{display:grid;gap:80px}
.theory-lead{display:grid;grid-template-columns:160px 1fr;gap:70px;position:relative}
.theory-lead+.theory-lead:before{content:'';position:absolute;top:-40px;left:230px;right:0;border-top:1px solid #4d4d4d}
.theory-lead-number{font-size:90px;color:#454545;font-weight:700;line-height:1}
.theory-lead>div>.subpage-eyebrow{display:flex;align-items:center;gap:14px;color:#808080}
.theory-lead>div>.subpage-eyebrow:before{content:'';width:40px;height:1px;background:#808080;flex:none}
.theory-lead h2{font-size:34px;line-height:1.45}
.theory-lead p{font-size:14px;color:#bbb;line-height:2}
.theory-equation>.subpage-eyebrow,.theory-explore>.subpage-shell>.subpage-eyebrow{color:#808080}
.theory-equation h2{font-size:56px;line-height:1.05}
.equation-row{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:stretch;gap:18px;margin-top:35px}
.equation-card{background:#1d1d1d;border:1px solid #444;padding:27px}
.equation-card h3{font-size:17px}
.equation-card p{font-size:12px;color:#aaa}
.equation-symbol{align-self:center;font-size:36px}
.theory-explore{background:linear-gradient(#1a1a1a,#050505);border-top:1px solid #4d4d4d}
.theory-link{border:1px solid #444;padding:20px 24px;display:grid;grid-template-columns:70px 1fr 100px;align-items:center;margin-bottom:12px}
.theory-link>b{font-size:24px;color:#606060}
.theory-link h3{font-size:15px;margin:0}
.theory-link small{color:#8f8f8f}
.theory-link span{text-align:center;background:var(--sub-cream);color:#111;padding:7px}
.theory-article{background:var(--sub-cream);color:#151515}
.theory-article .subpage-shell{max-width:1200px}
.theory-article-section{margin-bottom:70px}
.theory-article-section small{color:#808080;letter-spacing:.14em}
.theory-article-section>small{display:flex;align-items:center;gap:14px}
.theory-article-section>small:before{content:'';width:40px;height:1px;background:#808080;flex:none}
.theory-article-section h2{font-size:34px;line-height:1.45}
.theory-article-section p{font-size:14px;line-height:2;color:#333}
.theory-flow-boxes .theory-box{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding-left:14px;padding-right:14px}
.theory-flow-boxes .theory-box small{margin:0 0 12px;color:#808080}
.theory-flow-boxes .theory-box h3{margin:0;white-space:nowrap}
.theory-article-section:nth-of-type(4) .theory-box h3{text-align:center}
.theory-coming-soon{min-height:520px;display:flex;align-items:center}
.theory-coming-soon-card{width:100%;border:1px solid #555;background:rgba(29,29,29,.72);padding:58px 60px}
.theory-coming-soon-card h2{font-size:48px;line-height:1.25;margin-bottom:22px}
.theory-coming-soon-card>p:not(.subpage-eyebrow){max-width:760px;color:#bdbdbd;line-height:1.9}
.theory-coming-soon-card>a{width:230px;height:54px;margin-top:35px;border:1px solid #666;display:flex;align-items:center;justify-content:space-between;padding:0 18px}
.theory-boxes{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:15px;margin-top:38px}
.theory-box{background:#1b1b1b;color:#fff;padding:29px 33px 26px}
.theory-box h3{font-size:25px;line-height:1;margin-bottom:18px}
.theory-box p{font-size:16px;line-height:32px;color:#d8d8d8;margin-bottom:0}


/* Works */
.works-layout{display:grid;grid-template-columns:250px 1fr;gap:111px;align-items:start}
.works-categories{position:sticky;top:120px}
.works-categories strong{display:block;font-size:11px;letter-spacing:.12em;padding-bottom:32px;border-bottom:1px solid #4d4d4d}
.works-categories button{display:block;width:100%;text-align:left;color:#aaa;background:none;border:0;border-bottom:1px solid #4d4d4d;padding:9px 0;cursor:pointer;transition:color .2s ease,background-color .2s ease,text-indent .2s ease}
.works-categories button[aria-pressed="true"]{color:#fff;font-weight:700}
.works-categories button[aria-pressed="false"]{color:#aaa;font-weight:400}
.works-categories button:focus-visible{color:#fff;background-color:rgba(255,255,255,.08);outline:1px solid #bda667;outline-offset:2px}
@media(hover:hover) and (pointer:fine){
  .works-categories button:hover{color:#fff;background-color:rgba(255,255,255,.08);text-indent:.35em}
}
@media(prefers-reduced-motion:reduce){.works-categories button{transition:none}}
.works-gallery{columns:4 210px;column-gap:13px}
.works-item{break-inside:avoid;margin-bottom:13px;background:#151515;overflow:hidden}
.works-item img{width:100%;height:auto;transition:filter .2s}
.works-item:hover img{filter:brightness(1.08)}


/* Canonical 1920px comp fidelity */
.filter-pills button[aria-pressed="true"]{background:var(--sub-cream);color:#111}
.filter-pills button[aria-pressed="false"]{background:#191919;color:#fff}

.works-gallery{columns:auto;position:relative}
.works-gallery .works-item{position:absolute;margin:0}
.works-gallery .works-item[hidden]{display:none}
.works-gallery .works-item img{width:100%;height:100%;object-fit:contain}
.works-archive-title{font:700 50px/1 "Roboto","Noto Sans JP",sans-serif;margin:0 0 47px}
.works-page .subpage-shell{width:min(1720px,100%)}

.subpage-main{font-size:16px}
.subpage-eyebrow,.subpage-breadcrumb,.policy-index strong,.process-copy small,.service-card small,.theory-article-section>small,.theory-link small,.works-categories strong{font-family:"Roboto","Noto Sans JP",sans-serif}
.policy-group-heading h2,.subpage-section-title h2,.contact-form-head h2,.qa-heading h2,.process-number,.theory-lead-number,.theory-equation h2,.theory-link>b,.recruit-message h2,.jobs-title h2,.selection-title h2,.read-next-heading,.works-archive-title{font-family:"Roboto","Noto Sans JP",sans-serif;font-weight:700;font-synthesis:none}

.page-service h1,.page-service h2,.page-service h3,.page-reviews h1,.page-reviews h2,.page-reviews h3,.page-recruit h1,.page-recruit h2,.page-recruit h3,.page-theory h1,.page-theory h2,.page-theory h3,.page-site-policy h1,.page-site-policy h2,.page-site-policy h3,.page-works h1,.page-works h2,.page-works h3{font-weight:700}

.subpage-hero{height:619px}
@media(min-width:901px){
.page-privacy-policy .subpage-hero,.page-site-policy .subpage-hero,.page-information-security-policy .subpage-hero{height:665px}
.page-works .subpage-hero{height:635px}
}

.page-privacy-policy .subpage-hero:after,.page-site-policy .subpage-hero:after{left:360px;right:100px}
.page-works .subpage-hero:after{left:100px;right:100px}
.page-information-security-policy .subpage-hero:after{left:360px;right:360px}
.subpage-hero:after{left:360px;right:360px}
.subpage-hero h1{font-size:60px;line-height:1.35}
.subpage-section{padding-top:120px;padding-bottom:120px}
.subpage-section-title h2{font-family:"Roboto","Noto Sans JP",sans-serif;font-size:60px;line-height:.98}
.subpage-section-title p{font-size:16px;line-height:1.9}
.subpage-cta{margin-top:140px;margin-bottom:140px;min-height:235px}
.subpage-cta h2{font-size:30px}
.subpage-cta>div>p:last-child{font-size:16px;line-height:1.9}

.policy-group{margin-bottom:85px}
.policy-group-heading h2{font-size:50px}
.policy-card{padding:27px 34px 34px}
.policy-card h3{font-size:20px}
.policy-card p,.policy-card li{font-size:16px;line-height:1.95}

.character-count{display:block;margin-top:7px;text-align:right;color:#8f8f8f;font-size:12px}
.form-step-title h3{font-size:25px}
.form-step-title p,.form-step>p{font-size:14px}
.phone-cta p:last-child{max-width:760px;font-size:14px;color:#bcbcbc}

.process-row{grid-template-columns:145px minmax(0,1fr) 380px;gap:55px;padding-bottom:70px}
.process-number{font-family:"Roboto",sans-serif;font-size:130px}
.process-copy h2{font-size:30px}
.process-copy p{font-size:16px;line-height:1.9}
.process-plan{grid-template-columns:1fr}
.process-plan div{padding:28px}
.process-plan div+div{border-left:0;border-top:1px solid #3f3f3f}
.process-plan h3{font-size:18px}
.process-plan p{font-size:14px;line-height:1.8}
.process-plan .process-plan-note{font-size:12px;color:#898989;margin-top:16px}
.process-plan-link{display:flex;justify-content:space-between;align-items:center;border:1px solid #5a5a5a;border-radius:99px;padding:7px 15px;margin-top:18px;font:500 12px/1.4 "Roboto",sans-serif}
.media-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.media-tags span{border:1px solid #4b4b4b;border-radius:99px;padding:6px 12px;color:#bdbdbd;font-size:11px}

.service-card-copy{padding:26px}
.service-card h3{font-size:22px}
.service-card p{font-size:16px;line-height:1.75;min-height:104px}

.featured-card div{padding:38px}
.featured-card h3{font-size:28px}
.featured-card p{font-size:16px;line-height:1.85}
.review-card div{padding:27px}
.review-card h3{font-size:20px}
.review-card p{font-size:16px;line-height:1.8}

.profile-prose{grid-template-columns:250px minmax(0,1fr);gap:90px;margin-bottom:140px}
.profile-prose-label{font-size:40px}
.profile-prose-body h2{font-size:35px}
.profile-prose-body h3{font-size:25px}
.profile-prose-body p{font-size:16px;line-height:2.05}
.publication{grid-template-columns:145px 1fr;gap:35px;padding-bottom:20px}
.publication img{height:190px}
.publication h3{font-size:21px;margin-bottom:8px}
.publication p{font-size:16px;line-height:1.8;margin-bottom:7px}
.publication .publication-tagline{font-weight:700;color:#eee}
.history-table th,.history-table td,.company-table th,.company-table td{padding:18px;font-size:16px;line-height:1.8;vertical-align:top}
.page-profile .history-table th{width:132px;padding-left:26px;font-size:28px;line-height:1.1;font-weight:700;color:#555b61;vertical-align:middle}
.page-profile .history-table td{font-weight:500;color:#f5f2ed;vertical-align:middle}
.company-table ul{margin:0;padding-left:1.2em}
.profile-access{margin-bottom:30px}

.theory-lead{grid-template-columns:180px 1fr;gap:80px}
.theory-lead-number{font-family:"Roboto",sans-serif;font-size:130px}
.theory-lead h2{font-size:35px}
.theory-lead p{font-size:16px;line-height:2.05}
.theory-equation>p:not(.subpage-eyebrow){font-size:16px;line-height:1.9;margin-bottom:12px}
.equation-card p{font-size:14px;line-height:1.8}
.theory-link{padding:24px 28px}
.theory-link h3{font-size:18px}
.theory-link p{font-size:14px;color:#aaa;line-height:1.7;margin:8px 0 0}
.theory-article-section{margin-bottom:95px}
.theory-article-section h2{font-size:35px}
.theory-article-section p{font-size:16px;line-height:2.05}
.theory-article-emphasis{font-size:20px!important;font-weight:700;color:#171717!important;margin-top:25px}


.subpage-hero-copy--numbered{max-width:1200px;display:grid;grid-template-columns:190px minmax(0,1fr);gap:90px;align-items:start}
.subpage-hero-number{font:700 150px/.8 "Roboto",sans-serif;color:#555;letter-spacing:-.06em}
.subpage-hero-content>p:last-child{max-width:940px;color:#d2d2d2;font-size:16px;line-height:1.9}
.read-next-heading{font-size:80px;line-height:1;margin-bottom:30px}
.read-next-list{border-top:1px solid #444;margin-top:46px}
.read-next-list .theory-link{border:0;border-bottom:1px solid #444;margin:0;padding:25px 4px}
.read-next-list .theory-link span{background:none;color:#ddd;padding:0;text-align:right}

@media(min-width:901px){
.contact-form-head h2{font-size:60px}
.qa-heading h2{font-size:60px}
.recruit-message h2,.jobs-title h2,.selection-title h2{font-size:60px}
.service-lineup .subpage-section-title h2{font-size:80px}
.theory-equation h2{font-size:80px}
.theory-page .theory-explore .subpage-section-title h2{font-size:80px}
.works-page .subpage-hero h1{font-family:"Roboto","Noto Sans JP",sans-serif;font-size:80px;font-weight:700}
.page-information-security-policy .policy-group{margin-bottom:105px}


.page-qa .qa-section{margin-bottom:146px}
.page-qa .qa-item summary{padding-top:25px;padding-bottom:25px}
.page-recruit .subpage-section{padding-top:245px;padding-bottom:245px}


.page-recruit .selection-step{min-height:202px;padding-top:8px}
.page-theory .theory-page .subpage-section{padding-top:140px;padding-bottom:140px}
.page-theory .theory-page .theory-lead-list{gap:120px}
.page-theory .theory-page .theory-link{padding-top:29px;padding-bottom:29px}
.page-theory .theory-article-page .subpage-hero{height:829px}
.page-theory .theory-article-page .theory-article{padding-top:160px;padding-bottom:160px}
.page-theory .theory-article-page .theory-explore{padding-top:150px;padding-bottom:233px}
.page-contact .subpage-hero{height:760px}
.page-contact .contact-page>.subpage-section{position:relative;z-index:2;margin-top:-150px;padding-top:0;padding-bottom:462px}
.page-contact .phone-cta{margin-top:126px}
.page-contact .contact-flow-page>.contact-flow-section{margin-top:-101px;padding-top:0;padding-bottom:180px}
.page-service .service-lineup{padding-top:301px}
.page-service .subpage-cta{margin-top:65px;margin-bottom:227px}
.page-reviews .subpage-cta{margin-top:195px;margin-bottom:194px}
.page-theory .theory-article-page .subpage-cta{margin-top:261px;margin-bottom:261px}
.page-works .subpage-cta{margin-top:9px}
.page-privacy-policy .policy-page>.subpage-section{padding-bottom:437px}
.page-site-policy .policy-page>.subpage-section{padding-bottom:435px}
.page-information-security-policy .subpage-cta{margin-top:14px}
.page-privacy-policy .subpage-cta{margin-top:150px}
.page-site-policy .subpage-cta{margin-top:150px}
.page-profile .subpage-cta{margin-top:216px}
.page-qa .subpage-cta{margin-top:0;margin-bottom:101px}
.page-recruit .subpage-cta{margin-top:267px}
.page-theory .theory-page .subpage-cta{margin-top:100px}

/* 1920px comp: page-specific rhythm and line composition */
.page-contact .contact-form>.form-step:nth-of-type(1){padding-bottom:51px}
.page-contact .contact-form>.form-step:nth-of-type(2){padding-bottom:153px}
.page-contact .contact-form>.form-step--project.is-simple-inquiry{padding-bottom:73px}
.page-contact .contact-form>.form-step:nth-of-type(3){padding-bottom:73px}
.page-contact .contact-page>.subpage-section{margin-top:-101px;padding-bottom:265px}
.page-contact .phone-cta{margin-top:105px}

.page-privacy-policy .policy-page>.subpage-section,
.page-site-policy .policy-page>.subpage-section{padding-top:58px}
.page-privacy-policy .policy-cards{gap:33px}
.page-site-policy .policy-cards{gap:33px}
.page-privacy-policy .policy-page>.subpage-section{padding-bottom:207px}
.page-site-policy .policy-page>.subpage-section{padding-bottom:268px}

.page-information-security-policy .policy-page>.subpage-section{padding-top:21px;padding-bottom:214px}
.page-information-security-policy .policy-group{margin-bottom:63px}

.page-qa .qa-page>.subpage-section{padding-top:19px}
.page-qa .qa-jumps{margin-bottom:56px}
.page-qa .qa-section:nth-of-type(1){margin-bottom:145px}
.page-qa .qa-section:nth-of-type(2){margin-bottom:186px}
.page-qa .qa-section:nth-of-type(3){margin-bottom:157px}
.page-qa .qa-section:nth-of-type(4){margin-bottom:186px}
.page-qa .qa-section:nth-of-type(5){margin-bottom:126px}
.page-qa .qa-section:nth-of-type(6){margin-bottom:114px}
.page-qa .qa-section:nth-of-type(7){margin-bottom:129px}
.page-qa .qa-section:nth-of-type(8){margin-bottom:151px}
.page-qa .qa-heading h2{line-height:.98}
.page-qa .subpage-cta{margin-bottom:171px}

.page-service .service-page>.subpage-section:has(.service-process){padding-top:103px}
.page-service .process-row:first-child{padding-bottom:152px}
.page-service .process-row:nth-child(2){padding-bottom:41px;margin-bottom:-56px}
.page-service .process-row:nth-child(3){padding-bottom:318px}
.page-service .service-lineup{padding-top:109px;padding-bottom:32px}
.page-service .service-lineup .filter-pills{margin-bottom:190px}
.page-service .service-card img{height:202px}
.page-service .subpage-cta{margin-bottom:257px}

.page-reviews .reviews-page>.subpage-section:has(.featured-list){padding-top:0;position:relative;top:-3px;margin-bottom:-3px}
.page-reviews .featured-card{grid-template-columns:33.5% 1fr}
.page-reviews .review-card{grid-template-columns:32% 1fr}
.page-reviews .reviews-page>.subpage-section:has(.featured-list) .subpage-section-title{margin-bottom:83px}
.page-reviews .reviews-page>.subpage-section:has(.review-grid) .filter-pills{margin-bottom:83px}
.page-reviews .subpage-cta{margin-top:295px;margin-bottom:340px}

.page-recruit .recruit-page>.subpage-section:has(.recruit-message){padding-top:66px!important;padding-bottom:111px;margin:0}
.page-recruit .recruit-page>.subpage-section:has(.job-card){padding-top:30px!important;padding-bottom:45px;margin:0}
.page-recruit .recruit-page>.subpage-section:has(.selection-flow){padding-top:30px!important;padding-bottom:171px;margin:0}
.page-recruit .jobs-title{margin-bottom:19px}
.page-recruit .selection-title{margin-bottom:70px}
.page-recruit .job-card{margin-bottom:35px}
.page-recruit .subpage-cta{margin-top:0;margin-bottom:287px}

.page-theory .theory-page>.subpage-section:has(.theory-lead-list){padding-top:142px;padding-bottom:73px;margin-top:0}
.page-theory .theory-page .theory-lead-list{gap:104px}
.page-theory .theory-page>.subpage-section:has(.theory-equation){padding-bottom:228px}
.page-theory .theory-page .theory-explore{padding-top:110px}
.page-theory .theory-page .theory-explore .subpage-eyebrow{margin-bottom:31px}
.page-theory .theory-page .theory-explore .subpage-section-title{display:block;margin-bottom:69px}
.page-theory .theory-page .theory-explore .subpage-section-title h2{white-space:nowrap;margin-bottom:33px}
.page-theory .theory-page .theory-explore .subpage-section-title p{max-width:800px;font-size:16px;line-height:40px}

.page-theory .theory-article-page .theory-article{padding-top:143px;padding-bottom:110px}
.page-theory .theory-article-page .theory-article-section:nth-of-type(1){margin-bottom:118px}
.page-theory .theory-article-page .theory-article-section:nth-of-type(2){margin-bottom:90px}
.page-theory .theory-article-page .theory-article-section:nth-of-type(3){margin-bottom:99px}
.page-theory .theory-article-page .read-next-list{margin-top:62px}
.page-theory .theory-article-page .read-next-list .theory-link{padding-top:10px;padding-bottom:10px}
.page-theory .theory-article-page .theory-explore{padding-bottom:100px}
.page-theory .theory-article-page .subpage-cta{margin-top:81px;margin-bottom:836px}
.page-theory .theory-article-page .subpage-hero-copy--numbered{top:376px}

.page-works .works-page>.subpage-section{padding-top:75px!important;padding-bottom:76px}
.page-works .subpage-cta{margin-bottom:224px}

.page-profile .profile-page>.subpage-section:not(.company-band):has(.profile-prose){padding-top:168px}
.page-profile .profile-prose{grid-template-columns:250px minmax(0,1fr);gap:44px}
.page-profile .profile-prose-body h2{font-size:25px;line-height:1.55;margin-top:65px;margin-bottom:14px}
.page-profile .profile-prose-body p{font-size:16px;line-height:1.875;letter-spacing:0;margin-bottom:20px}
.page-profile .profile-prose-body>h2:first-child,
.page-profile .profile-prose-body>h3:first-child{margin-top:0}
.page-profile .profile-prose-body>h3:first-child{margin-bottom:13px}
.page-profile .profile-representative{height:245px;object-fit:cover}
.page-profile .profile-representative+h3{margin-top:95px;margin-bottom:14px}
.page-profile .profile-page>.subpage-section:not(.company-band) .profile-prose:nth-of-type(1){margin-bottom:130px}
.page-profile .profile-page>.subpage-section:not(.company-band) .profile-prose:nth-of-type(2){margin-bottom:163px}
.page-profile .profile-page>.subpage-section:not(.company-band) .profile-prose:nth-of-type(2) .profile-prose-body>p:nth-of-type(6){letter-spacing:-.025em;margin-bottom:0}
.page-profile .profile-page>.subpage-section:not(.company-band) .profile-prose:nth-of-type(3){margin-bottom:55px}
.page-profile .profile-page>.subpage-section:not(.company-band) .profile-prose:nth-of-type(4){margin-bottom:93px}
.page-profile .publication{padding-bottom:118px}
.page-profile .publication:nth-child(3){padding-bottom:142px}
.page-profile .company-band{padding-top:194px;padding-bottom:10px}
.page-profile .company-band .profile-prose:first-child{margin-bottom:359px}
.page-profile .subpage-cta{margin-top:196px;margin-bottom:85px}
}


@media(max-width:900px){.subpage-hero{height:610px}
.subpage-breadcrumb{top:110px;left:24px}
.subpage-hero-copy{left:24px;right:24px;top:270px}
.subpage-section{padding:75px 24px}
.subpage-cta{width:calc(100% - 48px);margin:90px 24px;padding:36px;align-items:flex-start;flex-direction:column}
.policy-wrap{grid-template-columns:1fr;gap:40px}
.policy-index{position:static;display:none}
.policy-group{grid-template-columns:1fr;gap:22px}
.choice-grid{grid-template-columns:1fr 1fr}
.process-row{grid-template-columns:90px 1fr}
.process-row>img,.process-plan{grid-column:2}
.service-card-grid{grid-template-columns:1fr 1fr}
.review-grid{grid-template-columns:1fr}
.selection-flow{grid-template-columns:1fr 1fr}
.profile-prose{grid-template-columns:1fr;gap:25px}
.theory-lead{grid-template-columns:100px 1fr;gap:30px}
.works-layout{grid-template-columns:1fr}
.works-categories{position:static;display:flex;gap:7px;flex-wrap:wrap}
.works-categories strong{flex:0 0 100%}
.works-categories button{width:auto;border:1px solid #444;border-radius:99px;padding:6px 12px}
.works-gallery{columns:auto}
.subpage-hero-copy--numbered{display:grid;grid-template-columns:95px minmax(0,1fr);gap:22px}
.subpage-hero-number{font-size:82px}
}

@media(max-width:560px){.subpage-hero{height:560px;background-position:47% center}
.subpage-hero-copy{top:245px}
.subpage-hero h1{font-size:38px}
.subpage-hero-copy>p:last-child{font-size:16px}
.subpage-section{padding-top:65px;padding-bottom:65px}
.subpage-section-title{display:block}
.subpage-section-title h2{font-size:42px;margin-bottom:22px}
.subpage-cta{padding:28px 22px;min-height:0}
.subpage-cta h2{font-size:25px}
.subpage-cta>a{min-width:100%;font-size:14px}
.policy-group-heading h2{font-size:34px}
.policy-card{padding:23px 20px}
.policy-card h3{font-size:20px}
.policy-card p,.policy-card li{font-size:16px}
.contact-form-head,.form-step{padding:28px 20px}
.contact-form-head h2{font-size:34px}
.choice-grid,.choice-tabs,.field-grid{grid-template-columns:1fr}
.field--full{grid-column:auto}
.form-confirm,.phone-cta{align-items:stretch;flex-direction:column}
.qa-heading{align-items:flex-start;flex-direction:column;gap:12px}
.qa-heading h2{font-size:34px}
.qa-item summary{font-size:16px}
.qa-answer{padding:20px;font-size:16px}
.process-row{grid-template-columns:65px 1fr;gap:20px}
.process-number{font-size:52px}
.process-copy h2{font-size:23px}
.process-copy p{font-size:16px}
.process-row img,.process-plan{grid-column:1/-1}
.process-plan{grid-template-columns:1fr}
.process-plan div+div{border-left:0;border-top:1px solid #3f3f3f}
.service-card-grid{grid-template-columns:1fr}
.service-card p{font-size:16px}
.featured-card,.review-card{grid-template-columns:1fr}
.featured-card img{height:230px}
.review-card img{height:230px;min-height:0}
.featured-card div,.review-card div{padding:22px}
.recruit-message{grid-template-columns:1fr}
.recruit-message h2,.jobs-title h2,.selection-title h2{font-size:40px}
.jobs-title,.selection-title{display:block}
.job-card{grid-template-columns:1fr}
.job-card-head{border-right:0;border-bottom:1px solid #414141}
.job-card dl div{grid-template-columns:1fr;gap:8px}
.selection-flow{grid-template-columns:1fr}
.profile-prose-label{font-size:34px}
.profile-prose-body h2{font-size:28px}
.publication{grid-template-columns:90px 1fr}
.history-table th,.company-table th{width:100px}
.theory-lead{grid-template-columns:1fr;gap:12px}
.theory-lead-number{font-size:60px}
.theory-lead h2{font-size:28px}
.theory-equation h2{font-size:42px}
.equation-row{grid-template-columns:1fr}
.equation-symbol{text-align:center}
.theory-link{grid-template-columns:52px 1fr}
.theory-link span{display:none}
.subpage-hero-copy--numbered{grid-template-columns:1fr;gap:10px;top:185px}
.subpage-hero-number{font-size:64px}
.works-gallery{columns:auto}
.subpage-hero-content .subpage-eyebrow{margin-bottom:12px}
.theory-article-page .subpage-hero h1{font-size:31px}
.read-next-heading{font-size:48px}
.theory-boxes{grid-template-columns:1fr 1fr}
.works-gallery{columns:2 130px}
}

@media(max-width:900px){
  .works-gallery{columns:auto}
}
@media(max-width:560px){
  .works-gallery{columns:auto}
  .theory-flow-boxes{grid-template-columns:1fr 1fr}
  .company-table{display:block;overflow-x:auto}
  .company-table th{min-width:100px}
}

/* 1920px master comp alignment (2026-08 audit) */
@media(min-width:901px){
  .subpage-main{background:#000 url('../../images/common/subpage-lines.webp') 4px -98px/1928px 1295px no-repeat}
  .subpage-hero{background:transparent}
  .subpage-breadcrumb{top:182px;left:100px;font-size:14px;gap:14px;color:#808080}
  .subpage-breadcrumb a{color:#f8f8f8}
  .subpage-hero-copy{top:336px;left:clamp(100px,18.75vw,360px);right:100px;width:auto;max-width:1200px}
  .subpage-hero-copy>.subpage-eyebrow,
  .subpage-hero-content>.subpage-eyebrow{margin-bottom:47px;font-size:16px;line-height:1;letter-spacing:.2em;color:#808080}
  .subpage-hero h1{margin-bottom:26px;font-size:60px;line-height:74px;letter-spacing:0;font-feature-settings:"palt" 1}
  .subpage-hero-copy>p:not(.subpage-eyebrow):not(.subpage-hero-date),
  .subpage-hero-content>p:last-child{max-width:none;font-size:18px;line-height:35px;color:#fff}
  .subpage-hero-date{margin-top:4px;font-size:18px!important;line-height:35px!important;color:#fff}
  .subpage-shell{width:min(var(--content-max,1200px),100%)}

  .subpage-cta .subpage-eyebrow{font-size:16px;letter-spacing:.2em}
  .subpage-cta h2{font-size:35px;line-height:50px;margin-bottom:22px}
  .subpage-cta>div>p:last-child{font-size:16px;line-height:30px;max-width:730px}

  .policy-wrap{grid-template-columns:258px 829px;gap:113px}
  .policy-index strong{font-size:16px;letter-spacing:.2em}
  .policy-index a{padding:9px 0 16px;font-size:16px;line-height:28.5px}
  .policy-card h3{font-size:25px}
  .policy-card p,.policy-card li{font-size:16px;line-height:30px}

  .page-information-security-policy .policy-group-heading h2{font-size:54px}
  .page-information-security-policy .policy-group-heading p{font-size:18px;line-height:35px;max-width:470px}

  .page-contact .contact-page>.subpage-section{margin-top:-142px}
  .page-contact .form-step-title b{font-size:38px}
  .page-contact .form-step-title h3{font-size:30px}
  .page-contact .form-step-title p,
  .page-contact .form-step>p{font-size:16px}
  .page-contact .choice-grid label,
  .page-contact .choice-tabs label{font-size:16px}
  .page-contact .form-checks label{font-size:16px}
  .page-contact .form-submit{font-size:16px}
  .page-contact .phone-cta{padding-left:49px;padding-right:49px}
  .page-contact .phone-cta h2{font-size:35px;line-height:50px}
  .page-contact .phone-cta p:last-child{max-width:760px;font-size:16px;line-height:30px}
  .page-contact .phone-cta a{font-size:20px}

  .page-service .process-row{grid-template-columns:145px 150px minmax(0,470px) 55px 380px;gap:0}
  .page-service .process-number{grid-column:1}
  .page-service .process-copy{grid-column:3}
  .page-service .process-row>img,
  .page-service .process-plan{grid-column:5}
  .page-service .process-copy small{margin-left:0;font-size:16px;letter-spacing:.2em}
  .page-service .process-copy h2{font-size:35px;line-height:50px}
  .page-service .process-copy p{font-size:16px;line-height:30px}
  .page-service .service-page>.subpage-section:has(.service-process){padding-top:103px}
  .page-service .process-row:nth-child(2){margin-bottom:-190px}
  .page-service .process-row:nth-child(3){padding-bottom:243px}
  .page-service .process-row>img,
  .page-service .process-plan{width:375px;margin-left:5px}
  .page-service .process-row>img{height:250px}
  .page-service .process-plan{gap:16px;border:0;background:transparent}
  .page-service .process-plan>div,
  .page-service .process-plan div+div{padding:35px;border:1px solid #3f3f3f;background:#1b1b1b}
  .page-service .process-plan h3{font-size:25px;line-height:36px}
  .page-service .process-plan p{font-size:16px;line-height:30px}
  .page-service .process-plan .process-plan-note{font-size:14px;line-height:26px}
  .page-service .process-plan-link{width:200px;height:40px;margin-left:auto;padding:0 16px;font-size:14px}

  .page-service .service-lineup{padding-top:118px}
  .page-service .service-lineup .subpage-section-title{display:block;margin-bottom:27px}
  .page-service .service-lineup .subpage-section-title .subpage-eyebrow{margin-bottom:31px}
  .page-service .service-lineup .subpage-section-title>p{margin-top:39px;font-size:18px;line-height:35px}
  .page-service .service-lineup .filter-pills{margin-bottom:47px}
  .page-service .service-lineup .filter-pills button{padding:10px 24px;font-size:16px;line-height:29px}
  .page-service .service-card-copy{padding:28px}
  .page-service .service-card{height:486px;overflow:hidden}
  .page-service .service-card-copy{height:282px;display:flex;flex-direction:column}
  .page-service .service-card h3{font-size:25px;line-height:36px;margin:10px 0 14px}
  .page-service .service-card p{font-size:15px;line-height:26px}
  .page-service .service-card-price{margin-top:auto;font-size:16px}
  .page-service .subpage-cta{margin-top:65px;margin-bottom:167px}

  .page-reviews .reviews-page>.subpage-section:has(.featured-list) .subpage-section-title{display:grid;grid-template-columns:332px 1fr;gap:50px;align-items:end}
  .page-reviews .reviews-page>.subpage-section:has(.featured-list) .subpage-section-title p{max-width:none;font-size:18px;line-height:35px}
  .page-reviews .featured-card div{padding:22px 28px 26px}
  .page-reviews .featured-card h3{font-size:35px;line-height:50px;margin-bottom:6px}
  .page-reviews .featured-card p:nth-of-type(1){margin-bottom:19px}
  .page-reviews .featured-card p:nth-of-type(2){margin-bottom:19px}
  .page-reviews .featured-card p{font-size:16px;line-height:30px}
  .page-reviews .reviews-page>.subpage-section:has(.featured-list){top:39px;margin-bottom:20px}
  .page-reviews .featured-list{gap:24.5px}
  .page-reviews .featured-card{min-height:399px}
  .page-reviews .featured-card img{height:100%}
  .page-reviews .review-card{grid-template-columns:31.6% 1fr}
  .page-reviews .review-card div{padding:28px}
  .page-reviews .review-card h3{font-size:25px;line-height:36px}
  .page-reviews .review-card p{font-size:16px;line-height:30px}
  .page-reviews .reviews-page>.subpage-section:has(.review-grid) .filter-pills{margin-bottom:62px}
  .page-reviews .review-grid{gap:25px}
  .page-reviews .review-card{min-height:382px}
  .page-reviews .subpage-cta{height:308px;min-height:308px;margin-top:95px;margin-bottom:117px}

  .page-qa .qa-jumps{margin-left:0}
  .page-qa .qa-jumps a{padding:0 21px;font-size:16px;line-height:30px}
  .page-qa .qa-heading{display:grid;grid-template-columns:384px 1fr;gap:50px;align-items:end}
  .page-qa .qa-heading p{font-size:18px;line-height:35px}
  .page-qa .qa-item summary{gap:39px;padding-left:25px;font-size:20px}
  .page-qa .qa-item summary{padding-top:17px;padding-bottom:18px;padding-right:36px}
  .page-qa .qa-item summary:before{width:30px;font-size:30px}
  .page-qa .qa-answer{padding:0 30px 35px 95px;font-size:16px;line-height:30px}
  .page-qa .qa-item{margin-bottom:11.5px}
  .page-qa .qa-page>.subpage-section{padding-top:47px}
  .page-qa .qa-section:nth-of-type(-n+7){margin-bottom:52.5px}
  .page-qa .qa-section:nth-of-type(8){margin-bottom:63px}
  .page-qa .subpage-cta{margin-bottom:166px}

  .page-recruit .recruit-message{grid-template-columns:494px minmax(0,1fr);gap:58px}
  .page-recruit .recruit-message>div:first-child{margin-top:9px}
  .page-recruit .recruit-message h2{margin-bottom:46px}
  .page-recruit .recruit-message img{height:380px}
  .page-recruit .recruit-message>div:last-child>p:first-child{margin-bottom:47px}
  .page-recruit .recruit-message>div:last-child>p:not(:first-child){margin-bottom:20px}
  .page-recruit .recruit-message>div:last-child>p:first-child{position:relative;left:-105px;width:758px;font-size:18px;line-height:35px}
  .page-recruit .recruit-message h3{font-size:25px;line-height:42px}
  .page-recruit .recruit-message>div:last-child>p:not(:first-child){font-size:17px;line-height:34px}

  .page-profile .profile-prose-label{font-size:35px;line-height:50px}
  .page-profile .profile-prose-label small{font-size:16px;line-height:1;letter-spacing:.2em}
  .page-profile .profile-prose-label span{display:block;font-size:35px;line-height:50px}
  .page-profile .profile-prose-body>h3:first-child{font-size:25px;line-height:41px}

  .page-theory .theory-page .theory-lead{grid-template-columns:180px minmax(0,1fr);gap:115px}
  .page-theory .theory-page .theory-lead-number{position:relative;top:-13px}
  .page-theory .theory-page .theory-lead+.theory-lead:before{top:-52px;left:295px}
  .page-theory .theory-page .theory-lead>div>.subpage-eyebrow{margin-left:0;margin-bottom:12px;font-size:16px;letter-spacing:.2em}
  .page-theory .theory-page .theory-lead h2{font-size:35px;line-height:50px}
  .page-theory .theory-page .theory-lead h2{max-width:560px}
  .page-theory .theory-page .theory-lead p{font-size:16px;line-height:30px;margin-bottom:20px}

  .page-theory .theory-article-page .subpage-hero-copy--numbered{top:336px;grid-template-columns:180px minmax(0,1fr);gap:115px}
  .page-theory .theory-article-page .subpage-hero-number{font-size:130px}
  .page-theory .theory-article-page .subpage-hero-content>.subpage-eyebrow{margin-bottom:38px;font-size:16px}
  .page-theory .theory-article-page .theory-article-section>small{display:flex;margin-left:0;font-size:16px;letter-spacing:.2em}
  .page-theory .theory-article-page .theory-article-section p{line-height:30px;margin-bottom:20px}
  .page-theory .theory-article-page .theory-flow-boxes .theory-box{height:160px}
.page-theory .theory-article-page .theory-box p{line-height:32px;margin-bottom:0}
  .page-theory .theory-article-page .theory-article-emphasis{font-size:25px!important}

  .page-works .works-categories strong{font-size:16px;letter-spacing:.2em}
  .page-works .works-categories button{padding:12.5px 0;font-size:16px;line-height:29px}
  .page-works .works-categories button:first-of-type{padding-left:23px;padding-top:30px}
}

@media(min-width:901px) and (max-width:1399px){
  .page-service .service-card{height:auto;min-height:486px}
  .page-service .service-card-copy{height:auto;min-height:282px}
  .page-service .process-row{
    grid-template-columns:clamp(90px,9vw,120px) minmax(0,1fr) clamp(280px,28vw,360px);
    column-gap:clamp(24px,3vw,40px);
  }
  .page-service .process-number{grid-column:1}
  .page-service .process-copy{grid-column:2;min-width:0}
  .page-service .process-row>img,
  .page-service .process-plan{grid-column:3;width:100%;margin-left:0}
  .page-service .process-copy small{margin-left:0}
  .page-service .process-row:nth-child(2){margin-bottom:0}
  .page-service .process-row:nth-child(3){padding-bottom:120px}
  .page-service .process-plan{gap:12px}
  .page-service .process-plan>div,
  .page-service .process-plan div+div{padding:28px}
}

/* Service process: keep copy and media aligned to the 1920px master comp. */
@media(min-width:901px){
  .page-service .process-plan h3{margin-bottom:11px}
  .page-service .process-plan>div:first-child{padding:30px 30px 18px}
  .page-service .process-plan>div:first-child p:last-child{margin-bottom:0}
  .page-service .process-plan>div:nth-child(2){padding:30px 30px 31px}
}

@media(min-width:1400px){
  .page-service .service-page>.subpage-section:has(.service-process){padding-top:146px;padding-bottom:41px}
  .page-service .process-row:first-child{padding-bottom:118px;margin-bottom:34px}
  .page-service .process-row:nth-child(2){padding-bottom:50px;margin-bottom:29px}
  .page-service .process-row:nth-child(3){padding-bottom:50px;margin-bottom:30px}
}

/* Exact final-section and footer rhythm from the 1920px master comp. */
@media(min-width:901px){
  .page-information-security-policy .subpage-cta,
  .page-privacy-policy .subpage-cta,
  .page-profile .subpage-cta,
  .page-recruit .subpage-cta,
  .page-site-policy .subpage-cta,
  .page-theory .subpage-cta,
  .page-works .subpage-cta{
    height:308px;
    min-height:308px;
    margin-bottom:177px;
  }

  .page-information-security-policy .subpage-cta{margin-top:-10px;margin-bottom:172px}
  .page-privacy-policy .subpage-cta{margin-top:-33px;margin-bottom:172px}
  .page-profile .subpage-cta{margin-top:168px;margin-bottom:173px}
  .page-recruit .subpage-cta{margin-top:14px;margin-bottom:158px}
  .page-site-policy .subpage-cta{margin-top:-73px;margin-bottom:152px}
  .page-theory .theory-page .subpage-cta{margin-top:-25px}
  .page-works .subpage-cta{margin-top:-17px;margin-bottom:168px}
  .page-works .subpage-hero-copy>.subpage-eyebrow{margin-bottom:33px}
  .page-works .subpage-hero h1{margin-bottom:29px}

  .page-contact .phone-cta{
    height:308px;
    min-height:308px;
    margin-top:48px;
  }
  .page-contact .contact-page>.subpage-section{padding-bottom:158px}

  .page-theory:has(.theory-article-page) .subpage-cta{
    height:308px;
    min-height:308px;
    margin-top:138px;
    margin-bottom:65px;
  }
}

/* Smartphone comps: 375px master */
@media(max-width:560px){
  .subpage-main{font-size:12px;line-height:1.8}
  .subpage-hero{height:350px;background-position:47% center;background-size:auto 430px}
  .subpage-breadcrumb{display:none}
  .subpage-hero-copy{left:20px;right:20px;top:115px;max-width:none}
  .subpage-eyebrow{margin-bottom:15px;font-size:9px;line-height:1.3;letter-spacing:.14em}
  .subpage-hero h1{margin-bottom:13px;font-size:28px;line-height:1.35;letter-spacing:-.03em}
  .subpage-hero-copy>p:last-child,
  .subpage-hero-content>p:last-child{max-width:345px;font-size:14px;line-height:1.57;color:#c9c9c9}
  .subpage-hero-copy br{display:none}
  .subpage-section{padding:49px 15px}
  .subpage-shell{width:100%}
  .subpage-section-title{display:block;margin-bottom:28px}
  .subpage-section-title h2{margin-bottom:15px;font-size:32px;line-height:1}
  .subpage-section-title p{font-size:11px;line-height:1.75}

  .filter-pills,
  .qa-jumps,
  .works-categories{width:calc(100% + 15px);margin-right:-15px;padding-right:15px;display:flex;flex-wrap:nowrap;gap:7px;overflow-x:auto;scrollbar-width:none}
  .filter-pills::-webkit-scrollbar,
  .qa-jumps::-webkit-scrollbar,
  .works-categories::-webkit-scrollbar{display:none}
  .filter-pills button,
  .qa-jumps a,
  .works-categories button{flex:none;white-space:nowrap;padding:6px 13px;font-size:9px;line-height:1.4}

  .subpage-cta{width:100%;min-height:350px;margin:-53px 0 0;padding:38px 44px 44px;display:flex;align-items:flex-start;justify-content:center;flex-direction:column;gap:27px;border-width:1px 0;background:linear-gradient(150deg,#1b1b1b,#050505)}
  .subpage-cta .subpage-eyebrow{margin-bottom:15px}
  .subpage-cta h2{margin-bottom:11px;font-size:20px;line-height:1.5}
  .subpage-cta>div>p:last-child{font-size:14px;line-height:1.57}
  .subpage-cta>a{width:100%;min-width:0;padding:13px 15px;font-size:14px}

  /* Policy pages */
  .policy-wrap{display:block}
  .policy-index{display:flex;position:static;width:calc(100% + 15px);margin:0 -15px 35px 0;padding-right:15px;gap:7px;overflow-x:auto;scrollbar-width:none}
  .policy-index strong{display:none}
  .policy-index a{flex:none;padding:6px 13px;border:1px solid #444;border-radius:999px;background:#202020;font-size:9px;white-space:nowrap}
  .policy-group{margin-bottom:42px}
  .policy-group-heading{display:block;margin-bottom:20px}
  .policy-group-heading h2{margin:0 0 15px;font-size:20px;line-height:1.2}
  .policy-group-heading h2 br{display:none}
  .policy-group-heading p{font-size:14px;line-height:1.57}
  .policy-cards{gap:14.5px}
  .policy-card{padding:12px 10px}
  .policy-page>.subpage-section{padding-bottom:0}
  .policy-card h3{margin-bottom:7px;font-size:12px;line-height:1.5}
  .policy-card p,.policy-card li{font-size:10.2px;line-height:18px}
  .policy-card ul{margin-top:7px;padding-left:1.25em}
  .policy-contact{margin-top:12px;padding:13px}
  .page-information-security-policy .subpage-section,
  .page-privacy-policy .subpage-section,
  .page-site-policy .subpage-section{padding-top:15px;padding-bottom:38px}
  .page-information-security-policy .subpage-hero,
  .page-site-policy .subpage-hero{height:316px}
  .page-site-policy .subpage-hero::after{left:0;right:0;bottom:22px}
  .page-site-policy .subpage-hero .subpage-eyebrow{color:#808080}
  .page-information-security-policy .subpage-hero::after{left:0;right:0}
  .page-privacy-policy .subpage-section{padding-top:39px}
  .page-privacy-policy .subpage-hero::after{left:0;right:0}
  .page-privacy-policy .subpage-hero h1 br.privacy-title-break{display:block}
  .page-privacy-policy .subpage-hero-date{position:relative;top:-10px}
  .page-privacy-policy .policy-index{gap:6px}
  .page-privacy-policy .policy-index a{display:flex;align-items:center;justify-content:center;width:142px;min-width:142px;height:32px;padding:0 13px}
  .page-site-policy .policy-index{gap:6px}
  .page-site-policy .policy-index a{display:flex;align-items:center;justify-content:center;width:142px;min-width:142px;height:32px;padding:0 13px}
  .page-information-security-policy .policy-card p,
  .page-information-security-policy .policy-card li{font-size:10.5px;line-height:1.72}
  .page-information-security-policy .policy-index a{display:flex;align-items:center;justify-content:center;width:142px;min-width:142px;height:32px;padding:0 13px}
  .page-information-security-policy .policy-group-heading p{max-width:none;font-size:11px;line-height:1.75;white-space:nowrap}
  .page-privacy-policy .policy-card{padding-top:13px;padding-bottom:13px}

  /* Contact */
  .contact-form-head{padding:23px 18px}
  .contact-form-head h2{margin-bottom:9px;font-size:27px}
  .contact-form-head p{font-size:10px;line-height:1.7}
  .form-step{padding:24px 18px}
  .form-step-title{gap:14px;margin-bottom:18px}
  .form-step-title b{font-size:23px}
  .form-step-title h3{font-size:16px}
  .choice-grid{grid-template-columns:1fr 1fr;gap:7px}
  .choice-tabs{grid-template-columns:1fr 1fr;gap:7px}
  .choice-grid label,.choice-tabs label{min-height:42px;padding:5px;font-size:10px}
  .field-grid{grid-template-columns:1fr;gap:15px}
  .field--full{grid-column:auto}
  .field label,.field>span{font-size:10px;margin-bottom:5px}
  .field input,.field select,.field textarea{padding:11px 12px;font-size:11px}
  .field textarea{min-height:145px}
  .form-checks label{font-size:9px;line-height:1.6}
  .form-submit{width:100%;min-width:0;padding:13px 16px;font-size:10px}
  .phone-cta{min-height:250px;margin-top:50px;padding:38px 26px;align-items:stretch;justify-content:center;flex-direction:column;gap:22px}
  .phone-cta h2{font-size:21px}
  .phone-cta p{font-size:10px}
  .phone-cta a{text-align:center;padding:14px 20px;font-size:11px}

  /* Q&A */
  .qa-jumps{position:relative;top:-19px;margin-bottom:34px}
  .qa-section{margin-bottom:0}
  .qa-section:nth-of-type(1){margin-bottom:43px}
  .qa-section:nth-of-type(2){margin-bottom:22px}
  .qa-section:nth-of-type(7){margin-bottom:13px}
  .qa-heading{display:block;padding-bottom:12px;margin-bottom:8px}
  .qa-heading h2{margin-bottom:9px;font-size:20px;line-height:1.1}
  .qa-heading p{font-size:14px;line-height:1.57}
  .qa-item{margin-bottom:6px}
  .qa-item summary{gap:11px;min-height:56px;padding:13px 12px;font-size:14px;line-height:1.57}
  .qa-item summary:before{font-size:17px}
  .qa-item summary:after{width:19px;height:19px;flex:none;font-size:12px}
  .qa-answer{padding:15px 18px 17px 53px;font-size:14px;line-height:1.57}

  .page-qa .qa-page>.subpage-section{padding-top:0;padding-bottom:0}
  .page-qa .subpage-cta{margin-top:-13px}
  .page-qa .subpage-cta{margin-bottom:0}

  /* Service */
  .page-service .subpage-hero-copy{top:118px}
  .page-service .subpage-hero-copy br{display:block}
  .page-service .service-page>.subpage-section:has(.service-process){padding-top:35px}
  .service-process{gap:0}
  .process-row{display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:10px;row-gap:0;align-items:start;padding:0 0 24px;margin-bottom:0;border-bottom:0}
  .process-row:nth-child(1){padding-bottom:28px}
  .process-row:nth-child(2){padding-bottom:16px}
  .process-row:nth-child(3){padding-bottom:33px}
  .process-row:nth-child(4){padding-bottom:51px}
  .process-row>img{grid-column:1/-1;grid-row:1;order:-1;width:calc(100% + 30px);height:150px;margin:0 -15px;object-fit:cover}
  .process-row:nth-child(1)>img,
  .process-row:nth-child(2)>img{object-position:50% 42%}
  .process-row:nth-child(4)>img{object-position:54% 50%}
  .process-number{grid-column:1;grid-row:2/span 2;margin:30px 0 0;font-size:31px;line-height:1;transform:none}
  .process-copy{display:contents}
  .process-copy>small{grid-column:2;grid-row:2;margin-top:21px;gap:8px;font-size:9px}
  .process-copy>h2{grid-column:2;grid-row:3;margin:4px 0 0;font-size:20px;line-height:1.2}
  .process-copy>p{grid-column:1/-1;grid-row:4;margin:15px 0 0;font-size:14px;line-height:1.57}
  .process-row:nth-child(2) .process-number{margin-top:43px}
  .process-row:nth-child(2) .process-copy>h2{margin-top:8px}
  .process-row:nth-child(2) .process-copy>p{margin-top:8px}
  .process-row:nth-child(3) .process-number{margin-top:23px}
  .process-row:nth-child(4) .process-number{margin-top:43px}
  .process-row:nth-child(4) .process-copy>small{margin-top:26px}
  .process-row:nth-child(4) .process-copy>p{margin-top:18px}
  .process-copy>.media-tags{grid-column:1/-1;grid-row:5;margin-top:15px}
  .process-copy>.media-tags span{padding:4px 12px}
  .process-plan{grid-column:1/-1;grid-row:5;margin-top:10px;grid-template-columns:1fr;gap:14px;background:transparent;border:0}
  .process-plan div{box-sizing:border-box;padding:12px 20px;border:1px solid #3f3f3f;background:#1b1b1b}
  .process-plan>div:first-child{height:116px}
  .process-plan>div:nth-child(2){height:227px}
  .process-plan div+div{border:1px solid #3f3f3f}
  .process-plan h3{margin-bottom:5px;font-size:16px}
  .process-plan p{font-size:10px;line-height:1.8}
  .process-plan .process-plan-note{font-size:10px;line-height:1.8}
  .process-plan-link{width:133px;height:33px;margin-left:auto;margin-right:-6px;padding:0 15px}
  .service-lineup{margin-top:-40px;padding-top:24px;border-top:1px solid #383838}
  .page-service .service-lineup .subpage-section-title{margin-bottom:23px}
  .page-service .service-lineup .subpage-section-title h2{font-size:25px;line-height:1.08}
  .page-service .service-lineup .subpage-section-title>p{font-size:13px;line-height:1.7;letter-spacing:-.05em}
  .page-service .service-lineup .subpage-section-title>p br{display:none}
  .page-service .service-lineup .filter-pills{gap:6px;margin-bottom:30px}
  .page-service .service-lineup .filter-pills button{width:142px;height:32px;padding:0;font-size:12px}
  .service-card-grid{grid-template-columns:1fr;gap:12px}
  .service-card{height:auto;overflow:hidden}
  .service-card img{height:130px}
  .service-card-copy{box-sizing:border-box;height:137px;min-height:137px;padding:10px 16px;display:grid;grid-template-columns:18px minmax(0,1fr) auto;grid-template-rows:auto 1fr auto;column-gap:9px;overflow:hidden}
  .service-card small{display:contents;font-size:8px}
  .service-card-number{grid-column:1;grid-row:1;color:#fff;letter-spacing:0}
  .service-card-kind{grid-column:3;grid-row:1;color:#8f8f8f;letter-spacing:.18em}
  .service-card h3{grid-column:2;grid-row:1;margin:0;font-size:14px;line-height:1.3}
  .service-card p{grid-column:1/-1;grid-row:2;min-height:0;margin:7px 0 4px;font-size:10px;line-height:1.8}
  .service-card-price{grid-column:1/-1;grid-row:3;margin-top:0;padding-top:7px;font-size:10px}
  .service-price-note{margin-bottom:40px}

  /* Reviews */
  .page-reviews .reviews-page>.subpage-section{padding-top:47px;padding-bottom:47px}
  .page-reviews .reviews-page>.subpage-section:has(.featured-list){position:relative;padding-top:0;top:-52px;margin-bottom:-52px}
  .page-reviews .reviews-page>.subpage-section:has(.featured-list) .subpage-section-title h2{font-size:24px;line-height:1}
  .page-reviews .reviews-page>.subpage-section:has(.featured-list) .subpage-section-title h2 br{display:none}
  .featured-list{gap:9px}
  .featured-card,.review-card{grid-template-columns:1fr;overflow:hidden}
  .featured-list{width:calc(100% + 30px);margin-left:-15px}
  .featured-card{height:378px;border-left:0;border-right:0;background:#050505}
  .featured-card img{width:100%;height:150px;min-height:0;object-fit:cover}
  .featured-card div{height:228px;padding:14px 15px;overflow:hidden}
  .featured-card h3{margin-bottom:10px;font-size:14px;line-height:1.43}
  .featured-card p{font-size:10px;line-height:1.8}
  .tag-list{gap:5px}
  .tag-list span{padding:3px 7px;font-size:8px}
  .page-reviews .filter-pills{margin-bottom:25px}
  .review-grid{grid-template-columns:1fr;gap:8px}
  .review-card{height:278px}
  .review-card img{width:100%;height:120px;min-height:0;object-fit:cover}
  .review-card div{height:158px;padding:11px 13px;overflow:hidden}
  .review-card h3{margin-bottom:8px;font-size:14px;line-height:1.5}
  .review-card p{font-size:10px;line-height:1.8}
  .page-reviews .subpage-cta{height:327px;min-height:327px;margin-top:19px;margin-bottom:0;padding-top:45px;padding-bottom:45px}

  /* Recruit */
  .recruit-message{grid-template-columns:1fr;gap:20px}
  .recruit-message h2,.jobs-title h2,.selection-title h2{margin-bottom:20px;font-size:31px}
  .recruit-message img{height:210px}
  .recruit-message h3{font-size:18px}
  .recruit-message p{font-size:14px;line-height:1.57}
  .jobs-title,.selection-title{display:block;margin-bottom:25px}
  .jobs-title p,.selection-title p{font-size:14px;line-height:1.57}
  .job-card{grid-template-columns:1fr;margin-bottom:9px}
  .job-card-head{padding:18px;border-right:0;border-bottom:1px solid #414141}
  .job-card-head span{font-size:8px}
  .job-card-head h3{margin-top:10px;font-size:18px}
  .job-card dl{padding:9px 18px}
  .job-card dl div{grid-template-columns:82px 1fr;gap:12px;padding:10px 0}
  .job-card dt{font-size:9px}
  .job-card dd{font-size:12px;line-height:1.65}
  .selection-flow{grid-template-columns:1fr 1fr;gap:7px}
  .selection-step{min-height:120px;padding:13px}
  .selection-step b{font-size:8px}
  .selection-step h3{margin:8px 0;font-size:13px}
  .selection-step p{font-size:9px;line-height:1.6}
  .page-recruit .recruit-page>.subpage-section:has(.selection-flow){padding-bottom:32px}
  .page-recruit .subpage-cta{margin-top:0}

  /* Profile */
  .page-profile .profile-page>.subpage-section:not(.company-band){padding-top:31px;padding-bottom:10px}
  .profile-prose{grid-template-columns:1fr;gap:32px;margin-bottom:65px}
  .profile-prose-label{font-size:20px;line-height:1.5}
  .profile-prose-label small{margin-bottom:18px;font-size:10px;line-height:1}
  .profile-prose-label br{display:none}
  .page-profile .subpage-hero-copy br{display:block}
  .profile-prose-body h2{font-size:16px;line-height:1.5}
  .profile-prose-body h3{margin-top:46px;margin-bottom:13px;font-size:20px;line-height:1.3}
  .page-profile .profile-prose-body>h3:first-child{margin-top:0}
  .profile-prose-body p{margin-bottom:0;font-size:13px;line-height:22px}
  .profile-representative~p{margin-bottom:0}
  .profile-representative{width:calc(100% + 30px);height:152px;margin:19px -15px;object-fit:cover}
  .publication-list{gap:29px}
  .publication{grid-template-columns:100px 1fr;gap:15px;min-height:145px;padding-bottom:0!important}
  .publication img{height:145px}
  .publication h3{font-size:14px;line-height:1.43}
  .publication p{font-size:8px;line-height:1.625}
  .publication .publication-tagline{font-size:10px;line-height:1.4}
  .page-profile .profile-page>.subpage-section:not(.company-band) .profile-prose:nth-of-type(3){margin-bottom:97px}
  .history-table th,.history-table td,.company-table th,.company-table td{padding:8px 5px;font-size:10px;line-height:1.5}
  .history-table th,.company-table th{width:63px;min-width:63px}
  .company-band{padding-top:55px!important;padding-bottom:20px!important}
  .profile-access{margin-bottom:0}
  .profile-access p{font-size:10px;line-height:1.7}
  .profile-access li{font-size:8px;line-height:1.875}
  .profile-map{height:195px;aspect-ratio:auto}
  .page-profile .subpage-cta{height:320px;min-height:320px;margin-top:23px;padding:36px 40px}

  .page-information-security-policy .subpage-cta{margin-top:-86px;margin-bottom:22px}
  .page-privacy-policy .subpage-cta{margin-top:-36px}

  /* Theory */
  .theory-lead-list{gap:45px}
  .theory-lead{grid-template-columns:1fr;gap:8px}
  .theory-lead+.theory-lead:before{top:-23px;left:0}
  .theory-lead-number{font-size:49px}
  .theory-lead h2{font-size:21px;line-height:1.55}
  .theory-lead p{font-size:10.5px;line-height:1.8}
  .theory-equation h2{font-size:31px}
  .equation-row{grid-template-columns:1fr;gap:9px}
  .equation-card{padding:17px}
  .equation-card h3{font-size:14px}
  .equation-card p{font-size:9.5px}
  .equation-symbol{font-size:24px;text-align:center}
  .theory-link{grid-template-columns:43px 1fr;padding:13px 14px}
  .theory-link>b{font-size:19px}
  .theory-link h3{font-size:12px}
  .theory-link small{font-size:8px}
  .theory-link span{display:none}
  .theory-coming-soon{min-height:380px}
  .theory-coming-soon-card{padding:34px 24px}
  .theory-coming-soon-card h2{font-size:28px}
  .theory-coming-soon-card>a{width:100%;max-width:230px}
  .subpage-hero-copy--numbered{top:115px;display:grid;grid-template-columns:50px 1fr;gap:14px}
  .subpage-hero-number{font-size:48px}
  .theory-article{padding-top:50px;padding-bottom:50px}
  .theory-article-section{margin-bottom:43px}
  .theory-article-section h2{font-size:22px}
  .theory-article-section p{font-size:10.5px;line-height:1.8}
  .theory-boxes{grid-template-columns:1fr 1fr;gap:7px}
  .theory-box{padding:13px}
  .theory-box h3{font-size:12px}
  .theory-box p{font-size:9px}

  /* Works */
  .works-layout{display:block}
  .works-categories{position:static;margin-bottom:28px;align-items:center}
  .works-categories strong{flex:none;font-size:9px}
  .works-gallery{columns:auto}
  .works-gallery .works-item{position:absolute}
  .works-gallery .works-item[aria-hidden="true"]{display:none!important}
  .works-archive-title{margin-bottom:25px;font-size:31px}
}

@media(min-width:901px){
  .page-contact .contact-flow-page>.contact-flow-section{margin-top:-101px;padding-top:0;padding-bottom:180px}
}

@media(max-width:900px){
  .contact-confirm-list{padding:0 24px}
  .contact-confirm-list>div{grid-template-columns:190px minmax(0,1fr);gap:24px}
  .contact-flow-actions{padding:30px 24px}
  .contact-thanks-card{padding:70px 35px}
}

@media(max-width:560px){
  .form-error-summary{margin:18px 18px 0;padding:14px 15px;font-size:10px}
  .form-error-summary strong{font-size:12px}
  .page-contact .contact-flow-page>.contact-flow-section{margin-top:-52px;padding-top:0;padding-bottom:70px}
  .contact-confirm-list{padding:0 18px}
  .contact-confirm-list>div{display:block;padding:17px 0}
  .contact-confirm-list dt{margin-bottom:6px;font-size:10px}
  .contact-confirm-list dd{font-size:12px;line-height:1.75}
  .contact-flow-actions{display:flex;align-items:stretch;flex-direction:column-reverse;gap:10px;padding:22px 18px}
  .contact-flow-actions form{width:100%}
  .contact-back-button{width:100%;min-width:0;padding:12px 14px;font-size:10px}
  .contact-thanks-card{padding:50px 20px}
  .contact-thanks-card h2{margin-bottom:22px;font-size:26px}
  .contact-thanks-card>p:not(.subpage-eyebrow){font-size:11px;line-height:1.8}
  .contact-thanks-note{margin-top:22px}
  .contact-thanks-card br:not(.mobile-only){display:none}
  .contact-home-button{width:100%;margin-top:30px}
  .mobile-only{display:block}
}


/* Figma PC master (1920px): final colour, publication and page-rhythm alignment. */
@media(min-width:901px){
  .page-contact .contact-form{background:rgba(31,31,31,.72)}
  .page-qa .qa-item,
  .page-service .service-card,
  .page-reviews .featured-card,
  .page-reviews .review-card,
  .page-recruit .job-card,
  .page-privacy-policy .policy-card,
  .page-site-policy .policy-card,
  .page-information-security-policy .policy-card{background:rgba(31,31,31,.72)}
  .page-qa .qa-heading{margin-bottom:44px}
  .page-qa .qa-item{position:relative}
  .page-qa .qa-item::before{content:"";position:absolute;top:0;bottom:0;left:77px;border-left:1px solid #4d4d4d;pointer-events:none}
  .page-qa .qa-item summary{gap:0;padding-left:0}
  .page-qa .qa-item summary::before{width:77px;margin-right:26px;align-self:stretch;display:grid;place-items:center;flex:none}
  .page-reviews .featured-card img,
  .page-reviews .review-card img{filter:brightness(.38)}
  .page-reviews .review-card:nth-child(1) img{object-position:50% center}
  .page-reviews .review-card:nth-child(2) img{object-position:50% center}
  .page-reviews .review-card:nth-child(3) img{object-position:35% center}
  .page-reviews .review-card:nth-child(4) img{object-position:73% center}
  .page-reviews .review-card:nth-child(5) img{object-position:66% center}
  .page-reviews .review-card:nth-child(6) img{object-position:64% center}
  .page-reviews .review-card:nth-child(7) img{object-position:27% center}
  .page-reviews .review-card:nth-child(8) img{object-position:50% center}
  .page-reviews .review-card:nth-child(9) img{object-position:30% center}
  .page-reviews .review-card:nth-child(10) img{object-position:50% center}
  .page-reviews .review-card:nth-child(11) img{object-position:50% center}
  .page-reviews .review-card:nth-child(12) img{object-position:50% center}

  .page-profile .profile-page>.subpage-section:not(.company-band) .profile-prose:nth-of-type(3){position:relative;top:-34px}
  .page-profile .publication{position:relative;left:-6px;grid-template-columns:228px minmax(0,1fr);gap:27px;padding-bottom:29px}
  .page-profile .publication img{width:auto;height:auto;max-width:none;object-fit:contain;background:transparent}
  .page-profile .publication:nth-child(1) img{width:207.6px}
  .page-profile .publication:nth-child(2){padding-bottom:0}
  .page-profile .publication:nth-child(2) img{width:228px}
  .page-profile .publication:nth-child(3){padding-bottom:54px}
  .page-profile .publication:nth-child(3) img{width:190.8px}
  .page-profile .publication:nth-child(4){padding-bottom:11px}
  .page-profile .publication:nth-child(4) img{width:210px}

  .page-contact .contact-page{padding-bottom:55px}
  .page-information-security-policy .policy-page{padding-bottom:86px}
  .page-privacy-policy .policy-page{padding-bottom:78px}
  .page-profile .profile-page{padding-bottom:112px}
  .page-qa .qa-page{margin-bottom:-3px}
  .page-recruit .recruit-page{padding-bottom:120px}
  .page-reviews .reviews-page{padding-bottom:170px}
  .page-service .service-page{padding-bottom:83px}
  .page-site-policy .policy-page{padding-bottom:123px}
  .page-theory .theory-page{padding-bottom:82px}
  .page-theory .theory-article-page{padding-bottom:106px}
  .page-works .works-page{padding-bottom:56px}
}

/* Profile smartphone comp: editorial line breaks and history scale. */
@media(max-width:560px){
  .page-profile .profile-prose:nth-of-type(1) .profile-prose-body h2{margin-top:46px}
  .page-profile .profile-prose-body h3{font-size:16px;line-height:1.5}
  .page-profile .profile-prose-label{font-weight:700}
  .page-profile .profile-prose-label small{color:#808080;font-weight:400}
  .page-profile .profile-prose-label span{font-weight:700}
  .page-profile .company-table th{width:79px;min-width:79px;white-space:nowrap}
  .page-profile .profile-access ul{padding-left:0;list-style-position:inside;text-align:left}
  .page-profile .publication{grid-template-columns:100px minmax(0,1fr);gap:28px}
  .page-profile .history-table th{width:45px;min-width:45px;padding-left:0;font-size:10px;line-height:1.5;font-weight:400;color:#666;vertical-align:top}
}

/* Q&A smartphone comp: navigation, question dividers and section rhythm. */
@media(max-width:560px){
  .page-qa .subpage-hero::after{left:15px;right:15px;bottom:55px}
  .page-qa .qa-jumps{gap:6px}
  .page-qa .qa-jumps a{width:142px;min-width:142px;height:32px;padding:0 13px;justify-content:center}
  .page-qa .qa-jumps a span{display:none}
  .page-qa .qa-section,
  .page-qa .qa-section:nth-of-type(1),
  .page-qa .qa-section:nth-of-type(2),
  .page-qa .qa-section:nth-of-type(7){margin-bottom:43px}
  .page-qa .qa-item{position:relative}
  .page-qa .qa-item::before{content:none}
  .page-qa .qa-item summary{gap:0;padding-left:0;background-image:linear-gradient(#4d4d4d,#4d4d4d);background-position:36px 0;background-size:1px 100%;background-repeat:no-repeat}
  .page-qa .qa-item summary::before{width:37px;margin-right:16px;align-self:stretch;display:grid;place-items:center;flex:none}
  .page-qa .subpage-cta{margin-top:123px}
}

/* Reviews smartphone comp: hero label, featured panels and tag spacing. */
@media(max-width:560px){
  .page-reviews .subpage-hero .subpage-eyebrow{color:#808080}
  .page-reviews .featured-card{background:transparent;border:0}
  .page-reviews .review-card img{height:102px}
  .page-reviews .review-card div{height:176px}
  .page-reviews .review-card:nth-child(1) img{object-position:center 31%}
  .page-reviews .review-card:nth-child(2) img{object-position:center 36%}
  .page-reviews .review-card:nth-child(3) img{object-position:center 50%}
  .page-reviews .review-card:nth-child(4) img{object-position:center 50%}
  .page-reviews .review-card:nth-child(5) img{object-position:center 63%}
  .page-reviews .review-card:nth-child(6) img{object-position:center 22%}
  .page-reviews .review-card:nth-child(7) img{object-position:center 50%}
  .page-reviews .review-card:nth-child(8) img{object-position:center 50%}
  .page-reviews .review-card:nth-child(9) img{object-position:center 50%}
  .page-reviews .review-card:nth-child(10) img{object-position:center 50%}
  .page-reviews .review-card:nth-child(11) img{object-position:center 50%}
  .page-reviews .review-card:nth-child(12) img{object-position:center 50%}
}

/* Notebook layout: fluid replacements for desktop-master fixed columns.
   Kept above 900px so the smartphone/tablet comp remains unchanged. */
@media(min-width:901px) and (max-width:1599px){
  .policy-wrap{
    grid-template-columns:clamp(190px,19vw,240px) minmax(0,1fr);
    gap:clamp(40px,5vw,80px);
  }

  .page-service .service-card{height:auto;min-height:486px}
  .page-service .service-card-copy{height:auto;min-height:282px}
  .page-service .process-row{
    grid-template-columns:clamp(90px,9vw,120px) minmax(0,1fr) clamp(280px,28vw,360px);
    column-gap:clamp(24px,3vw,40px);
  }
  .page-service .process-number{grid-column:1}
  .page-service .process-copy{grid-column:2;min-width:0}
  .page-service .process-row>img,
  .page-service .process-plan{grid-column:3;width:100%;margin-left:0}
  .page-service .process-copy small{margin-left:0}
  .page-service .process-row:nth-child(2){margin-bottom:0}
  .page-service .process-row:nth-child(3){padding-bottom:120px}
  .page-service .process-plan{gap:12px}
  .page-service .process-plan>div,
  .page-service .process-plan div+div{padding:28px}

  .page-recruit .recruit-message{
    grid-template-columns:minmax(320px,420px) minmax(0,1fr);
    gap:48px;
  }
  .page-recruit .recruit-message>div:last-child>p:first-child{
    left:-64px;
    width:calc(100% + 64px);
  }
}

@media(min-width:901px) and (max-width:1200px){
  .page-qa .qa-jumps{grid-template-columns:repeat(4,minmax(0,1fr))}
  .page-qa .qa-jumps a{width:auto;min-width:0}
}

/* Keep mobile consultation panels below the content instead of overlapping it. */
@media(max-width:560px){
  .page-information-security-policy .policy-page>.subpage-section:has(+ .subpage-cta),
  .page-works .works-page>.subpage-section:has(+ .subpage-cta),
  .page-theory .theory-article-page>.subpage-section:has(+ .subpage-cta){padding-bottom:32px}
  .page-information-security-policy .policy-content>.policy-group:last-child{margin-bottom:0}
  .page-information-security-policy .subpage-cta,
  .page-works .subpage-cta,
  .page-theory .theory-article-page>.subpage-cta{margin-top:0}
  .page-profile .subpage-cta,
  .page-reviews .subpage-cta{height:auto}
}

/* Align desktop introductions and existing dividers with each page's content shell. */
@media(min-width:901px){
  .subpage-main{
    --hero-content-max:var(--content-max,1200px);
    --hero-content-inset:max(var(--pad),calc((100% - var(--hero-content-max))/2));
  }
  .works-page{--hero-content-max:1720px}
  .subpage-main .subpage-hero-copy,
  .subpage-main .subpage-hero::after{
    left:var(--hero-content-inset);
    right:var(--hero-content-inset);
  }
  .subpage-main .subpage-hero-copy{max-width:none}
}

/* Numbered theory intros and structure cards must contain their mobile copy. */
@media(max-width:560px){
  .page-theory .theory-article-page .subpage-hero{height:auto;min-height:350px;padding-top:115px;padding-bottom:32px}
  .page-theory .theory-article-page .subpage-hero-copy--numbered{position:relative;top:auto;left:auto;right:auto;margin:0 20px;max-width:none;grid-template-columns:50px minmax(0,1fr)}
  .page-theory .theory-article-page .subpage-hero-content{min-width:0}
  .page-theory .theory-article-page .theory-flow-boxes{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:repeat(2,minmax(0,1fr))}
  .page-theory .theory-article-page .theory-flow-boxes .theory-box{min-width:0;min-height:88px;height:auto}
  .page-theory .theory-article-page .theory-flow-boxes .theory-box small{max-width:100%;font-size:10px;line-height:1.4;overflow-wrap:anywhere}
  .page-theory .theory-article-page .theory-flow-boxes .theory-box h3{max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.5}
}

/* Keep Service plan content and its CTA inside the mobile card. */
@media(max-width:560px){
  .page-service .process-plan>div:first-child{height:auto;min-height:116px}
  .page-service .process-plan>div:nth-child(2){height:auto;min-height:227px}
  .page-service .process-plan-link{max-width:100%;margin-right:0}
}
/* Service cards grow with translated copy; prices remain inside aligned rows. */
.page-service .service-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.page-service .service-card{display:flex;flex-direction:column;min-width:0;height:auto}
.page-service .service-card>img{flex-shrink:0}
.page-service .service-card-copy{min-width:0;height:auto;flex:1}
.page-service .service-card h3,
.page-service .service-card p{min-width:0;overflow-wrap:anywhere}
.page-service .service-card-price{flex-wrap:wrap;gap:6px 12px}
.page-service .service-card-price strong{margin-left:auto;overflow-wrap:anywhere}
@media(min-width:561px){
  .page-service .service-card-copy{display:flex;flex-direction:column}
  .page-service .service-card-copy>small,
  .page-service .service-card-copy>h3,
  .page-service .service-card-copy>p,
  .page-service .service-card-price{flex-shrink:0}
  .page-service .service-card-price{margin-top:auto}
}
@media(min-width:901px){
  .page-service .service-card{min-height:486px}
  .page-service .service-card-copy{min-height:282px}
}
@media(min-width:561px) and (max-width:900px){
  .page-service .service-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .page-service .service-card-grid{grid-template-columns:minmax(0,1fr)}
  html:lang(en) .page-service .service-card-copy{grid-template-columns:18px minmax(0,1fr);grid-template-rows:auto auto 1fr auto}
  html:lang(en) .page-service .service-card-kind{grid-column:2;grid-row:2;margin-top:4px}
  html:lang(en) .page-service .service-card p{grid-row:3}
  html:lang(en) .page-service .service-card-price{grid-row:4}
}
