:root{--paper:#f5f4ee;--ink:#193b32;--muted:#53675d;--line:#ccd5cc;--yellow:#e5c477;--ac:#b98c37;--gutter:clamp(22px,4.4vw,72px)}
body{background:var(--paper);color:var(--ink)}
.wrap{max-width:1600px}.section{padding-block:clamp(44px,4.5vw,68px)}
.site-header{background:rgba(245,244,238,.97);border-color:var(--line)}
.header-inner{min-height:82px;gap:24px}.brand strong{font-size:1.4rem;font-weight:700}
.primary-nav{font-size:.98rem;gap:26px}.header-contact{font-size:.95rem;font-weight:600}
.language-switch{align-items:center}
.button{border-radius:4px;min-height:54px;font-size:1rem;font-weight:600;gap:24px;background:var(--ink);border-color:var(--ink)}
.button:hover{background:#2d5545;border-color:#2d5545}.text-link{font-size:1rem;font-weight:600}
.eyebrow,.section-label{font-size:.8rem;font-weight:600;letter-spacing:.1em}
.section-label{gap:14px;color:var(--muted)}.section-label span:first-child{color:#886628}
.hero{padding-top:28px;padding-bottom:0}.hero-topline{margin-bottom:25px;gap:24px}
.hero-location{font-size:.78rem;letter-spacing:.06em}.hero-grid{display:block}
.hero-copy{display:grid;grid-template-columns:1.4fr 1fr;column-gap:48px;align-items:start;margin-bottom:30px}
.hero h1{grid-column:1;grid-row:1/3;font-size:clamp(2.9rem,4.5vw,4.5rem);line-height:1.14;letter-spacing:-.045em;font-weight:600}
.hero h1>span{display:block}.hero h1 .highlight{display:block;color:#98712b;background:none;margin-top:6px}
.hero h1 .highlight::after{display:none}
.hero-description{grid-column:2;font-size:1.15rem;line-height:1.65;margin:2px 0 0;max-width:46ch}
.hero-actions{grid-column:2;margin-top:20px;gap:24px}
.hero-media{display:grid;grid-template-columns:2.15fr 1fr;height:clamp(340px,30vw,440px);gap:12px}
.hero-photo,.hero-details figure{position:relative;min-width:0;min-height:0;overflow:hidden;background:#d9e0d8;border-radius:5px}
.hero-photo{box-shadow:none}.hero-photo img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center 57%}
.hero-photo .photo-caption{position:absolute;bottom:0;inset-inline:0;padding:34px 24px 20px;background:linear-gradient(transparent,#102c25ed);color:white;font-size:.88rem;letter-spacing:.02em;align-items:end}
.photo-caption span:last-child{font-size:.72rem;letter-spacing:.1em}
.hero-details{display:grid;grid-template-rows:1fr 1fr;gap:12px;min-height:0}
.hero-details img{height:100%;object-fit:cover;object-position:center}
.hero-details figure:last-child img{object-position:center 40%}
.hero-details figcaption{position:absolute;inset-inline:0;bottom:0;padding:25px 18px 15px;background:linear-gradient(transparent,#102c25ed);color:white;font-size:.87rem;line-height:1.5;font-weight:500}
.route-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:20px;border:1px solid var(--line);border-radius:4px;background:#e9ede4}
.route-strip a{display:grid;grid-template-columns:1fr auto;gap:6px 16px;padding:20px 24px;border-right:1px solid var(--line)}
.route-strip a:last-child{border:0}.route-strip a:hover{background:#dfe6d7}
.route-strip small{grid-column:1;font-size:.75rem;letter-spacing:.07em;color:var(--muted);text-transform:uppercase}
.route-strip b{grid-column:1;grid-row:2;font-size:1.05rem;line-height:1.5;font-weight:600}
.route-strip a>.motion-illustration{color:#496d52}
.hero-bottom{border:0;margin-top:16px;padding:0;font-size:.83rem}
.section-heading{display:block;margin-bottom:28px}.section-heading>.section-label{margin-bottom:16px}
.section-heading>div{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:end}
.section-heading h2,.gallery-heading h2,.faq-heading h2{font-size:clamp(2.2rem,3.3vw,3.4rem);line-height:1.19;letter-spacing:-.04em;max-width:25ch}
.section-heading p:not(.section-label){font-size:1.1rem;line-height:1.75;max-width:47ch;margin:0}
.intro{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:0 48px}
.intro-grid{display:contents}.intro .section-label{grid-column:1;grid-row:1;margin-bottom:18px}
.intro-grid>div{grid-column:1;grid-row:2}
.intro h2{font-size:clamp(2.1rem,3vw,3.1rem);line-height:1.25;max-width:25ch}
.intro-body{font-size:1.1rem;line-height:1.8;max-width:50ch;margin-top:20px}
.intro .facts{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding-top:24px;margin-top:26px}
.intro .fact strong{font-size:clamp(2rem,3vw,3rem);font-weight:500;color:#876428}
.intro .fact span{font-size:.85rem;line-height:1.55;max-width:13ch}
.intro-photo{grid-column:2;grid-row:1/3;align-self:stretch;display:flex;flex-direction:column;overflow:hidden;min-width:0;border-radius:5px;background:#e5eade}
.intro-photo img{flex:1;width:100%;height:100%;min-height:340px;max-height:475px;object-fit:cover}
.intro-photo figcaption,.contact-photo figcaption{display:flex;justify-content:space-between;gap:14px;padding:16px 20px;font-size:.78rem;line-height:1.6}
.ecosystem{padding-top:24px;border:0}.ecosystem-grid{gap:22px}
.ecosystem .ecosystem-card{display:flex;flex-direction:column;padding:0;min-height:0;border:1px solid var(--line);border-radius:5px;background:#fffef9;color:var(--ink);overflow:hidden}
.ecosystem .ecosystem-card .card-index{padding:16px 22px;font-size:.77rem;letter-spacing:.04em;background:#e6ebdf}
.ecosystem .ecosystem-card:nth-child(2) .card-index{background:#ecdfba}
.ecosystem .ecosystem-card:nth-child(3) .card-index{background:#eedbcf}
.ecosystem .service-photo{width:100%;aspect-ratio:1.5;object-fit:cover}
.ecosystem .card-copy{padding:24px}.ecosystem .card-copy h3{font-size:1.85rem;font-weight:600}
.ecosystem .card-copy p{max-width:34ch;font-size:1.04rem;line-height:1.75;opacity:1;color:var(--muted)}
.ecosystem .card-domain{margin-top:auto;padding:18px 24px;font-size:.9rem;border-color:var(--line)}
.ecosystem .ecosystem-card:hover{border-color:#6c876f}
.operations{background:#193b32;color:#faf7ec;padding-block:58px 0}
.operations .section-label{color:#c2cfbe}.operations .section-label span:first-child{color:#e5c477}
.operations .section-heading p:not(.section-label){color:#d2ddce}
.operations-layout{grid-template-columns:1.1fr 1fr;gap:32px;align-items:start}
.operations-visual{position:relative;top:0;background:#112f27;border:1px solid #5b7765;border-radius:5px;overflow:hidden}
.operations-visual img{aspect-ratio:1.5;object-fit:cover}
.operations-caption{padding:18px 20px;min-height:72px;font-size:.96rem;color:#e0e9d9}
.operations-caption .circle{background:#e5c477;color:#193b32}
.operations .story-playback{min-height:40px;margin:0 20px 18px;padding:8px 14px;color:white;background:transparent;border:1px solid #7a9580;font-size:.85rem}
.operations .story-playback:hover{background:#365848}.story-steps{min-height:465px}
.story-step{padding:22px 18px;border-color:#66806d;border-radius:4px}.story-step:last-child{border-color:#66806d}
.story-step.active{background:#f1f0e4;border-color:#f1f0e4}
.story-step .story-button{color:#e4ecdd}.story-step.active .story-button{color:var(--ink)}
.story-step .story-button .step-title{font-size:clamp(1.2rem,1.7vw,1.65rem);line-height:1.4}
.story-panel{color:#48604e;font-size:1.05rem;line-height:1.8;padding:16px 12px 4px 42px}
.story-step .motion-illustration{color:#4f714e}.story-step:not(.active) .motion-illustration{color:#bbd0ad}
.network{display:block;border-color:#5b7765;margin-top:34px;padding:32px 0 50px}
.network-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:24px}
.network-heading h3{font-size:clamp(1.8rem,2.5vw,2.5rem);line-height:1.3;max-width:28ch;margin-top:12px}
.network-heading>p{font-size:1rem;line-height:1.75;color:#d2ddce;max-width:38ch}
.network-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.network-card{background:#f6f4e9;color:var(--ink);border-radius:5px;overflow:hidden}
.network-card img{width:100%;aspect-ratio:1.5;object-fit:cover}.network-card figcaption{padding:22px}
.network-card .network-country{display:block;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#63715c;margin-bottom:8px}
.network-card .network-place{font-size:1.5rem;font-weight:600;line-height:1.4;margin:0}
.network-card p{font-size:1rem;line-height:1.7;color:var(--muted);margin-top:12px}
.people-grid{grid-template-columns:.95fr 1fr 1fr;gap:28px;align-items:start}
.people-note{padding-right:0;max-width:none;font-size:1.08rem}.people-note p{line-height:1.8;margin-bottom:20px}
.people-note .mini-line{background:#b89c54;height:3px;margin-block:22px}
.people-scene{margin-top:24px}.people-scene img{aspect-ratio:1.5;object-fit:cover;border-radius:4px}
.people-scene figcaption{margin-top:12px;font-size:.86rem;line-height:1.6;color:var(--muted)}
.portrait{background:#e6ebdf;border-radius:5px;border-bottom:3px solid #b59a53;padding-bottom:20px;overflow:hidden}
.portrait img{aspect-ratio:.95;object-fit:cover;object-position:center top}
.portrait figcaption{padding:20px 22px 0}.portrait h3{font-size:1.5rem}.portrait p{font-size:.95rem}
.gallery-section{background:#e7ecdf;border:0;padding-block:42px}.gallery-heading h2{margin-top:14px}
.gallery-track{gap:20px;padding-bottom:16px;scrollbar-color:#859979 transparent}.gallery-item{flex-basis:44%}
.gallery-item img{aspect-ratio:1.55;object-fit:cover;border-radius:5px}.gallery-item figcaption{font-size:.95rem}
.gallery-hint{font-size:.85rem}.gallery-tools .icon-button{background:#fbfaf1;border-color:#9dad95}
.faq{border:0;grid-template-columns:.85fr 1.2fr;gap:56px}
.faq-heading h2{margin-top:16px;max-width:15ch}.faq-photo{margin-top:24px}
.faq-photo img{aspect-ratio:1.7;object-fit:cover;border-radius:5px}
.faq-photo figcaption{font-size:.88rem;color:var(--muted);margin-top:12px;line-height:1.7}
.faq-list details{background:#eceedf;border:0;margin-bottom:12px;padding-inline:24px;border-radius:4px}
.faq-list details:first-child{border:0}.faq-list details[open]{background:#e1e8d7}
.faq-list summary{font-size:1.14rem;line-height:1.6;padding:22px 0;gap:24px}
.faq-list details p{font-size:1.05rem;line-height:1.8;padding-bottom:24px}
.contact{background:#dfe7d4;padding-block:48px}.contact-grid{grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.contact h2{font-size:clamp(2.8rem,4vw,4.2rem);line-height:1.18;max-width:16ch;margin-top:18px}
.contact-copy{margin-top:24px}.contact-copy p{color:var(--muted);font-size:1.1rem;line-height:1.8;max-width:48ch;margin-bottom:24px}
.contact-phone{font-size:1rem}
.contact-photo{align-self:stretch;display:flex;flex-direction:column;border-radius:5px;background:#f1edda;overflow:hidden}
.contact-photo img{flex:1;width:100%;height:100%;min-height:350px;max-height:490px;object-fit:cover}
.footer{background:#153128;color:#faf7ec;padding-top:44px}.footer-top{grid-template-columns:1.5fr 1fr 1fr;gap:44px}
.footer .brand strong{color:#faf7ec;font-size:1.55rem}
.footer-brand-icon{width:48px;height:48px;flex:none;padding:3px;background:#f8f4e6;border-radius:4px}
.footer p{color:#c3d0b9;font-size:.95rem;line-height:1.8;max-width:38ch}
.footer h3{color:#c3d0b9;font-size:.83rem}.footer li{font-size:.97rem;overflow-wrap:anywhere}
.footer-bottom{margin-top:32px;padding-top:20px;border-color:#49624c;font-size:.84rem;color:#c3d0b9}
:where(a,button,summary):focus-visible{outline:3px solid #a57f2f;outline-offset:5px}

@media(max-width:1150px){
  .header-inner{gap:18px}.primary-nav{font-size:.9rem;gap:18px}.header-contact{display:none}
  .hero-copy{grid-template-columns:1.2fr 1fr;column-gap:28px}
  .hero h1{font-size:clamp(2.6rem,4.5vw,3.5rem)}.hero-actions{gap:18px}
  .hero-actions .button{gap:14px;padding-inline:16px;font-size:.92rem}.hero-actions .text-link{font-size:.92rem}
  .hero-description{font-size:1.06rem}.intro{gap:0 30px}
  .intro .facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
  .ecosystem .card-copy,.network-card figcaption{padding:20px}
  .ecosystem .ecosystem-card .card-index{padding-inline:18px;font-size:.7rem}
  .ecosystem .card-domain{padding-inline:20px;font-size:.8rem}.ecosystem .card-copy h3{font-size:1.6rem}
  .people-grid{gap:20px}
}
@media(max-width:800px){
  .header-inner{min-height:74px}.primary-nav{font-size:1.1rem}.header-actions{margin-left:auto}
  .hero-copy{grid-template-columns:1fr;gap:0}.hero h1{grid-row:auto;font-size:clamp(2.8rem,6.2vw,3.6rem)}
  .hero-description{grid-column:1;margin-top:22px;max-width:60ch;font-size:1.1rem}
  .hero-actions{grid-column:1;flex-direction:row;align-items:center}
  .hero-media{grid-template-columns:1.65fr 1fr;height:340px}
  .hero-details figcaption{padding:22px 12px 12px;font-size:.8rem}
  .hero-photo .photo-caption{padding:32px 18px 18px;font-size:.82rem}.photo-caption span:last-child{display:none}
  .route-strip a{padding:18px 14px;gap:8px}.route-strip small{font-size:.68rem}.route-strip b{font-size:.95rem}
  .route-strip a>.motion-illustration{width:32px;height:32px}
  .section-heading>div{display:block}.section-heading p:not(.section-label){margin-top:18px;max-width:60ch}
  .intro{display:block}.intro-grid{display:block}.intro .facts{grid-template-columns:repeat(4,minmax(0,1fr))}
  .intro-photo{margin-top:28px}.intro-photo img{height:auto;min-height:0;aspect-ratio:1.7}
  .ecosystem-grid{grid-template-columns:1fr;gap:20px}.ecosystem .ecosystem-card{display:grid;grid-template-columns:.9fr 1fr}
  .ecosystem .ecosystem-card .card-index{grid-column:1/-1}
  .ecosystem .service-photo{grid-column:1;grid-row:2/4;height:100%;aspect-ratio:auto}
  .ecosystem .card-copy,.ecosystem .card-domain{grid-column:2}.ecosystem .card-copy{padding-bottom:22px}
  .ecosystem .card-copy p{font-size:1.02rem}.ecosystem .card-domain{font-size:.86rem}
  .operations-layout{grid-template-columns:1fr;gap:24px}.operations-visual img{aspect-ratio:1.9}
  .story-steps{min-height:385px}.story-step .story-button .step-title{font-size:1.45rem}
  .network-heading{display:block}.network-heading>p{margin-top:16px;max-width:60ch}
  .network-grid{grid-template-columns:1fr;gap:16px}.network-card{display:grid;grid-template-columns:1fr 1.2fr}
  .network-card img{height:100%;min-height:200px;aspect-ratio:auto}
  .people-grid{grid-template-columns:1fr 1fr}
  .people-note{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 26px}
  .people-note p{grid-column:1;grid-row:1;display:block!important}.people-note .mini-line{display:none}
  .people-note .text-link{grid-column:1;grid-row:2;justify-self:start}.people-scene{grid-column:2;grid-row:1/3;margin:0}
  .portrait img{aspect-ratio:1}.gallery-item{flex-basis:70%}
  .faq{grid-template-columns:1fr;gap:28px}.faq-photo{display:none}.faq-heading h2{max-width:none}
  .contact-grid{gap:30px}.contact-photo img{min-height:400px}
  .footer-top{grid-template-columns:1fr 1fr;gap:32px}.footer-top>div:first-child{grid-column:1/-1}
  .footer-top>div:last-child{grid-column:auto}.footer-top>div:last-child ul{display:block}
}
@media(max-width:560px){
  .hero{padding-top:24px}.hero-topline{margin-bottom:22px}.hero-topline .eyebrow{font-size:.74rem}
  .hero-copy{margin-bottom:26px}.hero h1{font-size:clamp(2.3rem,9.1vw,3.3rem);line-height:1.18;letter-spacing:-.04em}
  .hero h1>span{display:block}.hero h1 span::after{content:none}
  .hero-description{font-size:1.06rem;line-height:1.75;margin-top:20px}.hero-actions{gap:18px;align-items:center}
  .hero-actions{gap:14px}.hero-actions .button{font-size:.87rem;gap:12px;padding-inline:12px}.hero-actions .text-link{font-size:.86rem;gap:8px}
  .hero-media{height:auto;grid-template-columns:1fr;gap:10px}.hero-photo{height:265px}
  .hero-photo .photo-caption{font-size:.83rem;padding:30px 16px 16px}
  .hero-details{grid-template-columns:1fr 1fr;grid-template-rows:1fr;gap:10px;height:150px}
  .hero-details figcaption{font-size:.76rem;line-height:1.5}
  .route-strip{grid-template-columns:1fr;margin-top:18px}
  .route-strip a{padding:17px 18px;border-right:0;border-bottom:1px solid var(--line)}
  .route-strip small{font-size:.73rem}.route-strip b{font-size:1rem}.route-strip a>.motion-illustration{width:38px;height:38px}
  .hero-bottom{font-size:.8rem;gap:18px}.hero-bottom>span{max-width:28ch}.section-label{font-size:.77rem}
  .section-heading h2,.intro h2,.gallery-heading h2,.faq-heading h2{font-size:2.1rem;line-height:1.25}
  .intro-body,.section-heading p:not(.section-label),.people-note p{font-size:1.06rem;line-height:1.8}
  .intro .facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
  .intro .fact strong{font-size:2.5rem}.intro .fact span{font-size:.9rem;max-width:none}
  .intro-photo img{aspect-ratio:1.35}
  .intro-photo figcaption,.contact-photo figcaption{font-size:.76rem;flex-direction:column;gap:4px}
  .ecosystem .ecosystem-card{display:flex}.ecosystem .service-photo{width:100%;height:auto;aspect-ratio:1.55}
  .ecosystem .ecosystem-card .card-index{font-size:.74rem;padding:16px 20px}
  .ecosystem .card-copy{padding:22px}.ecosystem .card-copy h3{font-size:1.8rem}.ecosystem .card-copy p{font-size:1.06rem}
  .ecosystem .card-domain{font-size:.9rem;padding:18px 22px}
  .operations{padding-top:44px}.operations-visual img{aspect-ratio:1.4}.operations-caption{font-size:.95rem;padding:16px}
  .operations .story-playback{margin-inline:16px;font-size:.85rem}.story-steps{min-height:475px}
  .story-step{padding:20px 12px}.story-step .story-button .step-title{font-size:1.25rem}
  .story-panel{font-size:1rem;padding:14px 6px 4px 28px}
  .network{margin-top:22px;padding-bottom:40px}.network-heading h3{font-size:1.9rem}
  .network-card{display:block}.network-card img{aspect-ratio:1.6;height:auto;min-height:0}
  .network-card figcaption{padding:22px}.network-card p{font-size:1.02rem}
  .people-grid{gap:24px 14px}.people-note{display:block}.people-note .text-link{font-size:.98rem}
  .people-scene{margin-block:24px}.people-scene img{aspect-ratio:1.65}.people-scene figcaption{font-size:.88rem}
  .portrait img{aspect-ratio:.8}.portrait figcaption{padding:16px 12px 0}.portrait h3{font-size:1.17rem}
  .portrait p{font-size:.87rem;line-height:1.5}.gallery-heading{align-items:end;gap:16px}.gallery-heading h2{max-width:15ch}
  .gallery-tools .icon-button{width:38px;height:38px}.gallery-item{flex-basis:90%}.gallery-item figcaption{font-size:.88rem}
  .gallery-hint{font-size:.8rem}.faq-list details{padding-inline:18px}
  .faq-list summary{font-size:1.06rem;padding-block:20px;gap:18px}.faq-list details p{font-size:1rem}
  .contact-grid{grid-template-columns:1fr}.contact h2{font-size:2.8rem}.contact-copy p{font-size:1.06rem}
  .contact-photo img{min-height:0;aspect-ratio:1.4;height:auto}
  .footer-top{gap:28px 20px}.footer p{font-size:.97rem}.footer li{font-size:.95rem}.footer h3{font-size:.8rem}
  .footer-bottom{font-size:.78rem;gap:18px;flex-wrap:wrap}
}
@media(max-width:360px){
  .header-inner{gap:8px}.brand{gap:8px}.brand strong{font-size:1.08rem}.onos-ref-logo{width:28px;height:28px}
  .header-actions{gap:5px}.language-switch{padding:2px}.menu-toggle{width:36px;height:36px}
}
@media(prefers-reduced-motion:reduce){.ecosystem-card:hover{transform:none}}
@media(prefers-contrast:more){:root{--muted:#344b3a;--line:#839178}.operations .section-heading p:not(.section-label),.network-heading>p{color:#f5f4eb}}
