/* IDEACOR / direction 08 — light, expressive and designed for touch. */
body{overflow-x:clip}
.header{transition:box-shadow .3s,background-color .3s}
.page-scrolled .header{box-shadow:0 8px 30px #12354f09;background:#fffffffa}
.home-hero,.lp-hero{isolation:isolate}
.home-hero.wrap{grid-template-columns:1.12fr 1fr;gap:24px;padding-block:48px 65px;min-height:760px;position:relative}
.home-hero:before{content:'';position:absolute;z-index:-1;left:-7%;top:8%;width:72%;height:78%;background:radial-gradient(ellipse at 45% 40%,#edf4f4 0,transparent 68%);pointer-events:none}
.hero-copy{position:relative;z-index:4}
.hero-copy>.eyebrow{display:flex;align-items:center;gap:13px;font-size:10px;letter-spacing:.12em;margin-bottom:27px}
.hero-copy>.eyebrow:before{content:'';display:block;width:35px;height:3px;background:var(--orange);animation:hero-rule 1.1s .1s both}
.home-hero .hero-copy h1{font-size:clamp(53px,6.2vw,96px);font-weight:700;letter-spacing:-.068em;line-height:1.035;position:relative;margin-right:-60px}
.hero-line{display:block;overflow:hidden;padding-block:.045em;margin-block:-.045em}
.hero-line>span{display:block;animation:hero-line-enter 1.1s cubic-bezier(.2,.75,.18,1) both;transform-origin:left bottom}
.hero-line:nth-child(2)>span{animation-delay:.12s}.hero-line:nth-child(3)>span{animation-delay:.24s}
.hero-heading em{display:inline-block;position:relative;font-weight:400}
.hero-heading .hero-line:last-child>span{padding-bottom:.05em}
.hero-copy .lead{max-width:390px;margin-top:28px;font-size:17px;line-height:1.65;animation:hero-copy-enter .8s .5s both}
.hero-copy .actions{gap:25px;margin-top:26px;animation:hero-copy-enter .8s .62s both}
.hero-copy .button{min-height:54px;padding-inline:23px}
.hero-copy .hero-foot{font-size:8px;letter-spacing:.08em;margin-top:36px;color:#69808b}
.hero-art{padding:0 0 42px 0;margin:0 -6px 0 0;transform-origin:center;animation:hero-image-enter 1.25s .15s cubic-bezier(.2,.75,.2,1) both}
.hero-photo{height:590px;border-radius:110px 8px 100px 8px;box-shadow:0 30px 70px -40px #12354f55;transform:rotate(3deg);background:#f5f1e9}
.hero-photo img{object-position:50% 60%}
.hero-photo figcaption{left:auto;right:16px;bottom:22px;max-width:210px;font-size:8px}
.home-hero .hero-seal{left:-25px;bottom:4px;width:225px;min-height:152px;background:#fff;color:var(--blue);border:1px solid #dbe2df;border-left:5px solid var(--orange);border-radius:2px;font-size:24px;padding:22px 26px;box-shadow:0 12px 30px #12354f09;animation:finish-card-float 6s ease-in-out infinite}
.home-hero .hero-seal b{font-size:24px}.home-hero .hero-seal>span{position:absolute;right:17px;top:17px;font-size:28px;color:var(--orange)}
.hero-color-edge{position:absolute;width:42%;height:52%;right:-15px;top:-15px;border:2px solid var(--orange);border-radius:100px 8px 100px 8px;z-index:0;transform:rotate(8deg);animation:edge-drift 9s ease-in-out infinite}
.home-hero:not(.scene-active) .hero-color-edge,.home-hero:not(.scene-active) .hero-seal,.lp-hero:not(.scene-active) .lp-stamp{animation-play-state:paused}
.landing .lp-hero{padding-top:32px}
.lp-hero-top{padding-bottom:8px}.campaign-tag{border-radius:20px;padding:10px 17px;font-size:9px;letter-spacing:.08em;background:#fff0df}
.lp-hero-title{grid-template-columns:1.8fr .75fr;gap:50px;padding:35px 0 38px;align-items:end}
.landing .lp-hero-title h1{font-size:clamp(64px,8.1vw,124px);line-height:1.005;letter-spacing:-.073em}
.lp-hero h1 em:after{height:8px;bottom:.065em;z-index:-1;transform:rotate(-2deg);transform-origin:left;animation:hero-rule 1.2s .6s both}
.lp-hero-title>div{padding-bottom:8px;animation:hero-copy-enter .9s .5s both}
.lp-hero .lead{font-size:17px;line-height:1.65}
.lp-image-wrap{margin-top:4px;animation:hero-wide-enter 1.25s .28s cubic-bezier(.2,.75,.2,1) both}
.lp-image{height:425px;border-radius:6px 70px 6px 6px;background:#f4eee7}
.landing .lp-image img{object-position:50% 58%}
.landing .lp-stamp{width:158px;height:158px;right:6%;top:-44px;border:1px solid #c8d6db;background:#fff;color:var(--blue);font-size:19px;line-height:1.15;box-shadow:0 12px 40px #12354f12;animation:finish-card-float 7s ease-in-out infinite}
.landing .lp-stamp b{font-size:19px}.lp-stamp>span{color:var(--orange);margin-top:4px}
.lp-ribbon{padding-block:22px}.lp-ribbon>span{font-size:36px;letter-spacing:-.025em;font-weight:700}
.page-intro{position:relative;isolation:isolate}
.page-intro:after{content:'';position:absolute;z-index:-1;pointer-events:none;right:-3%;top:0;width:55%;height:110%;background:radial-gradient(ellipse at 80% 45%,#edf4f5 0,transparent 68%)}
.page-intro h1{letter-spacing:-.065em}
.enhanced-motion [data-motion]{opacity:0;transform:translate3d(0,32px,0);transition:opacity .7s var(--reveal-delay,0ms),transform .95s cubic-bezier(.2,.75,.2,1) var(--reveal-delay,0ms)}
.enhanced-motion [data-motion].in-view{opacity:1;transform:none}
.photo[data-parallax] img{transform:translate3d(0,var(--photo-y,0px),0) scale(var(--photo-scale,1.09));transition:transform .5s cubic-bezier(.2,.6,.3,1)}
.hero-surface[data-parallax] img{transition:transform .3s linear}
.application-card:hover .application-photo img{--photo-scale:1.13;transform:translate3d(0,var(--photo-y,0px),0) scale(var(--photo-scale))}
.service-index>a{position:relative;overflow:hidden;transition:padding .35s,background-color .35s}
.service-index>a:before{content:'';position:absolute;inset:0;background:#ffffff0d;transform:translateX(-101%);transition:transform .55s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.service-index>a:hover:before{transform:none}.service-index>a h3,.service-index>a b{transition:transform .4s}.service-index>a:hover h3{transform:translateX(8px)}.service-index>a:hover b{transform:translate(4px,-4px)}
.steps>article{position:relative}.steps>article:after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--orange),transparent 80%);transform:scaleX(0);transform-origin:left;transition:transform 1s .2s}.steps>article.in-view:after{transform:scaleX(1)}
.button{position:relative;isolation:isolate;overflow:hidden;transition:background-color .3s,box-shadow .3s,transform .3s}
.button:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 20%,#ffffff25 50%,transparent 80%);transform:translateX(-120%);transition:transform .65s}
.button:hover:before{transform:translateX(120%)}.button>span{transition:transform .35s}.button:hover>span{transform:translate(3px,-3px)}
.button:active{transform:scale(.985)}.nav-link{position:relative}.nav-link:after{content:'';position:absolute;bottom:-6px;left:0;right:0;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .3s}.nav-link:hover:after,.nav-link[aria-current=page]:after{transform:scaleX(1)}
.application-card{transition:border-color .3s}.application-card:hover{border-color:var(--orange)}
.application-swipe-hint{display:none}
@keyframes hero-line-enter{from{opacity:.3;transform:translate3d(0,112%,0) rotate(3deg)}to{opacity:1;transform:none}}
@keyframes hero-copy-enter{from{opacity:0;transform:translateY(17px)}to{opacity:1;transform:none}}
@keyframes hero-image-enter{from{opacity:0;transform:translate3d(30px,35px,0) rotate(-4deg)}to{opacity:1;transform:none}}
@keyframes hero-wide-enter{from{opacity:.2;clip-path:inset(24% 0 24% 0 round 12px);transform:translateY(20px)}to{opacity:1;clip-path:inset(0 round 0);transform:none}}
@keyframes hero-rule{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes finish-card-float{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-9px) rotate(1deg)}}
@keyframes edge-drift{0%,100%{transform:translateY(0) rotate(8deg)}50%{transform:translateY(12px) rotate(3deg)}}
@media(min-width:1450px){.home-hero .hero-copy h1{font-size:104px}.hero-photo{height:640px}.home-hero.wrap{min-height:820px}}
@media(max-width:1150px){.home-hero.wrap{min-height:660px;padding-block:45px 55px}.hero-photo{height:500px;border-radius:80px 8px 80px 8px}.home-hero .hero-copy h1{font-size:clamp(51px,6.3vw,74px)}.hero-copy .lead{font-size:16px;max-width:345px}.hero-copy .actions{gap:16px}.home-hero .hero-seal{width:190px;min-height:133px;font-size:20px;padding:21px}.home-hero .hero-seal b{font-size:20px}.lp-hero-title{gap:30px}.landing .lp-hero-title h1{font-size:clamp(60px,8vw,98px)}.lp-image{height:365px}}
@media(max-width:950px) and (min-width:701px){.hero-copy .actions{align-items:start;flex-direction:column;gap:10px}.hero-photo{height:460px}.home-hero .hero-copy h1{font-size:clamp(48px,6vw,60px)}.home-hero.wrap{gap:10px}.hero-copy .hero-foot{display:block;margin-top:24px}.hero-copy .hero-foot span{display:block}.lp-hero-title{grid-template-columns:1.7fr .85fr;gap:25px}.landing .lp-hero-title h1{font-size:clamp(54px,7.5vw,72px)}.lp-hero .lead{font-size:14px}.landing .lp-stamp{width:135px;height:135px;font-size:16px}.landing .lp-stamp b{font-size:16px}}
@media(max-width:700px){
 .header{z-index:50}.header nav{position:absolute;left:0;right:0;top:100%;padding:23px 24px;background:#fff;border-bottom:1px solid #dae2e5;box-shadow:0 18px 28px #12354f10}.header nav.open{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}.header nav .nav-link{padding-block:10px;min-height:44px}.header .more{padding-block:10px}.header .more>div{z-index:2;min-width:230px}
 .home-hero.wrap{grid-template-columns:1fr;padding:25px 0 38px;gap:24px;min-height:0}.home-hero:before{width:110%;left:-10%;height:52%;top:0}
 .hero-copy>.eyebrow{font-size:8px;letter-spacing:.08em;gap:9px;margin-bottom:18px}.hero-copy>.eyebrow:before{width:27px;height:2px}
 .home-hero .hero-copy h1{font-size:clamp(40px,12.7vw,76px);letter-spacing:-.068em;line-height:1.035;margin-right:0}
 .hero-copy .lead{font-size:15px;line-height:1.6;max-width:430px;margin-top:20px}.hero-copy .actions{display:grid;grid-template-columns:1fr;gap:13px;margin-top:21px}.hero-copy .button{width:100%;justify-content:space-between;min-height:52px;font-size:13px;padding-inline:20px}.hero-copy .text-link{width:max-content;font-size:12px;margin:0}
 .hero-copy .hero-foot{font-size:7px;display:flex;justify-content:space-between;gap:6px;margin-top:20px;letter-spacing:.05em}.hero-copy .hero-foot span{display:inline}
 .hero-art{margin:0;padding:3px 8px 23px 8px}.hero-photo{height:340px;border-radius:70px 5px 60px 5px;transform:rotate(2deg);box-shadow:none}.hero-photo img{object-position:50% 62%}.hero-photo figcaption{right:12px;left:auto;bottom:17px;max-width:145px;font-size:7px}
 .home-hero .hero-seal{width:158px;min-height:112px;left:0;bottom:0;padding:16px 18px;font-size:18px;border-left-width:4px;box-shadow:0 8px 24px #12354f09}.home-hero .hero-seal b{font-size:17px}.home-hero .hero-seal>span{font-size:22px;right:12px;top:12px}.hero-color-edge{right:0;top:-7px;width:43%;height:55%;border-radius:65px 4px 60px 5px}
 .landing .lp-hero{display:grid;grid-template-areas:'top' 'title' 'art' 'copy';gap:22px;padding-top:22px}.lp-hero-top{grid-area:top;padding:0}.campaign-tag{font-size:8px;padding:8px 12px}.lp-hero-title{display:contents}.landing .lp-hero-title h1{grid-area:title;font-size:clamp(43px,13.2vw,78px);line-height:1.025;letter-spacing:-.073em}.lp-hero h1 em:after{height:5px;bottom:3px}
 .lp-image-wrap{grid-area:art;margin:9px 0 0}.lp-image{height:290px;border-radius:5px 60px 5px 5px}.landing .lp-image img{object-position:55% 50%}.lp-image figcaption{font-size:8px;max-width:205px}
 .landing .lp-stamp{width:100px;height:100px;font-size:12px;right:13px;top:-24px;border:1px solid #cfdbdf}.landing .lp-stamp b{font-size:12px}.lp-stamp>span{font-size:17px;margin-top:2px}
 .lp-hero-title>div{grid-area:copy;max-width:none;padding:0 0 31px}.lp-hero .lead{font-size:16px;max-width:480px;line-height:1.6}.lp-hero .button{width:100%;min-height:52px;justify-content:space-between;margin-top:20px}.lp-hero-title .small{font-size:9px}.lp-ribbon{padding-block:17px}.lp-ribbon>span{font-size:26px}.lp-ribbon i{padding-inline:27px}
 .application-swipe-hint{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:10px;color:#607581;margin:-7px 0 16px}.application-swipe-hint span{font-size:21px;color:var(--orange-dark)}
 .application-grid{display:grid;grid-auto-flow:column;grid-auto-columns:84%;grid-template-columns:none;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:20px;gap:18px;margin-inline:-20px;padding:0 20px 25px;scrollbar-width:thin;scrollbar-color:#cad6dc transparent}.application-card{scroll-snap-align:start;min-width:0}.application-photo,.landing .application-photo{height:235px}.application-copy h3{font-size:24px}.application-copy p{font-size:13px;min-height:62px}.application-action{min-height:44px;margin-top:13px}
 .enhanced-motion [data-motion]{transform:translate3d(0,20px,0);transition-duration:.6s,.8s}.enhanced-motion [data-motion].in-view{transform:none}
 .service-index>a:hover h3,.service-index>a:hover b{transform:none}.button{min-height:48px}.nav-link:after{bottom:4px}
 .page-intro:after{right:0;width:90%}.section-head h2{letter-spacing:-.045em}.steps article:after{height:2px}
}
@media(max-width:380px){.hero-copy .lead{font-size:14px}.hero-photo{height:310px}.lp-image{height:265px}.home-hero .hero-seal{width:148px;font-size:16px}.home-hero .hero-seal b{font-size:16px}.application-grid{grid-auto-columns:90%}}
.motion-paused .hero-line>span,.motion-paused .hero-copy .lead,.motion-paused .hero-copy .actions,.motion-paused .hero-art,.motion-paused .lp-hero-title>div,.motion-paused .lp-image-wrap{animation:none!important;opacity:1!important;transform:none!important;clip-path:none!important}
.motion-paused [data-motion]{opacity:1!important;transform:none!important}.motion-paused .hero-color-edge,.motion-paused .hero-seal,.motion-paused .lp-stamp,.motion-paused .hero-heading em:after,.motion-paused .hero-copy>.eyebrow:before{animation:none!important}
.page-hidden *,.page-hidden *:before,.page-hidden *:after{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.hero-line>span,.hero-copy .lead,.hero-copy .actions,.hero-art,.lp-hero-title>div,.lp-image-wrap{animation:none!important;opacity:1!important;transform:none!important;clip-path:none!important}.hero-color-edge,.hero-seal,.lp-stamp,.hero-heading em:after,.hero-copy>.eyebrow:before{animation:none!important}[data-motion]{opacity:1!important;transform:none!important}.photo[data-parallax] img{transform:none!important}.button,.button:before,.nav-link:after,.service-index>a,.service-index>a:before,.service-index>a h3,.service-index>a b,.steps>article:after{transition:none!important}}
