/* Version 5: shared photographic opening, retaining each page's copy and imagery. */
.home-hero,.intern-hero,.page-heading{isolation:isolate;overflow:hidden}
.home-hero,.intern-hero{position:relative;display:flex;align-items:center;min-height:clamp(610px,75vh,780px);background:#173b32;color:#fff}
.home-hero:before,.intern-hero:before{content:"";display:block;position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(9,37,29,.90) 0%,rgba(10,39,31,.79) 35%,rgba(10,39,31,.27) 69%,rgba(10,39,31,.08) 100%);pointer-events:none}
.home-hero:after,.intern-hero:after,.page-heading:after{content:"";display:block;position:absolute;left:0;right:0;bottom:-1px;height:clamp(58px,9vw,116px);z-index:4;background:linear-gradient(105deg,#d9f995,#b9f2c6 54%,#a6eee8);clip-path:polygon(0 36%,30% 92%,57% 100%,100% 29%,100% 100%,0 100%);pointer-events:none;box-shadow:none;border:0;border-radius:0;width:auto;aspect-ratio:auto;top:auto}
.home-hero .hero-image,.intern-hero .intern-hero-photo{position:absolute;inset:0;width:100%;height:100%;min-height:0;z-index:0;overflow:hidden}
.home-hero .hero-image img,.intern-hero .intern-hero-photo img{width:100%;height:100%;min-height:0;max-height:none;object-fit:cover;object-position:center 45%}
.home-hero .hero-copy,.intern-hero .intern-hero-copy{position:relative;z-index:2;align-self:center;width:min(850px,75%);margin:0;padding:70px 4vw 105px 7vw;background:none;backdrop-filter:none;color:#fff}
.home-hero .eyebrow,.intern-hero .eyebrow{display:block;width:max-content;max-width:100%;padding:0 0 10px;border:0;border-bottom:1px solid #dbf9dfb0;border-radius:0;color:#fff;letter-spacing:.12em;text-shadow:0 1px 8px #102a28a8}
.home-hero h1,.intern-hero h1,.home-hero .hero-copy h1,.intern-hero .intern-hero-copy h1{color:#fff;text-shadow:0 2px 20px #0b271f91;max-width:760px;line-height:1.24}
.home-hero h1 em{color:#e4ffb9}
.home-hero .hero-copy p,.intern-hero .intern-hero-lead,.intern-hero .hero-subtitle{color:#fff;text-shadow:0 1px 12px #0b271fc0}
.home-hero .hero-index{z-index:2;color:#e0f8e8}
.home-hero .button-light,.intern-hero .button-light,.intern-hero .button-outline{background:linear-gradient(105deg,#d9fa84,#8ee7df);color:#143b35;border:0;box-shadow:0 12px 30px #142b245c}
.intern-hero .button-outline{background:#ffffffdd}
.people-hero .intern-hero-copy,.culture-hero .intern-hero-copy{width:min(850px,75%);margin:0;padding:70px 4vw 105px 7vw;background:none;backdrop-filter:none;align-self:center}
.parents-hero .intern-hero-copy,.recruit-hero .intern-hero-copy{width:min(850px,75%);margin:0;padding:70px 4vw 105px 7vw;grid-column:auto;grid-row:auto}
.parents-hero .intern-hero-photo{grid-column:auto;grid-row:auto}
.intern-hero-lead{max-width:690px}
.intern-hero-lead p{margin-bottom:0}
.hero-lead-after{background:#f0fbf3;color:#31584c;padding:65px max(7vw,calc((100vw - 1150px)/2));font-size:1.07rem;line-height:2}
.hero-lead-after p{margin:0}

/* Existing photography expands behind ABOUT and MESSAGE; BUSINESS uses its four existing cards. */
.page-heading{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-height:clamp(550px,70vh,720px);padding:65px 7vw 115px;color:#fff;background:#173b32}
.page-heading:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,rgba(9,37,29,.91),rgba(10,39,31,.77) 43%,rgba(10,39,31,.08) 100%)}
.page-heading>*:not(.oripu-accent):not(.message-portrait):not(.business-hero-collage){position:relative;z-index:2}
.page-heading .eyebrow{width:max-content;max-width:100%;padding-bottom:10px;border-bottom:1px solid #dbf9dfb0;color:#fff}
.page-heading h1,.page-heading p{color:#fff;max-width:780px;text-shadow:0 2px 20px #0b271f91}
.page-heading p{font-weight:600}
body[data-page="about"] .page-heading{padding-left:7vw;background-image:url("IMG_0552(1).jpeg");background-size:cover;background-position:center 54%}
body[data-page="about"] .page-heading:before{background:linear-gradient(90deg,#102e25ee 0%,#102e25cf 38%,#102e2538 75%,#102e2514 100%)}
body[data-page="business"] .page-heading{padding-left:7vw;padding-right:7vw;background:radial-gradient(circle at 80% 40%,#427b69,#153b32 70%)}
body[data-page="business"] .page-heading h1,body[data-page="business"] .page-heading p{max-width:50%}
.business-hero-collage{position:absolute;right:5vw;top:50%;z-index:1;transform:translateY(-52%);width:43%;display:grid;grid-template-columns:1fr 1fr;gap:13px;pointer-events:none}
.business-hero-collage img{width:100%;height:clamp(150px,16vw,235px);border-radius:50%;object-fit:cover;border:3px solid #d9ffec;box-shadow:0 0 0 8px #7fd6ac3b,0 15px 35px #0b261c72}
.business-hero-collage img:nth-child(2),.business-hero-collage img:nth-child(4){transform:translateY(26px)}
body[data-page="message"] .page-heading{display:flex;align-items:flex-start;justify-content:center;text-align:left;padding:70px 7vw 120px;background:#173b32;min-height:clamp(570px,75vh,760px)}
body[data-page="message"] .page-heading .eyebrow,body[data-page="message"] .page-heading h1{grid-column:auto;align-self:auto;max-width:57%}
body[data-page="message"] .page-heading h1{font-size:clamp(3rem,5.2vw,5.8rem)}
body[data-page="message"] .page-heading:before{background:linear-gradient(90deg,#102e25 0%,#102e25e8 34%,#102e2552 65%,transparent 100%);z-index:1}
.message-portrait{position:absolute;inset:0 0 0 auto;z-index:0;width:62%;height:100%;min-height:0;margin:0;border-radius:0}
.message-portrait img{object-position:center 25%}
/* Pages without an original photograph keep the same shape and color language. */
body[data-page="company"] .page-heading,body[data-page="contact"] .page-heading,body[data-page^="entry-"] .page-heading{min-height:350px;background:linear-gradient(120deg,#d9fa8b,#a7edda 70%,#97e3e8);color:#173d36;padding:60px clamp(170px,22vw,320px) 90px 7vw}
body[data-page="company"] .page-heading:before,body[data-page="contact"] .page-heading:before,body[data-page^="entry-"] .page-heading:before{display:none}
body[data-page="company"] .page-heading h1,body[data-page="contact"] .page-heading h1,body[data-page^="entry-"] .page-heading h1,body[data-page="company"] .page-heading p,body[data-page="contact"] .page-heading p,body[data-page^="entry-"] .page-heading p{color:#173d36;text-shadow:none}
body[data-page="company"] .page-heading .eyebrow,body[data-page="contact"] .page-heading .eyebrow,body[data-page^="entry-"] .page-heading .eyebrow{color:#247e70;border-color:#5cae94}
.page-heading>.oripu-accent{z-index:2}
body[data-page="about"] .page-heading>.oripu-accent,body[data-page="business"] .page-heading>.oripu-accent{right:2vw;bottom:38px;width:clamp(80px,9vw,140px)}

@media(max-width:850px){
  .home-hero,.intern-hero{display:flex;min-height:590px}
  .home-hero .hero-copy,.intern-hero .intern-hero-copy,.people-hero .intern-hero-copy,.culture-hero .intern-hero-copy,.parents-hero .intern-hero-copy,.recruit-hero .intern-hero-copy{width:100%;padding:78px 7vw 110px;order:0;align-self:center}
  .home-hero .hero-image,.intern-hero .intern-hero-photo,.parents-hero .intern-hero-photo,.people-hero .intern-hero-photo,.culture-hero .intern-hero-photo{position:absolute;inset:0;width:100%;height:100%;min-height:0;order:0}
  .home-hero .hero-image img,.intern-hero .intern-hero-photo img,.people-hero .intern-hero-photo img,.culture-hero .intern-hero-photo img{height:100%;min-height:0;max-height:none}
  .page-heading{min-height:550px;padding:65px 7vw 110px}
  body[data-page="message"] .page-heading{min-height:590px;padding:65px 7vw 110px}
  body[data-page="message"] .page-heading .eyebrow,body[data-page="message"] .page-heading h1{max-width:75%}
  .message-portrait{inset:0 0 0 auto;width:76%;height:100%;aspect-ratio:auto;margin:0}
  .business-hero-collage{right:3vw;width:44%;gap:8px}
  .business-hero-collage img{height:clamp(110px,19vw,170px)}
  body[data-page="about"] .page-heading,body[data-page="business"] .page-heading{padding-left:7vw}
}
@media(max-width:600px){
  .home-hero,.intern-hero{min-height:620px;align-items:flex-end}
  .home-hero:before,.intern-hero:before,.page-heading:before{background:linear-gradient(0deg,#0b2d25f5 0%,#0b2d25d1 43%,#0b2d2545 83%,#0b2d251e 100%)}
  .home-hero:after,.intern-hero:after,.page-heading:after{height:58px;clip-path:polygon(0 36%,48% 96%,100% 40%,100% 100%,0 100%)}
  .home-hero .hero-copy,.intern-hero .intern-hero-copy,.people-hero .intern-hero-copy,.culture-hero .intern-hero-copy,.parents-hero .intern-hero-copy,.recruit-hero .intern-hero-copy{padding:78px 7vw 85px;align-self:flex-end}
  .home-hero .hero-image img,.intern-hero .intern-hero-photo img{object-position:center}
  .home-hero h1,.intern-hero h1,.home-hero .hero-copy h1,.intern-hero .intern-hero-copy h1{font-size:clamp(2.35rem,9vw,3.5rem);line-height:1.22}
  .home-hero .hero-copy p{font-size:1rem;line-height:1.7}
  .intern-hero .hero-subtitle{font-size:1.35rem}
  .intern-hero .hero-actions{gap:8px}.intern-hero .button{font-size:.88rem;padding:12px 18px;min-height:47px}
  .hero-lead-after{padding:52px 7vw;font-size:1rem}
  .page-heading{min-height:590px;padding:80px 7vw 85px;justify-content:flex-end}
  .page-heading h1{font-size:clamp(2.5rem,9vw,4rem);line-height:1.25}
  .page-heading p{font-size:1rem}
  body[data-page="message"] .page-heading{min-height:610px;padding:80px 7vw 90px;justify-content:flex-end}
  body[data-page="message"] .page-heading .eyebrow,body[data-page="message"] .page-heading h1{max-width:100%}
  body[data-page="message"] .page-heading h1{font-size:clamp(2.5rem,9vw,4rem)}
  body[data-page="message"] .page-heading:before{background:linear-gradient(0deg,#0b2d25f5 0%,#0b2d25cf 45%,#0b2d250d 91%)}
  .message-portrait{width:100%}.message-portrait img{object-position:center 28%}
  body[data-page="business"] .page-heading{justify-content:flex-start;padding-top:58px;min-height:760px}
  body[data-page="business"] .page-heading h1,body[data-page="business"] .page-heading p{max-width:100%}
  .business-hero-collage{top:auto;bottom:88px;right:8vw;transform:none;width:75%;gap:8px}
  .business-hero-collage img{height:clamp(120px,30vw,180px)}
  body[data-page="about"] .page-heading>.oripu-accent,body[data-page="business"] .page-heading>.oripu-accent{position:absolute;right:2vw;bottom:30px;width:78px}
  body[data-page="company"] .page-heading,body[data-page="contact"] .page-heading,body[data-page^="entry-"] .page-heading{min-height:320px;padding:58px 7vw 88px}
  body[data-page="company"] .page-heading>.oripu-accent,body[data-page="contact"] .page-heading>.oripu-accent,body[data-page^="entry-"] .page-heading>.oripu-accent{position:absolute;right:3vw;bottom:35px;width:85px;margin:0}
}
@media(prefers-reduced-motion:reduce){.home-hero h1,.intern-hero h1{animation:none}}

/* MESSAGE: match the supplied photographic composition while retaining the live typeface. */
body[data-page="message"] .page-heading{min-height:clamp(720px,calc(100svh - 82px),850px);background:#173b32 url("representative-kunitake.jpeg") center 47%/cover no-repeat;padding:70px 6.2vw 112px}
body[data-page="message"] .page-heading:before{background:linear-gradient(90deg,#0b251bdb 0%,#0b251bbb 34%,#0b251b77 58%,#0b251b12 80%),linear-gradient(0deg,#173c2b75 0%,transparent 32%)}
body[data-page="message"] .page-heading:after{z-index:1;height:clamp(135px,13vw,210px);clip-path:polygon(0 25%,30% 80%,57% 100%,100% 22%,100% 100%,0 100%)}
body[data-page="message"] .page-heading .eyebrow{font-size:.94rem;letter-spacing:.11em;margin-bottom:22px}
body[data-page="message"] .page-heading h1{font-size:clamp(3.1rem,5.4vw,5.7rem);line-height:1.22;max-width:72%;margin:0 0 30px;letter-spacing:-.06em}
body[data-page="message"] .message-portrait{width:55%;opacity:1}
body[data-page="message"] .message-portrait img{object-position:center 29%}
.message-hero-summary{font-size:clamp(1.05rem,1.35vw,1.26rem);line-height:1.7;margin:0 0 35px;max-width:800px!important}
.message-hero-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.message-hero-actions .button{min-height:64px;min-width:330px;padding:15px 32px;border:0;border-radius:100px;background:linear-gradient(100deg,#d8f98b,#9eeddc 75%,#90e2e9);color:#173c35;font-weight:850;box-shadow:0 10px 28px #09271d52}
.message-hero-more{font-size:1rem;font-weight:800;color:#fff;border-bottom:1px solid #ffffffad;padding:10px 0 7px;text-shadow:0 1px 12px #102b23}
.message-hero-more:hover{color:#d9fa9a;border-color:#d9fa9a}
#message-intro{scroll-margin-top:90px}
@media(max-width:850px){
  body[data-page="message"] .page-heading{min-height:680px;padding:75px 7vw 95px}
  body[data-page="message"] .page-heading h1{max-width:82%;font-size:clamp(2.9rem,6.8vw,4.2rem)}
  body[data-page="message"] .page-heading:after{height:120px}
  body[data-page="message"] .message-portrait{width:74%}
  body[data-page="message"] .page-heading:before{background:linear-gradient(90deg,#0b251bea,#0b251bc3 48%,#0b251b22 100%),linear-gradient(0deg,#0b251b8c,transparent 45%)}
}
@media(max-width:600px){
  body[data-page="message"] .page-heading{min-height:720px;justify-content:flex-end;padding:80px 7vw 92px;background-position:center 25%}
  body[data-page="message"] .page-heading:after{height:60px;clip-path:polygon(0 36%,48% 96%,100% 40%,100% 100%,0 100%)}
  body[data-page="message"] .page-heading:before{background:linear-gradient(0deg,#0b251bf7 0%,#0b251bda 49%,#0b251b10 88%)}
  body[data-page="message"] .message-portrait{width:100%;height:100%}
  body[data-page="message"] .message-portrait img{object-position:center 24%}
  body[data-page="message"] .page-heading h1{max-width:100%;font-size:clamp(2.45rem,9vw,3.2rem);line-height:1.22;margin-bottom:16px}
  body[data-page="message"] .page-heading .eyebrow{font-size:.8rem;margin-bottom:15px}
  .message-hero-summary{font-size:.93rem;line-height:1.65;margin-bottom:24px}
  .message-hero-actions{gap:8px 20px}
  .message-hero-actions .button{min-height:48px;min-width:0;padding:11px 22px;font-size:.91rem}
  .message-hero-more{font-size:.85rem}
}

/* MESSAGE reference composition. The desktop art has one portrait and its
   left-side type baked into the supplied image; live links remain tappable. */
@media(min-width:1001px){
  body[data-page="message"] .page-heading{
    min-height:0;
    aspect-ratio:1672/843;
    padding:0;
    background-image:url("message-hero-reference.png");
    background-size:100% auto;
    background-position:center -5.861vw;
    background-repeat:no-repeat;
  }
  body[data-page="message"] .page-heading:before,
  body[data-page="message"] .page-heading:after,
  body[data-page="message"] .message-portrait{display:none}
  body[data-page="message"] .page-heading>.eyebrow,
  body[data-page="message"] .page-heading>h1,
  body[data-page="message"] .page-heading>.message-hero-summary{opacity:0;position:absolute!important;pointer-events:none}
  body[data-page="message"] .page-heading>h1{opacity:0!important;clip-path:inset(100%)!important;width:1px!important;height:1px!important;overflow:hidden!important}
  body[data-page="message"] .message-hero-actions{position:absolute!important;inset:0;display:block;z-index:3}
  body[data-page="message"] .message-hero-actions a{position:absolute;display:block;box-sizing:border-box;min-width:0;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;font-size:0;color:transparent;text-shadow:none;opacity:0}
  body[data-page="message"] .message-hero-actions .button{left:6.1%;top:71%;width:22%;height:9.5%}
  body[data-page="message"] .message-hero-actions .message-hero-more{left:30.3%;top:71%;width:23%;height:9.5%}
  body[data-page="message"] .message-hero-actions a:focus-visible{opacity:1;outline:3px solid #d8f98b;outline-offset:3px;border-radius:8px}
}
/* On smaller screens the original photo is used once, with live Inter/Noto text. */
@media(max-width:1000px){
  body[data-page="message"] .message-portrait{display:none}
}

/* Version 5 local update: TOP and ABOUT use the MESSAGE photo composition.
   The supplied photographs stay intact; all lettering remains live HTML. */
body[data-page="index"] .home-hero,
body[data-page="about"] .page-heading{min-height:clamp(710px,calc(100svh - 82px),850px)}
body[data-page="index"] .home-hero:before,
body[data-page="about"] .page-heading:before{background:linear-gradient(90deg,#0b251bea 0%,#0b251bd9 29%,#0b251b69 56%,#0b251b0c 83%),linear-gradient(0deg,#173c2b52,transparent 30%)}
body[data-page="index"] .home-hero:after,
body[data-page="about"] .page-heading:after{height:clamp(135px,13vw,210px);clip-path:polygon(0 25%,30% 80%,57% 100%,100% 22%,100% 100%);z-index:4}
body[data-page="index"] .home-hero .hero-image img{object-position:center 41%}
body[data-page="index"] .home-hero .hero-copy{width:min(1050px,68%);padding:76px 2vw 116px 6.2vw}
body[data-page="index"] .home-hero .eyebrow{font-size:.94rem;letter-spacing:.09em;margin-bottom:20px}
body[data-page="index"] .home-hero h1{font-size:clamp(3.2rem,5vw,5.6rem);line-height:1.18;letter-spacing:-.065em;margin:20px 0 28px;max-width:none}
body[data-page="index"] .home-hero h1 em{color:#fff}
body[data-page="index"] .home-hero .hero-copy p{font-size:clamp(1.05rem,1.45vw,1.3rem);margin:0 0 34px}
body[data-page="index"] .home-hero .button-light,
body[data-page="about"] .page-heading .button{min-height:64px;min-width:300px;padding:15px 31px;background:linear-gradient(100deg,#d8f98b,#9eeddc 75%,#90e2e9);border:0;border-radius:100px;color:#173c35;font-weight:850;box-shadow:0 10px 28px #09271d52}
body[data-page="index"] .home-hero .hero-index{display:none}
body[data-page="about"] .page-heading{background-image:url("IMG_0552(1).jpeg");background-size:cover;background-position:center 76%;padding:76px 6.2vw 116px;align-items:flex-start}
body[data-page="about"] .page-heading .eyebrow{font-size:.94rem;letter-spacing:.09em;margin-bottom:20px}
body[data-page="about"] .page-heading h1{font-size:clamp(3.2rem,5.2vw,5.7rem);line-height:1.2;max-width:850px;margin:20px 0 28px;letter-spacing:-.065em}
body[data-page="about"] .page-heading p{font-size:clamp(1.05rem,1.45vw,1.3rem);line-height:1.7;margin:0 0 34px}
body[data-page="about"] .page-heading>.oripu-accent{display:none}
#about-philosophy{scroll-margin-top:90px}
@media(max-width:850px){
  body[data-page="index"] .home-hero,
  body[data-page="about"] .page-heading{min-height:680px}
  body[data-page="index"] .home-hero .hero-copy{width:100%;padding:75px 7vw 100px}
  body[data-page="about"] .page-heading{padding:75px 7vw 100px}
  body[data-page="index"] .home-hero h1,
  body[data-page="about"] .page-heading h1{font-size:clamp(2.55rem,7vw,4rem)}
  body[data-page="index"] .home-hero:after,
  body[data-page="about"] .page-heading:after{height:110px}
}
@media(max-width:600px){
  body[data-page="index"] .home-hero,
  body[data-page="about"] .page-heading{min-height:700px;justify-content:flex-end}
  body[data-page="index"] .home-hero:before,
  body[data-page="about"] .page-heading:before{background:linear-gradient(0deg,#0b251bf7 0%,#0b251bda 47%,#0b251b08 91%)}
  body[data-page="index"] .home-hero:after,
  body[data-page="about"] .page-heading:after{height:60px;clip-path:polygon(0 36%,48% 96%,100% 40%,100% 100%,0 100%)}
  body[data-page="index"] .home-hero .hero-image img{object-position:center 28%}
  body[data-page="about"] .page-heading{background-position:center 70%;padding:80px 7vw 90px}
  body[data-page="index"] .home-hero .hero-copy{padding:80px 7vw 90px;align-self:flex-end}
  body[data-page="index"] .home-hero h1,
  body[data-page="about"] .page-heading h1{font-size:clamp(2.25rem,9vw,3.2rem);line-height:1.22;margin:16px 0}
  body[data-page="index"] .home-hero .hero-copy p,
  body[data-page="about"] .page-heading p{font-size:.95rem;line-height:1.65;margin-bottom:24px}
  body[data-page="index"] .home-hero .button-light,
  body[data-page="about"] .page-heading .button{min-height:48px;min-width:0;padding:11px 22px;font-size:.91rem}
}

/* COMPANY: the supplied office composition, with live site typography. */
body[data-page="company"] .company-office-hero{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:clamp(480px,28.52vw,620px);padding:55px 6.2vw 90px;background:#e9fff5;color:#173c35}
body[data-page="company"] .company-office-media{position:absolute!important;inset:0;z-index:0!important;overflow:hidden;pointer-events:none}
body[data-page="company"] .company-office-media img{position:absolute;right:0;top:-100px;width:100%;height:calc(100% + 100px);max-width:none;object-fit:cover;object-position:right bottom}
body[data-page="company"] .company-office-hero:before{display:block;z-index:1;background:linear-gradient(90deg,#effff5 0%,#eafdf8 27%,#eafdf8f7 40%,#eafdf8db 51%,#eafdf847 63%,transparent 75%)}
body[data-page="company"] .company-office-hero:after{z-index:4;height:clamp(95px,10vw,170px);clip-path:polygon(0 5%,16% 75%,31% 100%,49% 64%,67% 84%,82% 100%,100% 5%,100% 100%,0 100%);background:linear-gradient(105deg,#c9f5dc,#b4f1e3 55%,#a1ede8)}
body[data-page="company"] .company-office-hero .eyebrow{font-size:.94rem;letter-spacing:.16em;margin:0 0 20px;color:#137f70;border-color:#7dc7ac}
body[data-page="company"] .company-office-hero h1{font-size:clamp(3.3rem,5.2vw,6rem);line-height:1.15;letter-spacing:-.065em;margin:0 0 22px;color:#073e3b;max-width:720px;text-shadow:none}
body[data-page="company"] .company-office-hero .company-office-lead{font-size:clamp(1.2rem,1.8vw,1.65rem);line-height:1.5;font-weight:750;max-width:750px;margin:0 0 30px;color:#164f4d;text-shadow:none}
body[data-page="company"] .company-office-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap;position:relative;z-index:2}
body[data-page="company"] .company-office-actions .button{min-height:62px;min-width:270px;padding:15px 30px;border:0;border-radius:100px;background:linear-gradient(100deg,#d8f98b,#9eeddc 75%,#90e2e9);color:#173c35;font-weight:850;box-shadow:0 10px 28px #5c9d8860}
body[data-page="company"] .company-office-more{color:#174d49;font-weight:800;border-bottom:1px solid #447d72;padding:10px 0 7px}
body[data-page="company"] .company-office-more:hover{color:#168f7f}
body[data-page="company"] .company-office-hero>.oripu-accent{display:none}
#company-profile{scroll-margin-top:90px}
@media(max-width:850px){
  body[data-page="company"] .company-office-hero{min-height:620px;padding:70px 7vw 105px}
  body[data-page="company"] .company-office-media img{top:-120px;height:calc(100% + 120px)}
  body[data-page="company"] .company-office-hero:before{background:linear-gradient(0deg,#effff8 0%,#effff8f9 30%,#effff8e9 52%,#effff88a 75%,transparent 100%)}
  body[data-page="company"] .company-office-hero:after{height:70px}
}
@media(max-width:600px){
  body[data-page="company"] .company-office-hero{min-height:670px;justify-content:flex-end;padding:80px 7vw 95px}
  body[data-page="company"] .company-office-hero h1{font-size:clamp(2.8rem,10vw,4rem);margin-bottom:17px}
  body[data-page="company"] .company-office-hero .company-office-lead{font-size:1.06rem;line-height:1.65;margin-bottom:22px}
  body[data-page="company"] .company-office-actions{gap:5px 20px}
  body[data-page="company"] .company-office-actions .button{min-width:0;min-height:48px;padding:11px 22px;font-size:.91rem}
  body[data-page="company"] .company-office-more{font-size:.85rem}
  body[data-page="company"] .company-office-hero:after{height:50px;clip-path:polygon(0 30%,48% 95%,100% 35%,100% 100%,0 100%)}
}

/* BUSINESS: supplied four-field composition, replacing the previous four hero photos. */
body[data-page="business"] .page-heading{min-height:clamp(650px,calc(100svh - 82px),820px);padding:65px 6.2vw 115px;background:#14362c;isolation:isolate}
body[data-page="business"] .page-heading:before{z-index:1;background:linear-gradient(90deg,#0d2a21 0%,#0d2a21f8 30%,#0d2a21e5 41%,#0d2a2180 54%,transparent 68%)}
body[data-page="business"] .page-heading:after{z-index:4;height:clamp(105px,10vw,165px);clip-path:polygon(0 5%,15% 70%,31% 100%,53% 64%,70% 90%,100% 12%,100% 100%,0 100%)}
body[data-page="business"] .page-heading>*:not(.oripu-accent){position:relative;z-index:2}
body[data-page="business"] .page-heading .eyebrow{font-size:.96rem;letter-spacing:.14em;margin:0 0 25px}
body[data-page="business"] .page-heading h1{font-size:clamp(3rem,5.15vw,5.8rem);line-height:1.25;letter-spacing:-.06em;max-width:58%;margin:0 0 24px}
body[data-page="business"] .page-heading p{font-size:clamp(1.05rem,1.55vw,1.4rem);max-width:58%;line-height:1.6;margin:0 0 35px}
body[data-page="business"] .business-reference-visual{position:absolute!important;inset:0 0 0 auto!important;z-index:0!important;width:65%;overflow:hidden;pointer-events:none}
body[data-page="business"] .business-reference-visual img{position:absolute;right:0;top:-8%;height:113%;width:auto;max-width:none}
body[data-page="business"] .page-heading>.oripu-accent{display:none}
.business-hero-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.business-hero-actions .button{min-height:62px;min-width:260px;padding:15px 28px;border:0;border-radius:100px;background:linear-gradient(100deg,#d8f98b,#9eeddc 75%,#90e2e9);color:#173c35;font-weight:850;box-shadow:0 10px 28px #09271d52}
.business-hero-more{color:#fff;font-weight:800;border-bottom:1px solid #ffffffad;padding:10px 0 7px;text-shadow:0 1px 12px #102b23}
#business-life{scroll-margin-top:90px}
@media(max-width:850px){
  body[data-page="business"] .page-heading{min-height:690px;padding:65px 7vw 100px}
  body[data-page="business"] .page-heading h1,body[data-page="business"] .page-heading p{max-width:70%}
  body[data-page="business"] .business-reference-visual{width:75%}
  body[data-page="business"] .page-heading:before{background:linear-gradient(90deg,#0d2a21 0%,#0d2a21ec 40%,#0d2a2170 68%,transparent 100%)}
}
@media(max-width:600px){
  body[data-page="business"] .page-heading{min-height:780px;justify-content:flex-end;padding:65px 7vw 90px}
  body[data-page="business"] .business-reference-visual{inset:0 0 auto 0!important;width:100%;height:440px}
  body[data-page="business"] .business-reference-visual img{right:-15px;top:-32px;height:490px}
  body[data-page="business"] .page-heading:before{background:linear-gradient(0deg,#0d2a21 0%,#0d2a21 28%,#0d2a21e8 43%,#0d2a2140 67%,transparent 95%)}
  body[data-page="business"] .page-heading h1,body[data-page="business"] .page-heading p{max-width:100%}
  body[data-page="business"] .page-heading h1{font-size:clamp(2.35rem,9vw,3.5rem);margin:0 0 16px}
  body[data-page="business"] .page-heading p{font-size:.96rem;line-height:1.6;margin-bottom:20px}
  .business-hero-actions{gap:4px 18px}
  .business-hero-actions .button{min-width:0;min-height:47px;padding:11px 22px;font-size:.9rem}
  .business-hero-more{font-size:.84rem}
  body[data-page="business"] .page-heading:after{height:55px;clip-path:polygon(0 30%,48% 95%,100% 35%,100% 100%,0 100%)}
}

/* BUSINESS reference correction: one complete composition on desktop. */
@media(min-width:851px){
  body[data-page="business"] .page-heading{height:50.42vw;min-height:0;max-height:none;padding:0;background:#14362c;display:block}
  body[data-page="business"] .page-heading:before,body[data-page="business"] .page-heading:after{display:none}
  body[data-page="business"] .business-reference-visual{inset:0!important;width:100%!important;height:100%!important;z-index:0!important}
  body[data-page="business"] .business-reference-visual img{width:100%;height:auto;top:-5.86vw;right:0;max-width:none}
  body[data-page="business"] .page-heading>.eyebrow,body[data-page="business"] .page-heading>h1,body[data-page="business"] .page-heading>p{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
  body[data-page="business"] .business-hero-actions{position:absolute!important;inset:0;display:block;z-index:3!important;pointer-events:none}
  body[data-page="business"] .business-hero-actions a{position:absolute;display:block;min-width:0;min-height:0;margin:0;padding:0;border:0;background:transparent;box-shadow:none;text-shadow:none;color:transparent;font-size:0;line-height:0;pointer-events:auto}
  body[data-page="business"] .business-hero-actions .button{left:6.1%;top:67%;width:19.5%;height:9.3%;border-radius:100px}
  body[data-page="business"] .business-hero-actions .business-hero-more{left:27.3%;top:69.5%;width:19%;height:6.8%}
  body[data-page="business"] .business-hero-actions a:focus-visible{outline:3px solid #0b815f;outline-offset:2px}
}
@media(max-width:850px){
  body[data-page="business"] .page-heading{display:flex;min-height:0;padding:calc(min(93vw,600px) + 45px) 7vw 85px;justify-content:flex-end;background:#14362c}
  body[data-page="business"] .business-reference-visual{inset:0 0 auto 0!important;width:100%!important;height:min(93vw,600px)!important}
  body[data-page="business"] .business-reference-visual img{width:183.33%;height:auto;top:calc(-10.7vw);right:0;max-width:none}
  body[data-page="business"] .page-heading:before{background:linear-gradient(0deg,#0d2a21 0%,#0d2a21 36%,#0d2a21bb 47%,transparent 62%)}
  body[data-page="business"] .page-heading h1,body[data-page="business"] .page-heading p{max-width:100%}
}
@media(max-width:600px){
  body[data-page="business"] .page-heading{min-height:0;padding:calc(93vw + 28px) 7vw 80px}
  body[data-page="business"] .business-reference-visual{height:93vw!important}
  body[data-page="business"] .business-reference-visual img{width:183.33%;height:auto;top:-10.7vw;right:0}
}

/* CULTURE: two supplied training photographs side by side. */
#culture-02 .culture-training-photos{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0 0 45px}
#culture-02 .culture-training-photos .culture-chapter-photo{margin:0;min-width:0}
#culture-02 .culture-training-photos img{display:block;width:100%;height:clamp(240px,27vw,390px);object-fit:cover}
@media(max-width:600px){#culture-02 .culture-training-photos{grid-template-columns:1fr;gap:12px;margin-bottom:32px}#culture-02 .culture-training-photos img{height:auto;aspect-ratio:16/10}}

/* MESSAGE: selected copy is live type, with the original portrait displayed once. */
@media(min-width:1001px){
  body[data-page="message"] .page-heading{display:flex;min-height:clamp(690px,calc(100svh - 82px),850px);height:auto;aspect-ratio:auto;align-items:flex-start;justify-content:center;padding:65px 6.2vw 115px;background:#173b32;isolation:isolate}
  body[data-page="message"] .page-heading:before{display:block;z-index:1;background:linear-gradient(90deg,#0b251b 0%,#0b251bf2 35%,#0b251bc0 52%,#0b251b1c 75%),radial-gradient(circle at 12% 15%,#46753a99,transparent 42%)}
  body[data-page="message"] .page-heading:after{display:block;z-index:4;height:clamp(135px,13vw,210px)}
  body[data-page="message"] .message-portrait{display:block;position:absolute;inset:0 0 0 auto;z-index:0;width:58%;height:100%;margin:0;border-radius:0;overflow:hidden}
  body[data-page="message"] .message-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 31%}
  body[data-page="message"] .page-heading>.eyebrow,body[data-page="message"] .page-heading>h1,body[data-page="message"] .page-heading>.message-hero-summary{opacity:1;position:relative!important;pointer-events:auto;clip-path:none!important;width:auto!important;height:auto!important;overflow:visible!important;white-space:normal!important}
  body[data-page="message"] .page-heading>h1{max-width:61%;font-size:clamp(3.1rem,5.3vw,5.6rem);line-height:1.2;margin:0 0 26px}
  body[data-page="message"] .page-heading>.message-hero-summary{max-width:60%!important;margin-bottom:32px}
  body[data-page="message"] .message-hero-actions{position:relative!important;inset:auto;display:flex;z-index:2;gap:30px}
  body[data-page="message"] .message-hero-actions a{position:relative;left:auto;top:auto;width:auto;height:auto;display:inline-flex;align-items:center;min-height:0;padding:10px 0;border:0;background:transparent;box-shadow:none;font-size:1rem;line-height:1.4;color:#fff;text-shadow:0 1px 12px #102b23;opacity:1}
  body[data-page="message"] .message-hero-actions .button{left:auto;top:auto;width:auto;height:auto;min-height:64px;min-width:320px;padding:15px 30px;border-radius:100px;background:linear-gradient(100deg,#d8f98b,#9eeddc 75%,#90e2e9);color:#173c35;text-shadow:none;box-shadow:0 10px 28px #09271d52}
  body[data-page="message"] .message-hero-actions .message-hero-more{left:auto;top:auto;width:auto;height:auto;border-bottom:1px solid #ffffffad}
}
@media(min-width:1001px){body[data-page="message"] .page-heading>h1{opacity:1!important}}

/* MESSAGE: approved image with selected copy, displayed once on desktop. */
@media(min-width:1001px){
  body[data-page="message"] .page-heading{display:block;min-height:0;height:auto;aspect-ratio:1672/843;padding:0;background:#173b32 url("message-hero-copy5.png") center -5.861vw/100% auto no-repeat}
  body[data-page="message"] .page-heading:before,body[data-page="message"] .page-heading:after,body[data-page="message"] .message-portrait{display:none}
  body[data-page="message"] .page-heading>.eyebrow,body[data-page="message"] .page-heading>h1,body[data-page="message"] .page-heading>.message-hero-summary{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;opacity:0!important;pointer-events:none}
  body[data-page="message"] .message-hero-actions{position:absolute!important;inset:0;display:block;z-index:3;pointer-events:none}
  body[data-page="message"] .message-hero-actions a{position:absolute;display:block;box-sizing:border-box;min-width:0;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;font-size:0;line-height:0;color:transparent;text-shadow:none;opacity:0;pointer-events:auto}
  body[data-page="message"] .message-hero-actions .button{left:6.1%;top:71%;width:22%;height:9.5%;min-width:0;min-height:0;padding:0;background:transparent;box-shadow:none}
  body[data-page="message"] .message-hero-actions .message-hero-more{left:30.3%;top:71%;width:23%;height:9.5%;border:0}
  body[data-page="message"] .message-hero-actions a:focus-visible{opacity:1;outline:3px solid #d8f98b;outline-offset:3px;border-radius:8px}
}
