/* The Sharp campaign: cinematic photography and controlled, accessible motion. */
.hero.campaign-hero{height:100svh;min-height:720px;max-height:none;background:#020b21;isolation:isolate}
.campaign-background{position:absolute;inset:0;z-index:-3;display:block;overflow:hidden}
.campaign-background img{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.06)}
.scene{opacity:0;transition:opacity 1.6s ease;pointer-events:none}
.scene.is-active{opacity:1;z-index:-2}
.scene.is-active img{animation:scene-drift 9s cubic-bezier(.18,.5,.4,1) both}
.campaign-hero .hero-shade{z-index:-1;background:linear-gradient(0deg,rgba(2,9,27,.6),transparent 24%),linear-gradient(90deg,rgba(2,9,27,.12),transparent 70%);pointer-events:none}
.campaign-hero .hero-content{width:min(calc(100% - 144px),1280px);padding:125px 0 125px;text-align:left}
.hero-eyebrow{display:flex;align-items:center;gap:13px;color:#cbe8f7;font-size:11px;font-weight:600;letter-spacing:.24em;margin:0 0 32px;animation:hero-rise 1.2s .05s both}
.hero-eyebrow>span{width:36px;height:1px;background:#cbe8f7}
.campaign-hero .campaign-heading{width:min(650px,46vw);margin:0;display:grid;gap:25px;font-size:inherit;line-height:1;white-space:normal}
.campaign-heading picture{display:block;margin:0;overflow:hidden}
.campaign-heading img{display:block;height:auto;max-width:100%}
.campaign-heading .campaign-lead img{width:69.44%;animation:hero-rise 1.4s .18s both}
.campaign-heading .campaign-keyword img{width:100%;animation:hero-rise 1.4s .4s both}
.campaign-hero .campaign-brand{display:block;width:min(320px,24vw);margin:36px 0 0;animation:hero-rise 1.3s .65s both}
.campaign-brand img{width:100%;height:auto}
.campaign-hero .hero-actions{margin-top:38px;justify-content:flex-start;flex-direction:row;width:auto;max-width:none;animation:hero-rise 1.3s .85s both}
.campaign-hero .hero-actions .button{min-height:56px;padding:0 28px;font-size:15px}
.arc-experience .button-accent{background:#c2e7f1;color:#082842;box-shadow:0 6px 35px #080f2520}
.arc-experience .button{position:relative;overflow:hidden;transition:background .3s,transform .3s,box-shadow .3s}
.arc-experience .button:hover{transform:translateY(-3px);box-shadow:0 9px 32px #05112530}
.arc-experience .button-accent:hover{background:#e0f5fb}
.hero-bottom{position:absolute;bottom:35px;left:0;width:100%;padding:0 max(72px,calc((100vw - 1280px)/2));display:flex;justify-content:space-between;align-items:end;color:#fff;gap:24px;animation:hero-rise 1s 1s both}
.scene-controls{display:flex;align-items:center;gap:16px}
.scene-controls button{border:0;background:transparent;color:#fff;cursor:pointer;display:grid;place-items:center;flex-shrink:0}
.scene-step{font:300 27px/1 Arial,sans-serif;width:30px;height:40px}
.scene-index{display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.1em;white-space:nowrap}
.scene-index b{font-size:19px;font-weight:500}.scene-index>span{color:#bbc5d7}
.scene-dots{display:flex;gap:7px}.scene-dots button{width:40px;height:40px;padding:0;position:relative}
.scene-dots button:before{content:"";height:2px;width:100%;background:#ffffff40;position:absolute}
.scene-dots button>span{height:2px;width:100%;background:#c2e7f1;transform:scaleX(0);transform-origin:left;position:relative}
.scene-dots button[aria-pressed=true]>span{transform:scaleX(1)}
.campaign-hero.is-playing .scene-dots button[aria-pressed=true]>span{animation:slide-progress 8s linear both}
.campaign-hero.is-paused .scene-dots button[aria-pressed=true]>span{animation-play-state:paused}
.scene-pause{height:40px;width:32px;font-size:15px;border:1px solid #ffffff35!important;border-radius:50%}
.scene-controls button:hover{color:#bde7f3}.scene-controls button:focus-visible,.premium-controls button:focus-visible{outline:2px solid #bde7f3;outline-offset:4px}
.hero-explore{font-size:9px;letter-spacing:.17em;color:#dbe8f3;display:flex;flex-direction:column;align-items:center;gap:14px;white-space:nowrap}
.hero-explore span{display:block;height:39px;width:1px;background:#ffffff2b;position:relative;overflow:hidden}
.hero-explore span:after{content:"";position:absolute;width:1px;height:20px;background:#d6eaf2;animation:scroll-line 2.4s infinite}
.scene-caption{text-align:right;font-size:13px;margin:0;line-height:1.8;color:#e0e8ef}.scene-caption small{display:block;font-size:10px;color:#a9b7ca;margin-top:4px}
.reading-progress{position:absolute;bottom:-1px;left:0;height:2px;width:100%;background:#b8deec;transform:scaleX(0);transform-origin:left;pointer-events:none}
.site-header{transition:background .5s,box-shadow .5s}.site-header.is-scrolled{backdrop-filter:blur(18px);background:rgba(3,16,37,.9);box-shadow:0 5px 30px #00102715}
.desktop-nav a{position:relative}.desktop-nav a:after{content:"";position:absolute;bottom:-14px;left:0;width:100%;height:1px;background:#c2e7f1;transform:scaleX(0);transition:transform .3s;transform-origin:left}
.desktop-nav a:hover:after,.desktop-nav a.is-current:after{transform:scaleX(1)}
.arc-experience .facts{background:#03162f;color:#fff;border-top:1px solid #a9ced426}
.facts-inner{padding-top:42px;padding-bottom:42px}.facts article{border-color:#bcd4e226}.facts span{color:#9db4ca;letter-spacing:.04em}
.facts strong{font-size:52px;font-weight:400;color:#d1ecf6}.facts strong .count-value{font:inherit;color:inherit;letter-spacing:-.04em}
.arc-experience .benefit-section{background:radial-gradient(ellipse at 88% 45%,#163d5f 0,transparent 55%),#071a33;padding-top:135px;padding-bottom:120px;overflow:hidden}
.benefit-layout{gap:9%;align-items:center}.benefit-copy h2{font-size:clamp(38px,4.2vw,62px);font-weight:500;letter-spacing:-.065em;line-height:1.23}
.benefit-copy .section-kicker{margin-bottom:25px;letter-spacing:.2em}.benefit-list li{border-color:#acc8d72b}.benefit-list strong{font-weight:400}.benefit-list .benefit-word{font-weight:500}.benefit-lead{color:#b8c9d9!important}
.cinema-poster{position:relative;min-height:635px;border:1px solid #bcdfed36;padding:45px 30px;text-align:center;isolation:isolate;box-shadow:0 30px 90px #010b1e70}
.cinema-poster:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#07213bf5 0,#09253ba8 48%,#071c3720 80%)}
.cinema-poster>img{position:absolute;inset:0;width:100%;height:100%;margin:0;max-width:none;object-fit:cover;object-position:68% center;z-index:-2;transition:transform 1.7s ease}
.cinema-poster:hover>img{transform:scale(1.05)}
.cinema-poster .poster-number{font-size:155px;line-height:1.1;margin:24px 0 10px;color:#d5f0fa;font-weight:400;letter-spacing:-.08em}.cinema-poster .poster-number small{letter-spacing:0}
.cinema-poster h3{font-size:32px;font-weight:500}.cinema-poster>p:last-of-type{font-size:15px;color:#d6e5ef}.cinema-poster .poster-kicker{letter-spacing:.18em;font-size:11px}
.arc-experience .heritage-values{background:#020a1c;color:#fff;overflow:hidden;padding:110px 0 80px}
.premium-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:50px;gap:30px}
.premium-heading .section-kicker{color:#8daec6;font-size:11px;letter-spacing:.24em;margin-bottom:24px}
.premium-heading h2{font-size:clamp(42px,4.6vw,70px);font-weight:400;line-height:1.15;letter-spacing:-.06em;margin:0}
.premium-heading em{color:#abcfe1;font-style:normal}.premium-heading-side{display:flex;align-items:end;gap:45px}.premium-heading-side p{color:#aebdd0;line-height:1.9;font-size:15px;margin:0}
.premium-controls{display:flex;gap:10px}.premium-controls button{width:46px;height:46px;border:1px solid #8bacbf55;border-radius:50%;background:none;color:#d0e8f4;font-size:26px;font-weight:300;cursor:pointer;transition:background .3s}
.premium-controls button:hover{background:#c5e4ee;color:#062139}
.arc-experience .value-grid{display:flex;gap:16px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory}
.value-grid::-webkit-scrollbar{display:none}
.value-grid .premium-card{flex:1 1 0;min-width:0;padding:0;position:relative;border:0;border-radius:3px;isolation:isolate;overflow:hidden;min-height:440px;transition:flex .7s cubic-bezier(.2,.7,.3,1);scroll-snap-align:start;outline-offset:4px}
.premium-card:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0712260a 12%,#06102660 40%,#020a1ceb 100%)}
.premium-card>img{position:absolute;width:100%;height:100%;object-fit:cover;inset:0;z-index:-2;transform:scale(1.02);transition:transform 1s,filter .7s;filter:saturate(.7)}
.value-grid .premium-card.is-active{flex:1.45}.premium-card.is-active>img,.premium-card:hover>img{filter:saturate(1);transform:scale(1.08)}
.premium-card-number{position:absolute;top:26px;left:27px;color:#fff9!important;font-size:12px!important;letter-spacing:.1em}
.premium-card-copy{position:absolute;bottom:32px;left:27px;right:27px}.premium-card-copy>span{display:block;color:#c2d9e8;font-size:10px;letter-spacing:.12em;white-space:nowrap}
.premium-card-copy h3{font-size:25px;font-weight:500;color:#fff;letter-spacing:-.04em;line-height:1.3;margin:16px 0}
.premium-card-copy p{color:#c4d0de;font-size:14px;line-height:1.75;margin:0}
.premium-image-note{font-size:11px;color:#72849d;margin-top:23px}
.arc-experience .cinema-intro{position:relative;min-height:650px;display:flex;align-items:center;isolation:isolate;background:#06152a;color:#fff;overflow:hidden;padding:140px 0}
.cinema-intro .split-preview{display:block}.cinema-intro .preview-copy{width:48%;position:relative;z-index:1}
.cinema-intro .preview-copy h2{font-size:clamp(38px,4.3vw,64px);font-weight:400;letter-spacing:-.06em}.cinema-intro .preview-copy p{color:#c0d2e3;font-size:17px;line-height:1.9}.cinema-intro .section-kicker{color:#aed0e1!important;letter-spacing:.2em;font-size:11px!important}
.cinema-intro .preview-visual{position:absolute;inset:0;width:100%;height:100%;z-index:-2;margin:0;max-width:none;opacity:1;transform:none}.cinema-intro .preview-visual img{height:100%;width:100%;object-fit:cover;object-position:65% center;transition:transform 2s;transform:scale(1.07)}
.cinema-intro .preview-visual.in-view img{transform:scale(1)}
.cinema-intro:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#06152abb,transparent 90%);z-index:-1}
.arc-experience .section-heading h2,.location-copy h2{font-weight:500;letter-spacing:-.06em}.section-heading .section-kicker{letter-spacing:.2em}
.project-section{background:#f8fafb}.project-visual{overflow:hidden;box-shadow:0 20px 50px #0c294215}.project-visual img{transition:transform 1.8s}.project-visual:hover img{transform:scale(1.025)}
.arc-experience .project-data{background:#fff;border:1px solid #dde6ec;padding:20px 30px}.arc-experience .location-section{background:#e9f0f5}.location-map{background:#fff;padding:20px;box-shadow:0 20px 50px #0c294212}
.traffic-grid article{position:relative;overflow:hidden;transition:background .3s,transform .3s}.traffic-grid article:hover{background:#eaf2f7;transform:translateY(-5px)}
.arc-experience .type-intro{background:linear-gradient(130deg,#07223e,#215373)}.type-intro h3{font-weight:400;letter-spacing:-.07em}.arc-experience .reserve-section{background:radial-gradient(ellipse at 0 0,#204c6b,transparent 70%),#051830}.reserve-copy h2{font-weight:500;letter-spacing:-.06em}.counsel-form{box-shadow:0 30px 80px #000a1c45}
.motion-ready .motion-reveal{opacity:0;transform:translateY(40px);transition:opacity 1s var(--reveal-delay,0ms),transform 1.15s cubic-bezier(.18,.65,.25,1) var(--reveal-delay,0ms)}
.motion-ready .motion-reveal.in-view{opacity:1;transform:translateY(0)}
.motion-ready .cinema-intro .preview-visual{opacity:1;transform:none}
@keyframes scene-drift{from{transform:scale(1.07)}to{transform:scale(1)}}
@keyframes hero-rise{from{opacity:0;transform:translateY(42px)}to{opacity:1;transform:translateY(0)}}
@keyframes slide-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes scroll-line{0%{transform:translateY(-25px)}80%,100%{transform:translateY(50px)}}
@media(min-width:761px) and (max-width:1120px){
 .campaign-hero .hero-content{width:calc(100% - 80px)}.campaign-hero .campaign-heading{width:56vw}.campaign-hero .campaign-brand{width:290px}.hero-bottom{padding:0 40px}.scene-caption{display:none}.hero-explore{margin-left:auto}.campaign-background img{object-position:62% center}
 .benefit-layout{gap:5%}.cinema-poster{min-height:610px}.premium-card-copy{left:18px;right:18px}.premium-card-copy h3{font-size:22px}.premium-card-copy p{font-size:13px}.value-grid{gap:10px!important}
}
@media(max-width:760px){
 .hero.campaign-hero{margin-top:64px;height:calc(100svh - 124px);min-height:610px;max-height:900px;aspect-ratio:auto;display:block}
 .campaign-hero .hero-content{position:absolute;inset:8% 0 auto;width:86%;padding:0;margin:0 auto;text-align:center}
 .hero-eyebrow{font-size:8px;letter-spacing:.15em;justify-content:center;gap:8px;margin-bottom:25px}.hero-eyebrow>span{width:18px}
 .campaign-hero .campaign-heading{width:100%;display:grid;gap:10px;margin:0;line-height:1}
 .campaign-heading .campaign-lead img,.campaign-heading .campaign-keyword img{width:100%}
 .campaign-hero .campaign-brand{width:100%;margin:26px 0 0}
 .campaign-background img{object-fit:cover;object-position:center center}
 .campaign-hero .hero-actions{display:none}.campaign-hero .hero-shade{background:linear-gradient(0deg,#020b21c9,transparent 24%)}
 .hero-bottom{padding:0 24px;bottom:22px;justify-content:center}.scene-controls{gap:10px}.scene-dots button{width:32px}.hero-explore,.scene-caption{display:none}
 .site-header:not(.is-scrolled){background:#04132b}.brand img{max-width:220px}
 .facts-inner{padding:22px 0}.facts article{padding:22px 12px}.facts span{font-size:12px}.facts strong{font-size:39px}
 .arc-experience .benefit-section{padding:80px 0}.benefit-layout{gap:50px}.benefit-copy h2{font-size:38px}.benefit-copy .section-kicker{font-size:10px}.benefit-lead{font-size:16px!important}
 .cinema-poster{min-height:500px;padding:35px 25px}.cinema-poster h3{font-size:29px}.cinema-poster .poster-number{font-size:132px;margin:16px 0 8px}
 .arc-experience .heritage-values{padding:75px 0 50px}.premium-heading{align-items:end;margin-bottom:32px;gap:15px}.premium-heading h2{font-size:40px}.premium-heading .section-kicker{font-size:9px;letter-spacing:.14em}.premium-heading-side{display:block}.premium-heading-side p{display:none}.premium-controls{gap:6px}.premium-controls button{width:36px;height:36px}
 .arc-experience .value-grid{width:100%;padding:0 24px;gap:14px;scroll-padding-left:24px}.value-grid .premium-card,.value-grid .premium-card.is-active{flex:0 0 83%;min-height:450px}.premium-card-copy{left:28px;right:28px;bottom:35px}.premium-card-copy h3{font-size:29px}.premium-card-copy p{font-size:15px}.premium-card-copy>span{font-size:11px}.premium-image-note{font-size:10px;line-height:1.7}
 .arc-experience .cinema-intro{min-height:650px;padding:75px 0;align-items:flex-start}.cinema-intro .preview-copy{width:100%}.cinema-intro .preview-copy h2{font-size:37px}.cinema-intro .preview-copy p{font-size:15px;max-width:340px}.cinema-intro .preview-visual img{object-position:69% center}.cinema-intro:after{background:linear-gradient(180deg,#07162ced,transparent 95%)}
 .arc-experience .project-data{padding:10px 20px}.location-map{padding:12px}.arc-experience .section-heading h2,.location-copy h2{font-size:34px}
 .motion-ready .motion-reveal{transform:translateY(26px)}.motion-ready .motion-reveal.in-view{transform:none}
}
@media(max-width:359px){.hero.campaign-hero{min-height:545px}.hero-eyebrow{font-size:7px;letter-spacing:.1em}.campaign-hero .campaign-brand{margin-top:20px}.scene-controls{gap:5px}.premium-heading h2{font-size:35px}.premium-card-copy h3{font-size:25px}.premium-card-copy{left:22px;right:22px}}
@media(prefers-reduced-motion:reduce){
 *,*:before,*:after{scroll-behavior:auto!important}
 .scene,.scene img,.campaign-hero img,.hero-eyebrow,.campaign-brand,.hero-actions,.hero-bottom,.scene-dots button>span,.hero-explore span:after{animation:none!important;transition:none!important;transform:none!important}
 .motion-ready .motion-reveal{opacity:1;transform:none;transition:none}.premium-card,.premium-card img,.cinema-intro img{transition:none!important;transform:none!important}
}
