/* Motion and imagery extend the established PHG identity. */
[hidden]{display:none!important}
.site-header{background:rgba(255,255,255,.96);backdrop-filter:blur(16px);transition:box-shadow .3s}
.site-header.is-scrolled{box-shadow:0 6px 30px #0a203b12}
.reading-progress{position:absolute;bottom:-1px;left:0;right:0;height:3px;background:var(--orange);transform:scaleX(0);transform-origin:left;pointer-events:none}
.navigation a[aria-current="location"]::after{right:0}
.hero{position:relative;display:flex;flex-direction:column;isolation:isolate;overflow:hidden;min-height:760px;max-width:none;background:var(--navy-deep)}
.hero-media,.hero-shade{position:absolute;inset:0;z-index:-1}
.hero-media img,.hero-media video{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;object-position:center}
.hero-media video{opacity:0;transition:opacity 1s}
.hero-media video.is-playing{opacity:1}
.hero-shade{background:linear-gradient(90deg,rgba(7,24,45,.95) 0%,rgba(9,30,55,.88) 32%,rgba(9,30,55,.46) 67%,rgba(9,30,55,.14) 100%),linear-gradient(0deg,rgba(7,24,45,.72),transparent 42%)}
.hero-content{position:relative;display:block;padding:66px var(--gutter) 46px;width:100%;max-width:1530px;margin-inline:auto;flex:1}
h1{font-size:clamp(64px,6.4vw,96px);line-height:1.01;letter-spacing:-.05em;margin-top:25px}
.hero-description{max-width:510px;color:#d4dfea;font-size:17px;margin-top:25px;line-height:1.8}
.hero-actions{gap:30px;margin-top:30px}
.hero-bottom{max-width:1530px;width:100%;margin-inline:auto;padding:23px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #ffffff26}
.hero-footnote{margin:0;padding:0;flex-direction:row;color:#d0dbe7;font-size:12px}
.media-controls{display:flex;align-items:center;gap:20px;flex-shrink:0}
.visual-caption{margin:0;color:#d0dbe7;font-size:12px}
.motion-toggle{display:flex;align-items:center;gap:10px;padding:9px 13px;border:1px solid #ffffff61;color:white;background:#09203973;cursor:pointer;font-size:12px;min-height:40px;transition:background .2s}
.motion-toggle:hover{background:#102b4e}
.motion-icon{font-size:12px;width:13px;text-align:center;line-height:1}
.introduction{grid-template-columns:1.45fr 1fr;align-items:center;gap:70px;padding-block:86px}
.introduction h2{margin-top:21px;font-size:clamp(32px,3.2vw,45px)}
.introduction p:not(.eyebrow){font-size:16px}
.brand-film{position:relative;display:block;background:var(--navy);color:white;overflow:hidden;box-shadow:0 18px 50px #102b4e14}
.brand-film>img{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;transition:transform .6s}
.brand-film:hover>img{transform:scale(1.035)}
.brand-film-caption{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 23px;background:#0b2340;border-top:1px solid #ffffff20}
.film-eyebrow{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:12px;color:#bbcadd}
.brand-film-caption strong{display:block;font-size:14px;font-weight:600;margin-top:3px}
.play-circle{display:grid;place-items:center;width:43px;height:43px;border:1px solid #f0782480;border-radius:50%;color:var(--orange);font-size:13px;flex-shrink:0;transition:background .25s,color .25s}
.brand-film:hover .play-circle{background:var(--orange);color:var(--navy)}
.products{padding-block:86px 96px}
.product-grid{border:0;gap:23px;align-items:start}
.product{display:block;border:1px solid var(--rule);padding:0!important;min-height:0;background:white;overflow:hidden;transition:box-shadow .3s,border-color .3s}
.product::after{display:none}
.product:hover,.product[open]{background:white;border-color:#acb9c8;box-shadow:0 12px 32px #102b4e0b}
.product summary{display:block;cursor:pointer;list-style:none}
.product summary::-webkit-details-marker{display:none}
.product summary:focus-visible{outline:3px solid var(--orange);outline-offset:-3px}
.product-image{display:block;aspect-ratio:1.95;overflow:hidden;background:var(--paper)}
.product-image img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.65,.3,1),filter .4s;filter:saturate(.82)}
.product:hover .product-image img,.product[open] .product-image img{transform:scale(1.055);filter:saturate(1)}
.product:nth-child(3) .product-image img{object-position:75% 80%}
.product:nth-child(5) .product-image img{object-position:20% 70%}
.product-copy{display:block;padding:22px 24px 18px}
.product-number{display:block;font-size:12px;letter-spacing:.075em}
.product-title{display:block;font-family:'IBM Plex Serif',Georgia,serif;font-size:29px;line-height:1.22;letter-spacing:-.025em;margin-top:13px;min-height:39px}
.product-subtitle{font:14px 'IBM Plex Sans',Arial,sans-serif;display:inline-block;margin-left:7px;letter-spacing:0;white-space:nowrap}
.product-disclosure{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:12px;border-top:1px solid #e8ecf0;color:var(--muted);font-size:13px}
.product-plus{font-size:24px;line-height:1;color:#a94c0e;transition:transform .3s}
.product[open] .product-plus{transform:rotate(180deg)}
.product-detail{padding:0 24px 23px;animation:detail-appear .3s ease both}
.product-detail p{font-size:15px;max-width:none;margin-top:0}
.product-detail .text-link{margin-top:8px;font-size:13px;gap:13px}
.approach-inner{grid-template-columns:1.12fr 1fr;gap:85px;align-items:start}
.approach-photo{position:relative;margin-top:33px;overflow:hidden}
.approach-photo img{aspect-ratio:1.85;width:100%;height:auto;object-fit:cover}
.approach-photo figcaption{position:absolute;inset:auto 0 0;padding:30px 21px 16px;background:linear-gradient(transparent,#081e38d9);color:white;font-size:13px;letter-spacing:.02em}
.steps{margin-top:25px}
.steps li{padding:33px 0;position:relative;transition:padding-left .3s}
.steps li:hover{padding-left:8px}
.steps h3{font-family:'IBM Plex Serif',Georgia,serif;font-size:32px;font-weight:400}
.steps p{font-size:16px}
.contact{overflow:hidden}
.contact::before{content:'';position:absolute;width:540px;height:540px;border:1px solid #ffffff09;transform:rotate(30deg);right:-190px;top:-140px;pointer-events:none}
.contact-inner{position:relative}
.button span,.text-link span,.back-top span{transition:transform .25s}
.button:hover span,.text-link:hover span{transform:translate(3px,-2px)}
.back-top:hover span{transform:translateY(-4px)}
.film-dialog{width:min(960px,calc(100vw - 40px));max-height:90svh;border:1px solid #ffffff30;background:var(--navy-deep);color:white;padding:0;box-shadow:0 25px 100px #0008;overflow:auto}
.film-dialog::backdrop{background:#05101eeb;backdrop-filter:blur(8px)}
.dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 24px;border-bottom:1px solid #ffffff21}
.dialog-bar h2{font-family:'IBM Plex Sans',Arial,sans-serif;font-size:15px;font-weight:600}
.dialog-close{display:flex;align-items:center;gap:13px;border:0;background:transparent;color:white;padding:8px 0 8px 16px;cursor:pointer;font-size:14px}
.dialog-close span{font-size:25px;line-height:1}
.film-dialog video{display:block;aspect-ratio:16/9;width:100%;height:auto;background:var(--navy)}
.film-note{color:#bbcadd;font-size:12px;padding:14px 24px}
body.dialog-open{overflow:hidden}
@keyframes detail-appear{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@keyframes hero-appear{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){
 .hero-content>*{animation:hero-appear .8s cubic-bezier(.2,.65,.3,1) both}
 .hero-content>h1{animation-delay:.1s}.hero-description{animation-delay:.2s}.hero-actions{animation-delay:.3s}
 [data-reveal].reveal-pending{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.65,.3,1);transition-delay:var(--reveal-delay,0ms)}
 [data-reveal].reveal-pending.is-visible{opacity:1;transform:translateY(0)}
}
@media(min-width:1600px){.hero-content{padding-left:var(--gutter);padding-top:75px}.hero{min-height:820px}}
@media(max-width:1100px){.hero{min-height:750px}.hero-content{padding-top:58px}.hero-bottom{align-items:flex-start}.media-controls{align-items:flex-end;flex-direction:column;gap:8px}.hero-footnote{max-width:390px}.introduction{gap:40px}.product-grid{gap:17px}.product-copy{padding:19px 19px 16px}.product-detail{padding:0 19px 20px}.product-title{font-size:26px}.approach-inner{gap:55px}}
@media(max-width:900px){.hero-footnote{flex-direction:column;align-items:flex-start;gap:3px}.footnote-rule{display:none}.introduction{grid-template-columns:1.3fr 1fr;gap:30px}.introduction h2{font-size:34px}.brand-film-caption{padding:14px 17px}.film-eyebrow{font-size:12px}.brand-film-caption strong{font-size:13px}.play-circle{width:36px;height:36px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.approach-inner{gap:35px}}
@media(max-width:700px){
 .hero{min-height:0}.hero-content{padding:53px var(--gutter) 48px}h1{font-size:clamp(48px,11.4vw,74px)}
 .hero-shade{background:linear-gradient(90deg,#081d36ec,#081d3699),linear-gradient(0deg,#081d36b3,transparent)}
 .hero-description{font-size:16px;margin-top:25px;max-width:450px}.hero-actions{gap:22px}
 .hero-media img,.hero-media video{object-position:60% center}.hero-bottom{padding:20px var(--gutter);gap:18px;flex-direction:column}
 .hero-footnote{max-width:none;font-size:12px}.media-controls{flex-direction:row;width:100%;justify-content:space-between;align-items:center;gap:15px}.visual-caption{max-width:200px;font-size:12px}.motion-toggle{font-size:12px;flex-shrink:0}
 .introduction{grid-template-columns:1fr;padding-block:56px;gap:32px}.introduction h2{font-size:35px}.brand-film{max-width:450px;width:100%}.brand-film-caption strong{font-size:14px}.play-circle{width:42px;height:42px}
 .products{padding-block:57px 62px}.product-grid{gap:15px}.product-copy{padding:18px 16px 14px}.product-title{font-size:25px;min-height:60px}.product-subtitle{display:block;margin:5px 0 0;font-size:13px}.product-disclosure{font-size:12px;margin-top:10px}.product-detail{padding:0 16px 20px}.product-detail p{font-size:14px}.product-detail .text-link{font-size:12px;gap:7px}.product-number{font-size:12px;letter-spacing:.01em}.product-image{aspect-ratio:1.6}
 .approach-inner{grid-template-columns:1fr;gap:24px}.approach-photo{max-width:480px;margin-top:28px}.steps{margin-top:5px}.steps li{padding:25px 0}.steps h3{font-size:29px}.steps p{font-size:16px}
 .film-dialog{width:calc(100vw - 24px)}.dialog-bar{padding:10px 16px}.dialog-bar h2{font-size:14px}.film-note{padding:12px 16px}
}
@media(max-width:380px){h1{font-size:clamp(40px,12.8vw,48px)}.hero-content{padding-top:40px}.hero-actions{gap:14px}.hero-bottom{padding-block:17px}.media-controls{gap:10px}.visual-caption{max-width:135px}.introduction h2{font-size:31px}.product-grid{grid-template-columns:1fr}.product-title{min-height:0;font-size:29px}.product-subtitle{display:inline-block;margin-left:7px}.product-copy{padding:21px}.product-detail{padding:0 21px 23px}.product-image{aspect-ratio:2}.product-disclosure{font-size:13px;margin-top:17px}.product-number{letter-spacing:.07em}.product-detail p{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-media video{transition:none}[data-reveal]{opacity:1!important;transform:none!important}.product:hover .product-image img,.product[open] .product-image img,.brand-film:hover>img,.button:hover span,.text-link:hover span,.back-top:hover span{transform:none}.steps li:hover{padding-left:0}}
