.partner-page{background:#fff}.partner-page main{overflow:hidden}.partner-page h1,.partner-page h2,.partner-page h3{font-family:'Noto Sans JP',sans-serif}.partner-page h2{font-size:clamp(30px,3.6vw,54px);line-height:1.55;letter-spacing:.025em;margin:22px 0}.partner-page p{line-height:2}.partner-wrap{padding:100px max(24px,calc((100vw - 1160px)/2))}.partner-eyebrow{font-size:14px;font-weight:700;letter-spacing:.19em;color:#1671da;margin:0}.partner-hero{background:#06142c;position:relative;color:white;isolation:isolate}.partner-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% center;z-index:-3}.partner-hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(4,14,34,.98),rgba(4,14,34,.88) 38%,rgba(4,14,34,.15)),linear-gradient(0deg,#06142c,transparent 45%)}.partner-hero-inner{max-width:1440px;margin:auto;padding:28px clamp(24px,7vw,100px) 30px}.partner-breadcrumb{display:flex;flex-wrap:wrap;gap:12px;color:#bbc8db;font-size:14px;margin-bottom:66px}.partner-breadcrumb a:hover{color:white}.partner-hero .partner-eyebrow{color:#62d5ff}.partner-hero h1{font-size:clamp(48px,6.2vw,88px);line-height:1.3;letter-spacing:.015em;margin:25px 0;font-weight:800}.partner-hero h1 span{color:#61ccff;background:linear-gradient(110deg,#f0fcff,#5fdcff 35%,#6a8fff 68%,#e6fbff);background-size:200% auto;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:partner-glow 8s ease-in-out infinite}.partner-hero-lead{font-size:clamp(20px,2.1vw,28px);font-weight:700;margin:22px 0 12px}.partner-hero-description{font-size:16px;color:#c4cfdf;max-width:560px;margin:0 0 30px}.partner-button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:64px;padding:18px 28px;border-radius:5px;background:linear-gradient(115deg,#0b72ee,#294ef1 70%,#6760ed);color:#fff;font-weight:700;font-size:16px;box-shadow:0 8px 36px #1268fc3b;border:1px solid #6aa7ff80;transition:transform .25s,box-shadow .25s}.partner-button:hover{transform:translateY(-3px);box-shadow:0 12px 40px #3187ff66}.partner-button span{font-family:Arial,sans-serif;font-size:28px;font-weight:400;line-height:1}.partner-hero-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff30;padding-top:20px;margin-top:66px;font-size:14px;letter-spacing:.08em;color:#bccce2}.partner-hero-bottom a{font-size:12px;letter-spacing:.16em}.partner-intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.partner-intro h2 span{color:#1370dd}.partner-intro-copy>p:first-child{font-size:22px;font-weight:700}.partner-intro-copy>p:nth-child(2){font-size:16px;color:#52647b}.partner-signature{display:block;font-size:12px;font-weight:700;letter-spacing:.14em;color:#0968d0;margin-top:30px;padding-left:20px;border-left:3px solid #087be9}.partner-support{background:#f0f5fc}.partner-section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:40px}.partner-section-heading>p{color:#52647b;font-size:16px}.partner-section-heading h2{margin-bottom:0}.partner-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#d8e4f3;border:1px solid #d8e4f3}.partner-services article{background:white;padding:34px 28px 38px;position:relative;transition:background .3s}.partner-services article:hover{background:#f7fbff}.partner-index{font:700 12px/1.5 Arial,sans-serif;letter-spacing:.12em;color:#55728f;display:block}.partner-services svg{display:block;width:38px;height:38px;margin:42px 0 26px;color:#0e70de;stroke-width:1.3}.partner-services h3{font-size:21px;line-height:1.6;margin:0 0 18px}.partner-services p{font-size:16px;color:#52647b;margin:0}.partner-fit{background:#071a36;color:white;position:relative}.partner-fit .partner-eyebrow{color:#65caff}.partner-fit-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:70px;align-items:center}.partner-fit ul{padding:0;list-style:none;margin:20px 0}.partner-fit li{padding:24px 0;border-bottom:1px solid #ffffff24;font-size:18px;line-height:1.8;display:flex;gap:24px}.partner-fit li span{color:#67cbff;font:14px/2.4 Arial,sans-serif}.partner-flow ol{padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px;margin:45px 0 28px}.partner-flow li{border-top:2px solid #dce7f4;padding:24px 0 0}.partner-flow li b{color:#1471dc;font:400 48px/1.3 Arial,sans-serif}.partner-flow h3{font-size:21px;margin:20px 0 12px}.partner-flow li p{font-size:16px;color:#52647b;margin:0}.partner-note{font-size:14px;color:#62738a;margin:30px 0 0}.partner-contact{background:radial-gradient(ellipse at 80% 110%,#284b9b,transparent 65%),linear-gradient(135deg,#06132b,#0d2e66);color:white;text-align:center;padding:92px 24px;position:relative;border-top:1px solid #5273b4}.partner-contact .partner-eyebrow{color:#74d8ff}.partner-contact h2{font-size:clamp(36px,4.8vw,64px);margin:28px 0 20px}.partner-contact-inner>p:not(.partner-eyebrow){font-size:16px;color:#c6d6ee}.partner-mail{margin:24px 0 10px;min-width:min(100%,410px);text-align:left}.partner-contact-inner .partner-contact-note{font-size:14px}.partner-email{font-size:14px;color:#bdd8ff;text-decoration:underline;text-underline-offset:5px}.partner-back{text-align:center;background:#f3f7fd;padding:30px 24px;font-size:16px}.partner-back a:hover{color:#0873db}.partner-page a:focus-visible,.partner-page button:focus-visible{outline:3px solid #1caae9;outline-offset:5px}.partner-reveal{opacity:1}.partner-reveal.entered{animation:partner-rise .8s ease both}@keyframes partner-rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes partner-glow{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
@media(max-width:760px){.partner-wrap{padding:64px 24px}.partner-hero-inner{padding:22px 24px 24px}.partner-breadcrumb{margin-bottom:45px;font-size:12px}.partner-hero-image{object-position:64% center}.partner-hero-shade{background:linear-gradient(90deg,#041126ec,#041126a6),linear-gradient(0deg,#06142c,transparent)}.partner-hero h1{font-size:clamp(40px,11vw,64px);margin:24px 0}.partner-hero-lead{font-size:21px}.partner-hero-description br{display:none}.partner-eyebrow{font-size:12px;letter-spacing:.15em}.partner-button{width:100%;font-size:15px;padding:17px 20px;gap:16px;min-height:64px}.partner-hero-bottom{margin-top:48px;font-size:12px;align-items:center}.partner-hero-bottom a{font-size:10px;letter-spacing:.05em}.partner-intro,.partner-fit-grid{grid-template-columns:1fr;gap:10px}.partner-intro h2{margin-bottom:10px}.partner-intro-copy>p:first-child{font-size:20px}.partner-services{grid-template-columns:1fr}.partner-services article{padding:28px}.partner-services svg{margin:28px 0 20px}.partner-section-heading{display:block;margin-bottom:30px}.partner-section-heading>p{margin-top:20px}.partner-fit li{font-size:16px;gap:16px}.partner-flow ol{grid-template-columns:1fr;gap:28px;margin-top:32px}.partner-flow li{display:grid;grid-template-columns:54px 1fr;column-gap:15px}.partner-flow li b{grid-row:1/3;font-size:34px}.partner-flow h3{font-size:20px;margin:0 0 10px}.partner-flow li p{grid-column:2}.partner-contact{padding:68px 24px}.partner-contact h2{font-size:42px}.partner-contact .partner-button{max-width:440px}.partner-page h2 br{max-width:100%}}
@media(prefers-reduced-motion:reduce){.partner-hero h1 span,.partner-reveal.entered{animation:none}.partner-page a{transition:none}html{scroll-behavior:auto}}

/* Reference-led terrace hero, scoped to the partner page. */
.partner-hero{background:#284b6c;min-height:860px}
.partner-hero-image{object-position:center 54%}
.partner-hero-shade{background:linear-gradient(90deg,rgba(9,29,55,.38),rgba(9,29,55,.16) 62%,rgba(9,29,55,.02)),linear-gradient(0deg,rgba(5,20,38,.36),transparent 35%)}
.partner-hero-inner{position:relative;padding:115px clamp(28px,6.5vw,100px) 26px;max-width:1440px}
.partner-hero .partner-eyebrow{color:#79e6f6;font-size:16px;letter-spacing:.18em;line-height:1.5}
.partner-hero .partner-eyebrow:after{content:"";display:block;width:48px;height:1px;background:#71e1f4;margin-top:17px}
.partner-hero h1{font-size:clamp(58px,6.3vw,90px);line-height:1.32;letter-spacing:.015em;margin:35px 0 32px;filter:drop-shadow(0 3px 15px #122f4930)}
.partner-hero h1 span{background:linear-gradient(110deg,#a8f2ff,#51d9f6 65%,#7beaff);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:none;text-shadow:0 8px 28px #05bfff44}
.partner-hero-lead{font-size:clamp(23px,2.4vw,32px);line-height:1.65!important;margin:0 0 24px;text-shadow:0 2px 12px #13273966}
.partner-hero-description{font-size:18px;line-height:1.8!important;color:#fff;max-width:630px;margin:0 0 34px;text-shadow:0 2px 10px #132739aa}
.partner-hero .partner-button{width:min(100%,640px);min-height:86px;padding:22px 34px;font-size:22px;border-radius:7px;border:1px solid #a4beffb3;background:linear-gradient(110deg,#058aff,#2855fc 55%,#9753ff);box-shadow:0 0 22px #337dff66,inset 0 0 0 1px #ffffff20}
.partner-hero .partner-button span{font-size:44px;font-weight:200}
.partner-hero-bottom{border:0;margin:70px 0 0;padding:0;justify-content:center;width:min(100%,640px)}
.partner-hero-bottom a{display:flex;align-items:center;flex-direction:column;gap:16px;font-size:12px;color:white;letter-spacing:.25em}
.partner-hero-bottom a span{display:block;width:1px;height:44px;background:#ffffffb3}
.partner-handwriting{position:absolute;right:6%;bottom:42px;transform:rotate(-17deg);font-family:"Segoe Script","Snell Roundhand","Brush Script MT",cursive;font-style:italic;font-size:40px;font-weight:300;line-height:.95;color:#e4f2ff9c;pointer-events:none;text-align:center}
.partner-handwriting span{padding-left:24px}.partner-handwriting em{font-style:inherit;padding-left:34px}
@media(max-width:760px){
.partner-page{--header-height:64px}.partner-page .site-header{height:64px;padding-inline:5%;gap:8px}.partner-page .site-header .brand b{font-size:1.25rem}.partner-page .site-header .brand small{font-size:.53rem;margin-top:3px}.partner-page .site-header .brand{gap:8px}.partner-page .site-header .brand-mark{height:30px;width:31px}.partner-page .site-header .mail-button{font-size:14px;padding:11px 13px}.partner-page .site-header .header-actions{gap:14px}
.partner-hero{min-height:0}.partner-hero-image{object-position:center center}.partner-hero-inner{padding:98px 6.5% 24px}
.partner-hero .partner-eyebrow{font-size:clamp(11px,2.75vw,16px);letter-spacing:.17em}.partner-hero .partner-eyebrow:after{width:34px;margin-top:10px}
.partner-hero h1{font-size:clamp(40px,11.25vw,78px);line-height:1.34;margin:26px 0 26px;letter-spacing:.005em}
.partner-hero-lead{font-size:clamp(18px,4.65vw,30px);line-height:1.6!important;margin:0 0 20px;letter-spacing:0}
.partner-hero-description{font-size:clamp(16px,3.55vw,22px);line-height:1.75!important;margin:0 0 25px;max-width:100%}
.partner-hero .partner-button{min-height:55px;padding:13px 20px;font-size:clamp(14px,3.65vw,23px);gap:12px;border-radius:6px}.partner-hero .partner-button span{font-size:32px}
.partner-hero-bottom{margin:64px 0 0;width:100%}.partner-hero-bottom a{font-size:10px;gap:12px}.partner-hero-bottom a span{height:30px}
.partner-handwriting{font-size:27px;right:7%;bottom:38px}
}
@media(max-width:360px){.partner-page .site-header .header-actions{gap:8px}.partner-page .site-header .mail-button{padding:10px;font-size:12px}.partner-page .site-header .brand b{font-size:1.1rem}.partner-hero-inner{padding-top:78px}.partner-handwriting{font-size:23px}}

/* Supplied partnership artwork: keep the complete composition at every width. */
.partner-challenge-visual{width:100%;max-width:1160px;margin:0 auto;position:relative;background:#061729}
.partner-challenge-visual>img{display:block;width:100%;height:auto}
.partner-accessible-copy{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.partner-fit .partner-fit-grid{display:block;padding-top:30px;padding-bottom:70px}
.partner-fit .partner-fit-grid ul{margin:0}
@media(max-width:760px){.partner-fit .partner-fit-grid{padding-top:16px;padding-bottom:48px}}
