/* New layout (homepage, inner pages, careers, motion). Loaded after responsive.css.
   The phone header and menu are in mobile.css. */
  
.hero{padding:80px 0}.hero h1{font-size:clamp(34px,4.5vw,54px);line-height:1.12}.hero .hg{grid-template-columns:1.3fr 1fr}.hero .in{max-width:700px}.home-product{padding:24px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 22px 50px #14212b22;color:var(--ink)}.home-product .kick{color:var(--lnk)}.home-product h2{margin:18px 0 0}.home-product p{color:var(--mute);margin:4px 0 14px;font-size:16px}.home-areas{grid-template-columns:repeat(3,1fr)}.home-area{transition:transform .2s,border-color .2s}.home-area:hover{transform:translateY(-3px);border-color:var(--lnk)}.home-area .cb{padding:26px;gap:14px}.cb{gap:12px}.cb p{line-height:1.7}.cta>div:first-child{flex:1;min-width:240px}.cta p{max-width:70ch;margin:12px 0 0;color:var(--lt2)}.expertise-panel{padding:40px;border-radius:18px;background:var(--tint);border:1px solid var(--line)}.expertise-panel .kick{color:var(--lnk)}.expertise-panel h3{font-size:32px;line-height:1.4;margin:20px 0}.expertise-panel p{color:var(--mute)}.development-art{height:190px;background:linear-gradient(135deg,var(--tint),#f6f9fc);display:flex;flex-direction:column;justify-content:center;padding:28px;color:var(--ink)}.development-art span{font-size:10px;letter-spacing:.12em}.development-art b{font-size:32px;margin:10px 0}.development-art small{color:var(--mute)}
@media(max-width:800px){.hero .hg,.home-areas{grid-template-columns:1fr}.hero{padding:44px 0}.home-product{max-width:540px;width:100%;margin:auto}.cta{padding:26px}.expertise-panel{padding:26px}}

:root{--motion-ease:cubic-bezier(.22,.61,.36,1)}
.rv{opacity:0;transform:translateY(16px);transition:opacity 520ms var(--motion-ease),transform 520ms var(--motion-ease);transition-delay:var(--reveal-delay,0ms)}
.rv.in{opacity:1;transform:translateY(0)}
.btn{transition:transform 180ms ease,box-shadow 180ms ease,background-color 180ms ease,filter 180ms ease}
.btn:active{transform:translateY(0) scale(.98)}
nav a{transition:background-color 180ms ease,color 180ms ease}
.home-area,.card.click,.tile{transition:transform 240ms var(--motion-ease),box-shadow 240ms ease,border-color 240ms ease,opacity 520ms ease}
.rv:not(.in){transition-delay:var(--reveal-delay,0ms)}
.rv.in{transition-delay:0ms}
@media(hover:hover) and (pointer:fine){
 .btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #14212b22}
 .home-area.in:hover,.card.click.in:hover,.tile.in:hover{transform:translateY(-4px);box-shadow:0 12px 26px #14212b14}
 .home-product{transition:box-shadow 250ms ease}.home-product:hover{box-shadow:0 26px 56px #14212b30}
}
.hero .in{animation:hero-enter 650ms var(--motion-ease) both}
.hero .home-product{animation:hero-enter 750ms var(--motion-ease) 100ms both}
@keyframes hero-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .rv{opacity:1!important;transform:none!important}
 .btn:hover,.home-area:hover,.card.click:hover,.tile:hover{transform:none!important}
}

.pro{--pro-dark:#18394c;--pro-text:#334d5c;color:var(--pro-dark);background:#fff}
.pro .pro-hero{background:linear-gradient(115deg,#edf3f7,#f8fafb);padding:52px 0 58px;border-bottom:1px solid var(--line)}
.pro-back{display:block;color:#4d687b;font-size:13px;margin-bottom:28px;width:max-content}.pro-back:hover{text-decoration:underline}
.pro-eyebrow{display:block;color:#396d96;font-size:11px;font-weight:800;letter-spacing:.14em;margin-bottom:14px}
.pro-hero h1{font-size:clamp(32px,4.2vw,52px);line-height:1.12;letter-spacing:-.035em;max-width:830px;margin:0 0 20px}.pro-hero p{max-width:680px;font-size:18px;color:#526977;margin:0}
.pro h2{font-size:clamp(24px,3vw,32px);line-height:1.25;letter-spacing:-.025em;margin:0 0 14px}.pro h3{line-height:1.35}.pro p{color:var(--pro-text)}
.pro section{padding:60px 0}.pro section.t{background:#f2f6f8}.pro .card{border-radius:12px;border-color:#dce5ea;box-shadow:0 4px 16px #17394c04}.pro .cb{padding:26px;gap:13px}.pro .cb p{font-size:15px}.pro .cb .lk{margin-top:8px}.pro .tag{font-size:10px;letter-spacing:.12em;color:#86621e}
.pro .btn{border-radius:6px;font-size:14px;padding:12px 18px}.pro .btn.alt{border-width:1px}.pro .pro-num{font-size:13px;font-weight:800;color:#547d9a;margin-bottom:8px}
.pro .layout{grid-template-columns:230px minmax(0,1fr);gap:32px}.pro aside{border-color:#dce5ea;border-radius:10px;padding:24px}.pro aside label{margin:9px 0}.pro aside .btn{margin-top:16px}.pro-list-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.pro-list-heading h2{margin:0}.pro-list-heading span{font-size:13px;color:#637c8b}
.pro-callout{display:flex;align-items:center;justify-content:space-between;gap:28px}.pro-callout p{max-width:660px;margin-bottom:0}.pro-callout .btn{flex-shrink:0}
.pro-editorial{display:grid;grid-template-columns:1fr 2fr;gap:48px}.pro-editorial p{max-width:720px}.pro-editorial h2{max-width:680px}
.pro-art{background:linear-gradient(145deg,#e6eef4,#f9fbfc);padding:32px;display:flex;flex-direction:column;justify-content:center;gap:12px}.pro-art strong{font-size:32px;line-height:1.2}.pro-art>span:last-child{font-size:14px;color:#5b7586}.pro-product-image{border:1px solid #dce5ea;border-radius:12px;overflow:hidden}.pro-summary{padding:16px 0}.pro-summary .tag{display:block;margin-bottom:14px}.pro-summary>.lk{display:inline-block;margin-top:26px}
.pro-table{overflow-x:auto;border:1px solid #dce5ea;border-radius:10px}.pro table{border:0;background:white}.pro th{width:40%;font-weight:600;color:#456174}.pro td{color:#203b4b}.pro tr:nth-child(odd){background:#f8fafb}.pro tr td{background:transparent}
.pro-process{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin:36px 0 0}.pro-process li{position:relative}.pro-process li:not(:last-child):after{content:'';position:absolute;top:23px;left:61px;right:-10px;height:1px;background:#a7becd}.pro-process-dot{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--deep);color:white;font-size:14px;font-weight:800;border:4px solid #e0eaf1}.pro-process h3{margin:20px 0 8px}.pro-process p{font-size:14px;margin:0;max-width:240px}
.pro-contact-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);gap:40px;align-items:start}.pro .form{max-width:none;padding:32px;gap:20px}.pro .form h2{font-size:26px;margin:0}.pro .form p{margin:0}.pro .pro-field{display:grid;gap:8px;font-size:13px;font-weight:600;color:#334e60}.pro input,.pro select,.pro textarea{background:#fff;border:1px solid #bfcfd9;border-radius:6px;font-size:15px}.pro textarea{resize:vertical}.pro input:focus,.pro textarea:focus,.pro select:focus{outline:2px solid #5d91b5;outline-offset:2px}.pro-muted{font-size:12px!important;color:#647887!important;font-weight:400}.pro .pro-side{background:#f2f6f8;border:0;position:sticky;top:100px;padding:30px}.pro-side hr{border:0;border-top:1px solid #d4e0e7;margin:26px 0}.pro-side p,.pro-side li{font-size:14px}.pro-side-link{display:block;padding:12px 0;color:#2e648c;font-size:14px;font-weight:600;border-bottom:1px solid #dbe5eb}.pro-empty{padding:40px;background:#f4f7f9;border-radius:12px}.pro .note{font-size:12px;background:#edf3f6;border-color:#b58a32}
.pro-resource{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:30px 0;border-bottom:1px solid #dae4ea}.pro-resource:first-child{padding-top:0}.pro-resource h2{font-size:24px;margin:10px 0}.pro-resource p{margin:0}.pro-resource .btn{white-space:nowrap}.pro-person{display:grid;grid-template-columns:150px 1fr;gap:36px;max-width:850px}.pro-monogram{height:150px;background:#e7eff5;border-radius:10px;display:grid;place-items:center;font-size:44px;font-weight:600;color:#52748f}.pro-person p{max-width:620px}.pro .faq details{border-color:#dae4ea;border-radius:8px;padding:20px 24px}.pro .faq summary{font-size:16px}.pro .sh{margin-bottom:30px}.pro .page{background:#edf3f7;color:var(--pro-dark)}.pro .page p,.pro .crumb{color:#526977}.pro .cz{grid-template-columns:1.4fr 1fr}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:800px){.pro .layout,.pro-contact-grid,.pro-editorial,.pro .cz{grid-template-columns:1fr}.pro .pro-side{position:static}.pro-process{grid-template-columns:1fr 1fr;gap:30px}.pro-process li:nth-child(2):after{display:none}.pro-callout,.pro-resource{align-items:flex-start;flex-direction:column}.pro .form{padding:22px}.pro .pro-hero{padding:32px 0 40px}.pro section{padding:40px 0}.pro-person{grid-template-columns:90px 1fr;gap:20px}.pro-monogram{height:90px;font-size:30px}.pro-person h2{font-size:22px}}
@media(max-width:480px){.pro-process{grid-template-columns:1fr}.pro-process li{padding-left:66px;min-height:105px}.pro-process-dot{position:absolute;left:0;top:0}.pro-process li:after{display:none}.pro-process h3{margin-top:0}.pro-process p{max-width:none}.pro-person{grid-template-columns:1fr}.pro-monogram{width:90px}.pro-list-heading{align-items:flex-start}.pro .two{grid-template-columns:1fr}}


/* Restrained, shared motion language. No continuous decorative movement. */
:root{--ease-out:cubic-bezier(.16,1,.3,1)}
#app .rv{transition:opacity 620ms var(--ease-out),transform 620ms var(--ease-out),box-shadow 220ms ease,border-color 220ms ease;transition-delay:var(--reveal-delay,0ms),var(--reveal-delay,0ms),0ms,0ms}
#app .rv{transform:translateY(22px)}
#app .rv.in{opacity:1;transform:translateY(0)}
.pro-hero .pro-eyebrow,.pro-hero h1,.pro-hero p{animation:page-intro 650ms var(--ease-out) both}
.pro-hero h1{animation-delay:65ms}.pro-hero p{animation-delay:125ms}
@keyframes page-intro{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
.card .pimg img,.home-product .pimg img,.pro-product-image img{transition:transform 500ms var(--ease-out)}
.pimg{overflow:hidden}.btn{transition:transform 180ms ease,box-shadow 220ms ease,background-color 220ms ease,filter 180ms ease}
.lk,.pro-side-link{transition:color 180ms ease,transform 220ms var(--ease-out)}
.pro-process-dot{transition:background-color 240ms ease,box-shadow 240ms ease,transform 240ms ease}
.pro-process li:after{transform-origin:left;transform:scaleX(0);transition:transform 700ms var(--ease-out) 200ms}
.pro-process li.in:after{transform:scaleX(1)}
.pro input,.pro select,.pro textarea{transition:border-color 180ms ease,box-shadow 180ms ease,background-color 180ms ease}
.pro input:focus,.pro select:focus,.pro textarea:focus{box-shadow:0 0 0 4px #4a84b812}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:'+';font-size:24px;font-weight:400;color:var(--lnk);flex:none;transition:transform 250ms ease}
.faq details[open] summary:after{transform:rotate(45deg)}
.faq details{transition:border-color 220ms ease,background-color 220ms ease,box-shadow 220ms ease}
.faq details[open]{border-color:#8eafc5;background:#fcfdff}
.faq details:focus-within{box-shadow:0 0 0 3px #4a84b814}
@media(hover:hover) and (pointer:fine){
 #app .card.in:hover,#app .home-area.in:hover{transform:translateY(-5px);box-shadow:0 14px 30px #17394c12;border-color:#aac2d3}
 .card:hover .pimg img,.home-product:hover .pimg img{transform:scale(1.025)}
 .btn:hover{transform:translateY(-2px);box-shadow:0 7px 18px #17394c24}
 .btn:active{transform:translateY(0) scale(.98)}
 .lk:hover,.pro-side-link:hover{transform:translateX(3px)}
 .pro-process li:hover .pro-process-dot{transform:translateY(-2px);box-shadow:0 5px 12px #17394c20}
}
@media(min-width:1001px){nav a{position:relative}nav a:after{content:'';position:absolute;height:2px;background:var(--red);bottom:3px;left:12px;right:12px;transform:scaleX(0);transform-origin:left;transition:transform 200ms ease}nav a:hover:after,nav a:focus-visible:after{transform:scaleX(1)}nav a.on:after{display:none}}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 #app .rv,#app .rv.in{opacity:1!important;transform:none!important}
 .card:hover .pimg img,.home-product:hover .pimg img,.btn:hover,.lk:hover,.pro-side-link:hover,.pro-process li:hover .pro-process-dot{transform:none!important}
 .pro-process li:after{transform:scaleX(1)!important}
}


header .logo{flex-shrink:0}
header .logo img{height:88px;width:auto}


.home-product-link{display:block;cursor:pointer;border:2px solid #d4e2ed;transition:border-color 220ms ease,box-shadow 220ms ease}
.home-product-link .product-card-action{display:inline-flex;align-items:center;gap:18px;margin-top:10px;pointer-events:none}
.home-product-link .product-card-action span{transition:transform 200ms ease}
.home-product-link:focus-visible{outline:3px solid var(--red);outline-offset:5px;border-color:var(--red)}
@media(hover:hover) and (pointer:fine){.home-product-link:hover{border-color:var(--red);box-shadow:0 26px 56px #14212b40}.home-product-link:hover .product-card-action{filter:brightness(1.06)}.home-product-link:hover .product-card-action span{transform:translateX(4px)}}
@media(prefers-reduced-motion:reduce){.home-product-link:hover .product-card-action span{transform:none}}

.kick,.tag,.soonb,.pro-eyebrow,aside h4{text-transform:none;letter-spacing:.02em}
/* One palette for primary, outlined, header and inner-page buttons. */
.btn,.btn.alt,.btn.w,.pro .btn,.pro .btn.alt{
 background:#e0a526;color:#2b1d00;border:1px solid #e0a526;
 transition:background-color 180ms ease,border-color 180ms ease,color 180ms ease,box-shadow 180ms ease,transform 180ms ease;
}
.btn:focus-visible{outline:3px solid #254e70;outline-offset:3px}
.btn:disabled{opacity:.55;cursor:not-allowed}
.home-product-link:hover .product-card-action{filter:none}
/* Hover affects the actual target, never sibling buttons. */
@media(hover:hover) and (pointer:fine){
 .btn:not(:disabled):hover,.btn.alt:not(:disabled):hover,.btn.w:not(:disabled):hover,.pro .btn:not(:disabled):hover{
  background:#244f71;border-color:#244f71;color:#fff;filter:none;
 }
}
/* The hero action is inside a single clickable product link. */
.home-product-link .product-card-action{pointer-events:auto}
@media(prefers-reduced-motion:reduce){.btn{transition:none!important}}

.home-areas [data-cat], .home-areas [data-cat] .lk { cursor: pointer; }


.careers-status{border:1px solid #d9e4eb;border-radius:14px;padding:38px;background:#fbfcfd;align-items:start}
.careers-status-label{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:#536d80;padding-top:8px}
.careers-status-dot{height:9px;width:9px;flex:none;border-radius:50%;background:#8ca2b2;box-shadow:0 0 0 5px #edf2f5}
.careers-status p{margin:0 0 24px;max-width:600px}
.careers-outlook{display:flex;align-items:center;justify-content:space-between;gap:32px}
.careers-outlook p{max-width:660px;margin-bottom:0}.careers-outlook .btn{flex-shrink:0}
@media(max-width:800px){.careers-status{padding:26px;gap:24px}.careers-outlook{flex-direction:column;align-items:flex-start}}

/* Careers: job openings */
.pro-resource.job{align-items:flex-start}
.pro-resource.job ul{margin:12px 0 0}
.job-dep{font-weight:600;color:#456174!important;margin:0 0 8px!important}
.job-apply{display:grid;gap:4px;min-width:220px;padding:16px 18px;border:1px solid #dce5ea;border-radius:10px;background:#f6f9fb;overflow-wrap:anywhere}
.job-apply b{color:var(--pro-dark);font-size:15px;user-select:all}
@media(max-width:800px){.job-apply{min-width:0;width:100%;box-sizing:border-box}}
.jobtag{display:block;font-size:12px;font-weight:700;letter-spacing:.02em;color:#86621e;margin-bottom:6px}

/* About: company history and leadership photo */
.history{align-items:start}
.history-side{display:grid;gap:22px;align-content:start}
.founded{display:grid;gap:4px;padding:22px 24px;background:#fff;border:1px solid #dce5ea;border-radius:12px;max-width:260px}
.founded span{font-size:13px;font-weight:600;color:#637c8b}
.founded b{font-size:26px;line-height:1.2;color:var(--pro-dark)}
.history-lead{font-size:20px!important;line-height:1.55;color:var(--pro-dark)!important}
.leaders{display:grid;gap:36px}
.pro-person.leader{grid-template-columns:240px 1fr;align-items:center;max-width:900px}
.leader-photo{width:240px;aspect-ratio:1/1;max-width:100%;border-radius:14px;overflow:hidden;background:#e7eff5;box-shadow:0 12px 30px #17394c1f}
.leader-photo img{width:100%;height:100%;object-fit:cover;object-position:center 20%;display:block}
@media(max-width:800px){.history-side{order:2}.founded{max-width:none}.history-lead{font-size:18px!important}.pro-person.leader{grid-template-columns:1fr;gap:18px}.leader-photo{width:200px}}
