/* V1.4 portfolio: images introduce areas; product detail remains calm and readable. */
.portfolio-v14{background:#f7f9fc;color:#142844}.portfolio-v14 p{color:#41516b}.portfolio-v14 .eyebrow{color:#315c81}.portfolio-v14 .section-heading{align-items:start}.portfolio-v14 .section-heading p{font-size:22px;max-width:480px;color:#183e5b}.portfolio-intro h3,.ai-intro h3,.catalog-group>h3{font-size:30px;margin:0 0 24px;color:#142844}.area-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.area-card{display:block;background:white;border:1px solid #d9e3ed;border-radius:10px;overflow:hidden;transition:transform .18s,border-color .18s}.area-card:hover{transform:translateY(-4px);border-color:#249bc5}.area-card[aria-current=true]{border-color:#006c95;box-shadow:0 0 0 2px #006c95}.area-card img{display:block;width:100%;aspect-ratio:3/2;height:auto;object-fit:cover}.area-card>span{display:flex;flex-direction:column;gap:12px;padding:22px}.area-card strong{font-size:22px;font-weight:600;line-height:1.35;color:#132b49}.area-card>span>span{font-size:16px;color:#195879}.ai-intro{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:48px;margin:50px 0 25px;padding:40px 0;border-top:1px solid #ccdce8;border-bottom:1px solid #ccdce8}.ai-intro h3{font-size:36px}.ai-intro p{font-size:24px;line-height:1.6;max-width:600px}.ai-intro .area-card{display:grid;grid-template-columns:1fr 1fr;align-items:center}.ai-intro .area-card img{height:200px;aspect-ratio:auto}.portfolio-v14 .illustration-note{margin-bottom:40px}.portfolio-v14 .filter{color:#233e58;border-color:#b4c6d7;background:white}.portfolio-v14 .filter.active{color:white;background:#163e5b;border-color:#163e5b}.portfolio-v14 .catalog-controls,.portfolio-v14 .catalog-meta{color:#263f57!important}.portfolio-v14 select{border:1px solid #b4c6d7}.catalog-group{margin:45px 0 0}.catalog-group+.catalog-group{padding-top:50px;border-top:1px solid #ccdce8}.catalog-group>.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.portfolio-v14 .card{background:white;border:1px solid #dce5ee;padding:28px;min-width:0;border-radius:10px}.portfolio-v14 .card h3{font-size:28px;line-height:1.3;overflow-wrap:anywhere}.portfolio-v14 .card p{font-size:18px;line-height:1.7}.portfolio-v14 .card .card-challenger{font-size:18px;color:#183e5b;border-left:2px solid #47badb;padding-left:15px}.portfolio-v14 .card .eyebrow{font-size:14px!important;color:#34566f}.portfolio-v14 .card .priority{margin-top:12px;background:#e2f6fa;color:#1e5670}.portfolio-v14 .card .detail-link{font-size:17px;color:#1a5774}.portfolio-v14 .card .btn{font-size:17px;line-height:1.5;padding:13px 16px;justify-content:center}.portfolio-v14 .card .price{font-size:28px}.portfolio-v14 .card .price small{display:block;font-size:15px}.portfolio-v14 .card-bottom{margin-top:auto;padding-top:25px}.ai-group>.note{max-width:850px}.product-area{margin-top:35px}.detail-page .detail-layout{grid-template-columns:minmax(0,1fr) 320px;gap:70px}.detail-page .detail-aside{background:#eff6fa;border:0;min-width:0}.detail-page .detail-aside .price{font-size:31px;overflow-wrap:anywhere}.detail-page section+section{margin-top:42px}.detail-page .product-challenger{padding:25px 0 25px 25px;border-left:3px solid #39b3d4}.detail-page .product-challenger h2{margin-top:0}.detail-page .product-challenger p{color:#153d5a;font-size:23px;line-height:1.6;margin-bottom:0}.detail-page li{margin-bottom:14px}.detail-page .product-next{border-top:1px solid #d7e2ec;padding-top:18px}.detail-page .product-next .btn{font-size:18px;line-height:1.5}.detail-page .product-next{scroll-margin-top:110px}.decision-grid{grid-template-columns:repeat(3,minmax(0,1fr))}header .free-cta{max-width:none}.note,.services-note{font-size:16px!important}
@media(min-width:1251px){header nav{gap:20px}.header-actions .free-cta{padding-left:15px;padding-right:15px;font-size:16px}}
@media(max-width:1100px){.area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-group>.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-intro{gap:28px}.ai-intro .area-card{display:block}.ai-intro .area-card img{height:auto;aspect-ratio:3/2}.detail-page .detail-layout{gap:35px;grid-template-columns:minmax(0,1fr) 280px}}
@media(max-width:760px){.area-grid{gap:14px}.area-card>span{padding:17px 14px;gap:10px}.area-card strong{font-size:20px}.area-card>span>span{font-size:16px}.ai-intro{grid-template-columns:1fr;gap:20px;margin-top:35px;padding:30px 0}.ai-intro h3{font-size:30px}.ai-intro p{font-size:21px}.ai-intro .area-card{display:grid;grid-template-columns:1fr 1fr}.ai-intro .area-card img{height:190px;aspect-ratio:auto}.catalog-group>.cards{grid-template-columns:1fr}.portfolio-v14 .card{padding:26px 22px}.portfolio-v14 .section-heading p{font-size:20px}.portfolio-v14 .card p{font-size:18px}.detail-page .detail-layout{grid-template-columns:1fr;gap:25px}.detail-aside{position:static}.detail-page .product-challenger{padding-left:18px}.detail-page .product-challenger p{font-size:21px}.decision-grid{grid-template-columns:1fr}.catalog-group+.catalog-group{padding-top:35px}.portfolio-intro h3,.catalog-group>h3{font-size:28px}}
@media(max-width:400px){.area-grid{grid-template-columns:1fr}.area-card{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center}.area-card img{height:160px;aspect-ratio:auto}.ai-intro .area-card{display:block}.ai-intro .area-card img{width:100%;height:auto;aspect-ratio:3/2}}
@media(prefers-reduced-motion:reduce){.area-card{transition:none}.area-card:hover{transform:none}}
#catalog-results{scroll-margin-top:115px}
/* Owner-selected V1.4 direction: one architectural block language, without people or landscape. */
.hero-concept{background-image:url('assets/hero-challenger-cyan-v14.webp');background-position:center}.hero-concept:before{background:linear-gradient(90deg,rgba(5,21,39,.97) 0%,rgba(5,21,39,.9) 38%,rgba(5,21,39,.35) 66%,rgba(5,21,39,0) 100%)}
@media(max-width:760px){.hero-concept{background-position:65% center}.hero-concept:before{background:rgba(5,21,39,.84)}}
/* White studio space lets the cyan Challenger block carry the visual idea. */
.hero-concept{background-color:#fff}.hero-concept:before{background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.98) 35%,rgba(255,255,255,.87) 46%,rgba(255,255,255,.15) 68%,rgba(255,255,255,0) 100%)}.hero-concept h1{color:#10253e;max-width:740px}.hero-concept .hero-lead{color:#34485e;max-width:650px;font-size:21px}.hero-concept .hero-tag{color:#10253e}.hero-concept .eyebrow{color:#16688c}.hero-concept .btn{background:#102b47;border-color:#102b47;color:#fff}.hero-concept .btn:hover{background:#194a6b}
@media(max-width:760px){.hero-concept{min-height:0;background-size:auto 320px;background-position:center bottom;background-repeat:no-repeat}.hero-concept:before{background:linear-gradient(#fff 0%,#fff 66%,rgba(255,255,255,.65) 76%,rgba(255,255,255,0) 100%)}.hero-concept .hero-copy{padding-top:50px;padding-bottom:270px}.hero-concept .hero-lead{font-size:19px}.hero-concept h1{font-size:40px;max-width:550px}}
/* V1.4 refinement: separate the reading column from the cyan Challenger motif. */
.hero-concept{min-height:650px;background:#fff;overflow:hidden}.hero-concept:before{display:none}.hero-art{position:absolute;inset:0 0 0 45%;overflow:hidden;z-index:-1}.hero-art img{position:absolute;width:164%;max-width:none;height:auto;right:0;top:50%;transform:translateY(-50%)}.hero-concept .hero-copy{padding-top:70px;padding-bottom:70px}.hero-concept h1{font-size:clamp(46px,4.4vw,60px);width:53%;max-width:650px;line-height:1.16;letter-spacing:-1.9px;margin-top:22px}.hero-concept .hero-lead{width:49%;max-width:600px;font-size:20px;line-height:1.75}.hero-concept .hero-tag{font-size:23px;margin-top:26px}.hero-concept .actions{max-width:53%}.hero-concept .eyebrow{max-width:53%}.hero+.discover{border-top:1px solid #e4eaf0}.area-card img,.ai-intro .area-card img{object-fit:contain;background:#fff}.approach-title{font-size:22px;line-height:1.4;margin:12px 0 16px;font-weight:600;color:#183e5b}.steps .step{padding:18px 0}.steps .step span{font-size:18px;line-height:1.75}.guide-contact{margin-top:24px;padding:24px 0 0;border-top:1px solid #d2dee8;display:flex;flex-direction:column;gap:14px;overflow-wrap:anywhere}.guide-contact-name{font-size:22px;font-weight:600;color:#102b47}.guide-contact a{display:flex;flex-direction:column;font-size:18px;line-height:1.6;color:#174e70}.guide-contact a span{font-size:15px;font-weight:600;color:#495e72}.guide-contact a:hover{text-decoration:underline}.guide-intro .guide-grid{align-items:start}.guide-grid figure{position:static}.guide-grid img{display:block}
@media(min-width:761px) and (max-width:1050px){.hero-concept{min-height:640px}.hero-concept h1{width:60%;font-size:46px}.hero-concept .hero-lead{width:56%;font-size:19px}.hero-art{left:53%;opacity:.9}.hero-art img{width:190%;right:-10%}.hero-concept .actions{max-width:58%}}
@media(max-width:760px){.hero-concept{min-height:0;display:block}.hero-concept .hero-copy{padding-top:46px;padding-bottom:24px}.hero-concept h1,.hero-concept .hero-lead,.hero-concept .eyebrow,.hero-concept .actions{width:100%;max-width:none}.hero-concept h1{font-size:40px;line-height:1.19;letter-spacing:-1.2px}.hero-concept .hero-lead{font-size:18px;line-height:1.8}.hero-concept .hero-tag{font-size:21px}.hero-art{position:relative;inset:auto;height:280px;width:100%;z-index:0;order:2}.hero-art img{width:150%;right:0;top:50%}.hero-concept{display:flex;flex-direction:column}.hero-concept .hero-copy{order:1}.hero-concept .actions{margin-top:22px}.guide-contact{margin-top:20px;padding-top:20px}.guide-contact a{font-size:18px}.guide-contact-name{font-size:21px}.approach-title{font-size:21px}}
/* Full-bleed Challenger hero: one continuous, enlarged and softly focused surface. */
.hero-concept{min-height:calc(100svh - 88px);min-height:max(680px,calc(100svh - 88px));display:flex;align-items:center;background:#f5f8fa;isolation:isolate}.hero-art{position:absolute;inset:-12px;overflow:hidden;width:auto;height:auto;z-index:-2;order:initial;opacity:1}.hero-art img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:68% 52%;transform:scale(1.28);filter:blur(2.5px) saturate(.9)}.hero-concept:before{content:'';display:block;position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(255,255,255,.92) 0%,rgba(255,255,255,.84) 32%,rgba(255,255,255,.62) 57%,rgba(255,255,255,.12) 100%)}.hero-concept .hero-copy{position:relative;z-index:1;padding-top:80px;padding-bottom:80px;order:initial}.hero-concept h1{width:66%;max-width:780px;font-size:clamp(48px,4.7vw,64px);line-height:1.16}.hero-concept .hero-lead{width:58%;max-width:690px;font-size:21px;line-height:1.8}.hero-concept .hero-tag{font-size:24px}.hero-concept .actions,.hero-concept .eyebrow{max-width:66%}
@media(min-width:761px) and (max-width:1050px){.hero-concept{min-height:max(680px,calc(100svh - 82px))}.hero-concept h1{width:79%;font-size:49px}.hero-concept .hero-lead{width:72%;font-size:20px}.hero-concept .actions{max-width:80%}.hero-concept:before{background:linear-gradient(100deg,rgba(255,255,255,.94),rgba(255,255,255,.8) 55%,rgba(255,255,255,.32))}.hero-art{inset:-12px}.hero-art img{width:100%;height:100%;right:auto;transform:scale(1.45);object-position:72% center}}
@media(max-width:760px){.hero-concept{min-height:calc(100svh - 76px);display:flex;align-items:center;flex-direction:row}.hero-concept .hero-copy{padding-top:60px;padding-bottom:60px}.hero-concept h1,.hero-concept .hero-lead,.hero-concept .actions,.hero-concept .eyebrow{width:100%;max-width:none}.hero-concept h1{font-size:40px;line-height:1.2}.hero-concept .hero-lead{font-size:18px;line-height:1.8}.hero-concept .hero-tag{font-size:21px}.hero-art{position:absolute;inset:-12px;width:auto;height:auto;order:initial;z-index:-2}.hero-art img{inset:0;width:100%;height:100%;object-fit:cover;object-position:70% center;transform:scale(1.45);filter:blur(3px) saturate(.85)}.hero-concept:before{background:linear-gradient(110deg,rgba(255,255,255,.94),rgba(255,255,255,.85) 62%,rgba(255,255,255,.7))}}
@media(min-width:1051px){.hero-concept .hero-lead{width:62%;max-width:740px;text-wrap:pretty}}
/* Prices support the service content without dominating it. */
.portfolio-v14 .card .price,.detail-page .detail-aside .price{font-size:22px;font-weight:500;line-height:1.5;letter-spacing:0}.portfolio-v14 .card .price small{font-size:15px;font-weight:400}
@media(max-width:760px){.portfolio-v14 .card .price,.detail-page .detail-aside .price{font-size:20px}}
/* Raise the complete hero copy without changing its total padding or the artwork. */
.hero-concept .hero-copy{padding-top:20px;padding-bottom:140px}
@media(max-width:760px){.hero-concept .hero-copy{padding-top:35px;padding-bottom:85px}}
/* Keep language controls stationary, touch-friendly and independent of the menu label. */
header>.wrap>.logo,.header-actions,.language-buttons,.menu-toggle{flex-shrink:0}
.language-buttons{display:grid;grid-template-columns:40px 8px 40px 8px 40px 8px 40px;gap:0;justify-content:center;align-items:center}
.language-buttons button{width:40px;min-width:40px;min-height:44px;padding:10px 0;touch-action:manipulation;font-variant-numeric:tabular-nums}
.language-buttons span{text-align:center;pointer-events:none}
.language-buttons button:focus-visible{outline:2px solid #16688c;outline-offset:2px}
@media(max-width:600px){header>.wrap{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding-top:8px;padding-bottom:6px}.menu-toggle{grid-column:2;grid-row:1;margin-left:0}.header-actions{grid-column:1/-1;grid-row:2;justify-content:center;width:100%;min-height:44px}header nav{grid-column:1/-1;grid-row:3;width:100%;min-width:0}.mobile-languages{gap:12px}.language-buttons{grid-template-columns:44px 8px 44px 8px 44px 8px 44px}.language-buttons button{width:44px;min-width:44px;min-height:44px}}
@media(min-width:1251px){.header-actions .free-cta{width:160px;flex:0 0 160px}}
/* Guide portfolio: overview → one open area → the shared delivery detail. */
.portfolio-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:38px}
.portfolio-choice{display:flex;flex-direction:column;min-width:0;padding:0;text-align:left;background:#fff;border:1px solid #d7e2eb;border-radius:10px;overflow:hidden;color:#142844;transition:border-color .2s,box-shadow .2s,transform .2s}
.portfolio-choice:hover{border-color:#38a9cd;transform:translateY(-3px)}.portfolio-choice[aria-expanded=true]{border-color:#1989b0;box-shadow:0 0 0 2px #1989b0}
.portfolio-choice img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:#fff}.portfolio-choice-copy{display:flex;flex-direction:column;gap:13px;padding:24px;font-size:17px;line-height:1.65;flex:1}.portfolio-choice strong{font-size:27px;line-height:1.2;font-weight:600}.portfolio-count{display:flex;justify-content:space-between;font-size:17px;color:#195b7b}.portfolio-choice-copy>span:last-child{color:#48596c}
.portfolio-expanded{margin-top:60px;scroll-margin-top:115px;animation:portfolio-enter .24s ease-out}.portfolio-expanded[hidden]{display:none}.portfolio-area-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center;padding:45px 0 50px;border-top:1px solid #ccdce8}.portfolio-area-hero h3{font-size:48px;line-height:1.15;margin:10px 0 22px}.portfolio-area-hero .area-challenger{font-size:28px;line-height:1.5;color:#183e5b;max-width:760px}.portfolio-area-hero p{font-size:19px}.portfolio-area-hero img{width:100%;height:auto;max-height:390px;object-fit:contain}.portfolio-area-hero .text-button{margin-top:15px}
.portfolio-progressive .cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.portfolio-progressive .delivery-card{padding:0;overflow:hidden;display:block;transition:border-color .2s}.delivery-card:hover{border-color:#1989b0}.delivery-card-link{display:flex;flex-direction:column;height:100%;padding:30px;color:inherit}.delivery-card-link:focus-visible{outline:3px solid #1989b0;outline-offset:-4px}.delivery-card h4{font-size:21px!important;line-height:1.5;margin:0 0 14px}.delivery-card .card-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding-top:30px}.delivery-arrow{font-size:30px;line-height:1.2;color:#1682a8}.delivery-card .price small{display:block}.portfolio-scope-note{margin-top:28px}.portfolio-progressive .services-note{margin-top:32px}
.sense-addon{border-top:1px solid #cadbe7;padding-top:24px}.sense-options{display:grid;grid-template-columns:1fr 1fr;gap:24px}.sense-options>div{padding:20px 0}.sense-options h3{font-size:24px;margin:0 0 12px}.sense-options .btn{display:block;margin-top:20px;text-align:left}.product-experience{margin-top:70px;padding:60px 0;background:#f7fafc;border-top:1px solid #d9e5ed}.product-experience>.wrap h2{font-size:36px}.product-experience .discover{background:transparent;padding-top:20px}.product-take-control{border-top:1px solid #d9e5ed;padding-top:30px;padding-bottom:25px}.product-take-control h3{font-size:28px}.product-take-control .btn{margin:8px 15px 0 0}
@keyframes portfolio-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.portfolio-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-area-hero{gap:28px}.portfolio-area-hero h3{font-size:42px}.portfolio-progressive .cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.portfolio-overview{grid-template-columns:1fr;gap:18px}.portfolio-choice{display:grid;grid-template-columns:.95fr 1.05fr;align-items:center}.portfolio-choice img{width:100%;height:200px;aspect-ratio:auto}.portfolio-choice-copy{padding:22px 18px}.portfolio-choice strong{font-size:25px}.portfolio-choice-copy>span:last-child{font-size:16px}.portfolio-area-hero{grid-template-columns:1fr;gap:16px;padding:30px 0}.portfolio-area-hero h3{font-size:36px}.portfolio-area-hero .area-challenger{font-size:24px}.portfolio-area-hero img{max-height:260px}.portfolio-expanded{margin-top:35px;scroll-margin-top:135px}.portfolio-progressive .cards{grid-template-columns:1fr}.delivery-card-link{padding:27px 23px}.sense-options{grid-template-columns:1fr;gap:0}.product-experience{padding-top:35px}.product-experience>.wrap h2{font-size:30px}}
@media(max-width:380px){.portfolio-choice{display:flex}.portfolio-choice img{height:180px}.portfolio-choice-copy{padding:22px}}
@media(prefers-reduced-motion:reduce){.portfolio-expanded{animation:none}.portfolio-choice,.delivery-card{transition:none}.portfolio-choice:hover{transform:none}}

/* About: keep longer editorial copy readable across languages. */
.about-copy h3{font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.3;margin:2rem 0 .8rem;color:var(--navy,#102140)}
.about-copy p{max-width:68ch}

.about-photo{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:12px;margin-top:36px}
.one-page{background:#f7f9fc}.one-intro{max-width:850px;margin-bottom:64px}.one-intro h1{font-size:clamp(42px,5.3vw,76px);line-height:1.08;letter-spacing:-.035em}.one-lead{font-size:clamp(22px,2.1vw,28px)}.one-notice{margin-top:32px;padding:28px;background:#eaf4fa;border-left:4px solid #35c3df}.one-notice h2{font-size:25px;margin:0 0 12px}.one-notice p{margin:0}.one-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:30px 0 64px}.one-grid article{padding:32px;background:white;border:1px solid #dce5ee;border-radius:12px}.one-grid h3{font-size:27px}.one-explainer{max-width:820px}.one-explainer h2{font-size:32px;margin-top:44px}.one-coming{margin-top:64px;padding:48px;text-align:center;background:#0c1e40;color:white;border-radius:12px}.one-coming .eyebrow{color:#61d8ed}.one-coming h2{margin:12px 0 0;font-size:clamp(36px,4vw,54px)}
@media(min-width:1251px){header nav{gap:14px}header nav>a,header nav summary{font-size:16px}}
@media(max-width:700px){.one-grid{grid-template-columns:1fr}.one-grid article{padding:24px}.one-coming{padding:32px 20px}}

.one-coming h2{color:#fff}

.leadership-respect{background:#edf2ee;border-block:1px solid #d3dfd9}.respect-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}.respect-grid h2{max-width:540px;font-size:clamp(30px,3.4vw,46px);line-height:1.15}.respect-grid p{font-size:17px;line-height:1.7}.respect-grid .respect-close{font-weight:600;color:var(--ink)}@media(max-width:760px){.respect-grid{grid-template-columns:1fr;gap:22px}}

/* Align the About introduction with the heading, below its shared label. */
#om .about-grid{row-gap:22px}
#om .about-label{grid-column:1 / -1}
#om .about-grid h2{margin-top:0}
#om .about-copy>p:first-child{margin-top:0}

.make-it-entry{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:19px max(5%,calc((100% - 1140px)/2));background:#102e43;color:#fff;text-decoration:none}.make-it-entry span:first-child{font-size:12px;color:#cce7ed}.make-it-entry b{display:inline-block;margin-left:15px;color:#91e9ed;letter-spacing:.1em}.make-it-entry strong{font-size:clamp(15px,1.5vw,21px)}.make-it-entry:hover strong{text-decoration:underline}@media(max-width:650px){.make-it-entry{display:grid;grid-template-columns:1fr auto;gap:3px}.make-it-entry span:first-child{grid-column:1}.make-it-entry strong{grid-column:1}.make-it-entry span:last-child{grid-column:2;grid-row:1/3}}
