@import url('./fonts-local.css');
:root{--ink:#172333;--ink2:#293545;--muted:#66707a;--accent:#476989;--accent2:#7b93aa;--line:#e6e5e1;--paper:#fbfaf8;--mist:#f3f4f3;--stone:#e9e8e5;--dark:#142331;--white:#fff;--serif:Prata,Georgia,'Times New Roman',serif;--sans:'DM Sans',Manrope,'Helvetica Neue',Arial,sans-serif;--ease:cubic-bezier(.2,.75,.15,1)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:400 15px/1.7 var(--sans);background:#f4f3f0;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-weight:400}ul{margin:0;padding:0}::selection{background:#d5e1ec;color:#152434}:focus-visible{outline:2px solid #417ead;outline-offset:4px}.wrap{width:min(1320px,calc(100% - 80px));margin-inline:auto}.shell{max-width:1600px;margin-inline:auto;background:var(--paper);min-height:100vh;box-shadow:0 20px 110px #30374312}.eyebrow{font:700 10px/1.4 var(--sans);text-transform:uppercase;letter-spacing:.19em;color:#687a8a}.eyebrow.white{color:#d4e2ed}.tiny-rule{height:1px;width:54px;background:var(--accent);display:inline-block;vertical-align:middle;margin-left:14px}.serif{font-family:var(--serif)}.sec-title{font:400 clamp(32px,3.15vw,54px)/1.22 var(--serif);letter-spacing:-.055em}.lede{font-size:16px;line-height:1.9;color:var(--muted)}.muted{color:var(--muted)}.cap{font:700 10px/1.5 var(--sans);letter-spacing:.17em;text-transform:uppercase;color:var(--accent)}.smallnote{font-size:12px;color:#7b858f}.arrow{font-size:18px;line-height:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:22px;border:1px solid transparent;border-radius:3px;min-height:46px;padding:12px 19px;font:600 12px/1.2 var(--sans);transition:background .2s ease,transform .2s ease,border .2s}.btn:hover{transform:translateY(-2px)}.btn-dark{background:#172b3c;color:white}.btn-dark:hover{background:#294761}.btn-light{background:white;color:var(--ink);border-color:#dddfe0}.btn-light:hover{background:#f2f4f5}.btn-outline{background:transparent;border-color:#b5c0c8;color:var(--ink)}.btn-outline:hover{background:#fff}.text-link{display:inline-flex;gap:15px;align-items:center;font-weight:600;font-size:13px;border-bottom:1px solid #a5b5c0;padding-bottom:4px;transition:gap .2s}.text-link:hover{gap:23px}.skip{position:absolute;left:10px;top:-90px;background:white;padding:10px;z-index:999}.skip:focus{top:10px}.header{height:87px;display:flex;align-items:center;background:#fffdfaf2;border-bottom:1px solid #eeece8;position:relative;z-index:25}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}.identity{display:flex;align-items:center;gap:13px;min-width:0}.identity-img{width:46px;height:46px;border-radius:8px;object-fit:cover}.identity-word{font:800 20px/.96 var(--sans);letter-spacing:.115em;white-space:nowrap}.identity-word em{font-style:normal;color:#5482b4}.identity-sub{margin-top:6px;font:600 6.9px/1.2 var(--sans);letter-spacing:.2em;white-space:nowrap;color:#687482}.header-nav{display:flex;align-items:center;gap:32px}.header-nav a{font-size:12px;color:#525b65;font-weight:500;transition:color .2s}.header-nav a:hover,.header-nav a[aria-current=page]{color:#0e2334}.header-nav a[aria-current=page]{box-shadow:0 1px 0 currentColor;padding-bottom:5px}.header-actions{display:flex;align-items:center;gap:10px}.menu-toggle{display:none;border:1px solid #d9dde0;background:white;border-radius:4px;font-size:24px;width:42px;height:42px;align-items:center;justify-content:center;color:var(--ink)}.nav-pill{background:#132a3d;color:white;font-size:11px;padding:13px 19px;border-radius:3px;font-weight:600;white-space:nowrap}.nav-pill:hover{background:#34536c}
/* editorial hero */
.home-hero{position:relative;min-height:610px;background:#eef1f2;overflow:hidden}.hero-photo{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(251,251,249,.96) 0%,rgba(251,251,249,.96) 18%,rgba(251,251,249,.78) 38%,rgba(251,251,249,.28) 58%,rgba(251,251,249,0) 79%),url('../img/architecture-hero.webp');background-size:cover;background-position:center 55%}.hero-inner{position:relative;min-height:610px;display:grid;grid-template-columns:58% 42%;align-items:center}.hero-copy{padding:80px 0 104px;max-width:660px}.hero-copy h1{font:400 clamp(46px,5.2vw,75px)/1.13 var(--serif);letter-spacing:-.07em;margin:32px 0 22px}.hero-copy h1 i{font-style:normal;color:#435f78}.hero-copy .lede{font-size:15px;max-width:465px;color:#4e5a64}.hero-cta{display:flex;align-items:center;flex-wrap:wrap;gap:25px;margin-top:32px}.round-play{height:40px;width:40px;border:1px solid #ccd7df;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:13px;background:#ffffffbb}.play-link{display:inline-flex;align-items:center;gap:12px;color:#596674;font-size:12px}.hero-side{justify-self:end;align-self:center;display:flex;gap:18px;align-items:start;margin-right:0;margin-top:20px}.hero-side:before{content:'';display:block;width:1px;height:120px;background:#617b9088}.side-stack{font:700 10px/2.1 var(--sans);text-transform:uppercase;letter-spacing:.18em;color:#35566c}.hero-foot{position:absolute;bottom:20px;left:0;right:0;z-index:1}.hero-foot .wrap{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#506170;letter-spacing:.09em}.hero-index{color:#637c8f}
/* editorial strips */
.pressline{border-block:1px solid #eeece7;background:#fbfaf9}.pressline-inner{display:flex;gap:28px;align-items:center;min-height:82px}.pressline-title{flex:0 0 210px;font-size:10px;color:#73808c;line-height:1.55;letter-spacing:.11em;text-transform:uppercase}.pressline-points{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;flex:1}.pressline-points span{font:600 13px/1.5 var(--sans);letter-spacing:.02em;color:#435363}.pressline-points i{font:normal 14px/1 var(--serif);color:#7892a3;margin-right:12px}.section{padding:99px 0}.sec-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:40px}.sec-head .sec-title{max-width:710px;margin-top:16px}.sec-head .lede{max-width:295px;font-size:13px}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.service-tile{position:relative;min-height:348px;border:1px solid #e5e6e5;background:#fafbfb;display:grid;grid-template-columns:1fr 41%;overflow:hidden;transition:border-color .2s}.service-tile:hover{border-color:#9fadb8}.service-text{padding:27px 23px 24px;display:flex;flex-direction:column;z-index:2}.service-tile h3{font:400 clamp(19px,1.65vw,26px)/1.34 var(--serif);letter-spacing:-.045em;margin:36px 0 13px}.service-tile p{font:400 12px/1.85 var(--sans);color:#6b7580}.service-tile .text-link{margin-top:auto;align-self:start;font-size:11px}.service-visual{position:relative;background:linear-gradient(148deg,#e8eef1,#c5d5df);overflow:hidden}.service-visual::before{content:'';position:absolute;inset:8% -60% 0 12%;border:2px solid #f7f8f6;transform:rotate(-22deg);border-radius:45% 13% 50% 0;box-shadow:inset 15px -13px 50px #6d8aa74d,19px 17px 20px #55718918}.service-visual::after{content:'';position:absolute;inset:32% -20% -20% -30%;border:34px solid #dbe4e9;border-radius:49% 46% 0 0;transform:rotate(-17deg);box-shadow:10px -20px 40px #60768722}.service-visual.v2{background:linear-gradient(170deg,#e9edec,#b8cad3)}.service-visual.v2::before{border-radius:0;transform:rotate(29deg);inset:-30% 20% 4% -55%;border-width:25px;background:#e7eeeeaa}.service-visual.v2::after{inset:8% -70% -40% 18%;border-radius:0;border-width:4px;transform:rotate(29deg)}.service-visual.v3{background:linear-gradient(140deg,#eef0f0,#a4b7c5)}.service-visual.v3::before{border-radius:0;transform:rotate(45deg);inset:12% -64% -15% -35%;border-width:55px}.service-visual.v3::after{inset:5% -25% 35% 30%;border-radius:0;transform:rotate(45deg);border-width:21px}
/* case studies */
.project-zone{background:#f3f3f1;border-block:1px solid #e9e8e5}.project-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:50px;align-items:center}.project-copy .sec-title{margin:18px 0 17px}.project-copy .lede{max-width:470px;margin-bottom:23px}.chip{display:inline-flex;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#415970;border:1px solid #b8c6cf;border-radius:2px;padding:7px 10px}.bullet-tidy{padding-left:18px;list-style:none;display:grid;gap:8px;margin:20px 0 32px}.bullet-tidy li{position:relative;font-size:13px;color:#4d5964;padding-left:12px}.bullet-tidy li:before{content:'';position:absolute;left:0;top:10px;width:4px;height:4px;background:#7390a6;border-radius:50%}.product-window{position:relative;background:#162634;border:1px solid #728595;border-radius:9px;box-shadow:0 26px 54px #192b342c;padding:15px;transform:rotate(-1.5deg)}.window-top{display:flex;justify-content:space-between;align-items:center;color:#9baab6;font-size:11px;padding:0 9px 15px}.window-dots{display:flex;gap:5px}.window-dots i{height:5px;width:5px;border-radius:50%;background:#667f90}.window-body{display:grid;grid-template-columns:110px 1fr;background:#f4f6f5;border-radius:4px;overflow:hidden;min-height:320px}.window-side{padding:20px 10px;background:#223541;color:#8da4b6;font-size:10px}.window-side strong{color:#fff;display:block;font-size:17px;letter-spacing:-.07em;margin-bottom:20px}.window-side span{display:block;padding:8px 8px;margin-bottom:5px}.window-side .active{background:#526c7d;color:white}.window-main{padding:22px}.window-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:18px;font-weight:600;margin-bottom:15px}.window-heading small{font-size:10px;color:#637585}.calendar-head{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.calendar-head b{display:grid;place-items:center;font-size:10px;padding:8px;background:#e4ebed;color:#435462}.calendar-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:6px}.calendar-cell{min-height:89px;background:#fff;border:1px solid #e3e7e7;padding:7px 4px}.calendar-cell b{display:block;font-size:9px;color:#8a959c;margin-bottom:7px}.job{display:block;border-radius:2px;background:#b7cad1;font-size:8px;color:#294353;padding:6px 5px;margin-bottom:4px}.job.dark{background:#647f91;color:white}.case-index{font-size:10px;letter-spacing:.16em;color:#647888;margin-top:17px;text-align:right;text-transform:uppercase}
/* approach */
.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:start}.approach-grid .sec-title{margin:18px 0}.method-list{border-top:1px solid #deddd8}.method{display:grid;grid-template-columns:50px 1fr;gap:18px;padding:23px 0;border-bottom:1px solid #deddd8}.method .n{font:400 14px var(--serif);color:#7b8e9b}.method h3{font:500 18px/1.35 var(--sans);margin-bottom:6px}.method p{font-size:13px;color:#6e7882;max-width:480px}.quote-band{background:#1b2e3e;color:white;padding:73px 0;position:relative;overflow:hidden}.quote-band:after{content:'';position:absolute;width:460px;height:460px;border:1px solid #8498a52c;border-radius:50%;right:-110px;top:-240px}.quote-band .wrap{display:grid;grid-template-columns:1fr auto;align-items:center;gap:45px}.quote-band h2{font:400 clamp(32px,3.2vw,52px)/1.3 var(--serif);max-width:740px}.quote-band p{font-size:13px;color:#c7d2db;margin-top:18px}.quote-band .btn{background:#e8eef1;color:#1b2e3e}
/* shared pages */
.page-hero{padding:82px 0 88px;background:linear-gradient(105deg,#f9faf8 0%,#f1f3f2 75%);position:relative;overflow:hidden;border-bottom:1px solid #e6e9e9}.page-hero:after{content:'';width:44%;height:100%;position:absolute;right:0;top:0;background:url('../img/architecture-detail.webp') center/cover;opacity:.18;mask-image:linear-gradient(90deg,transparent,#000)}.page-hero .wrap{position:relative;z-index:1}.page-hero h1{font:400 clamp(41px,4.8vw,69px)/1.25 var(--serif);letter-spacing:-.055em;margin:22px 0;max-width:760px}.page-hero p{font-size:15px;color:#63707b;max-width:610px;line-height:1.8}.breadcrumbs{font-size:11px;color:#6f7f8a;margin-bottom:16px}.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}.page-headline{font:400 clamp(28px,3.4vw,46px)/1.3 var(--serif);letter-spacing:-.04em}.narrow{max-width:930px}.service-row{display:grid;grid-template-columns:.9fr 1.1fr;gap:10%;padding:48px 0;border-top:1px solid #dedfdd}.service-row:first-child{border-top:0;padding-top:0}.service-row h2{font:400 clamp(30px,3vw,43px)/1.2 var(--serif);margin:16px 0}.service-row p{color:#63717c;font-size:14px;line-height:1.9}.service-row ul{display:grid;gap:13px;list-style:none;margin-top:12px}.service-row li{font-size:14px;border-bottom:1px solid #e3e4e2;padding:9px 0;color:#42515f}.service-row li:before{content:'↗';color:var(--accent);margin-right:12px}.note{padding:20px 23px;background:#f1f4f4;border-left:2px solid #7a9baa;font-size:13px;color:#596875;line-height:1.8}.card-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.editorial-card{background:#fff;border:1px solid #e4e4e0;padding:29px}.editorial-card h3{font:400 28px/1.3 var(--serif);margin:14px 0}.editorial-card p{font-size:13px;color:var(--muted);margin-bottom:20px}.project-card-visual{aspect-ratio:16/10;background:#e8edf0;position:relative;overflow:hidden;margin:-29px -29px 22px;display:grid;place-items:center}.project-card-visual.dark{background:#1b2b37}.project-card-visual.dark .window-body{width:80%;min-height:170px;transform:rotate(-3deg) translateY(28px);box-shadow:0 8px 25px #0005}.project-card-visual.arch{background:url('../img/architecture-detail.webp') center/cover}.project-card-visual .visual-label{font:700 12px var(--sans);background:#ffffffd9;padding:10px 14px;color:#213646}.stat-line{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:35px 0;border-top:1px solid #e2e1dc}.stat-line b{font:400 32px var(--serif);display:block}.stat-line span{font-size:12px;color:#6b7882}.case-detail{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.case-detail .lede{margin:18px 0}.faq details{padding:21px 0;border-bottom:1px solid #dcdedc}.faq summary{cursor:pointer;font-size:15px;font-weight:600;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px}.faq summary:after{content:'+';font:400 23px var(--serif);color:#678399}.faq details[open] summary:after{content:'−'}.faq p{font-size:13px;color:#66717b;max-width:850px;margin-top:14px}.about-photo{width:100%;height:430px;object-fit:cover;object-position:75% center}.contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}.contact-panel{background:#fff;border:1px solid #e5e6e3;padding:36px 38px;box-shadow:0 18px 45px #1423310b}.contact-intro .sec-title{margin:16px 0}.contact-intro .lede{max-width:380px}.contact-box{border-top:1px solid #dcdedc;padding:20px 0;margin-top:37px;color:#5b6875;font-size:13px}.contact-box strong{display:block;font-size:14px;color:#1e303f;margin-bottom:6px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:block;font-size:12px;font-weight:600;color:#344655;margin-bottom:20px}.field input,.field textarea,.field select{display:block;margin-top:8px;width:100%;background:#fbfbfa;border:1px solid #dadddd;border-radius:2px;min-height:45px;padding:11px 12px;color:#1c2f40;outline-offset:3px}.field textarea{min-height:140px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:#6b91b0}.checkline{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:#65727d;margin-bottom:21px}.checkline input{margin-top:5px;accent-color:#386587}.checkline a{text-decoration:underline}.form-msg{font-size:12px;line-height:1.6;padding-top:14px;min-height:24px;color:#3d627b}.form-msg.error{color:#ad3f3f}.form-msg.success{color:#2f6956}.form-hint{margin-top:11px;font-size:11px;color:#71808c;line-height:1.7}.download-brief{border:0;background:none;padding:0;color:#365f7d;font-size:12px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.footer{background:#f2f2ef;border-top:1px solid #e5e4df;padding:63px 0 25px}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:70px}.footer .identity{margin-bottom:24px}.footer p{font-size:12px;color:#6d7983;max-width:360px}.footer-list{display:grid;gap:13px;margin-top:23px}.footer-list a{font-size:13px;color:#65717c}.footer-list a:hover{color:#162b3b}.footer-end{display:flex;justify-content:space-between;gap:30px;border-top:1px solid #deded9;padding-top:20px;margin-top:50px;font-size:11px;color:#7b858d}.footer-end a{text-decoration:underline;text-underline-offset:3px}
/* enhancement */
.js [data-reveal]{opacity:0;transform:translateY(20px);transition:opacity .65s var(--ease),transform .65s var(--ease)}.js [data-reveal].is-visible{opacity:1;transform:none}.filter-row{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 30px}.filter-btn{background:#f8f8f6;border:1px solid #dce0df;font-size:11px;padding:10px 17px;color:#526476}.filter-btn.active,.filter-btn:hover{background:#1d3448;color:#fff;border-color:#1d3448}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0!important;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media(max-width:1100px){.wrap{width:min(100% - 56px,1320px)}.header-nav{gap:19px}.hero-inner{grid-template-columns:70% 30%}.hero-copy h1{font-size:60px}.services-grid{grid-template-columns:1fr}.service-tile{min-height:265px;grid-template-columns:1fr 45%}.service-tile h3{margin:20px 0}.project-layout{gap:35px}.contact-layout{gap:38px}.pressline-title{flex-basis:155px}}
@media(max-width:760px){.wrap{width:calc(100% - 34px)}.header{height:72px}.identity-img{width:37px;height:37px}.identity-word{font-size:17px}.identity-sub{font-size:5.6px}.header-nav{display:none;position:absolute;left:0;right:0;top:72px;padding:20px 25px 27px;flex-direction:column;align-items:stretch;background:#fff;border-bottom:1px solid #e6e7e7;box-shadow:0 20px 30px #182d3c12}.header-nav.open{display:flex}.header-nav a{font-size:15px;padding:8px}.menu-toggle{display:flex}.header-actions .nav-pill{display:none}.home-hero,.hero-inner{min-height:655px}.hero-photo{background-image:linear-gradient(180deg,#fbfbf9 0%,#fbfbf9eb 28%,#fbfbf9a1 52%,#fbfbf900 100%),url('../img/architecture-hero.webp');background-position:62% center}.hero-inner{display:block}.hero-copy{padding:62px 0 180px}.hero-copy h1{font-size:clamp(39px,8vw,58px);max-width:600px;margin:21px 0}.hero-copy .lede{font-size:14px;max-width:500px}.hero-side{display:none}.hero-foot .wrap{font-size:9px}.pressline-inner{padding:22px 0;display:block}.pressline-title{margin-bottom:18px}.pressline-points{gap:10px}.pressline-points span{font-size:11px}.pressline-points i{display:none}.section{padding:72px 0}.sec-head{display:block}.sec-head .lede{max-width:650px;margin-top:18px}.service-tile{min-height:290px}.project-layout,.approach-grid,.service-row,.case-detail,.contact-layout{grid-template-columns:1fr;gap:32px}.case-detail .product-window{order:2}.quote-band .wrap{display:block}.quote-band .btn{margin-top:24px}.footer-grid{grid-template-columns:1fr 1fr;gap:34px}.footer-grid>div:first-child{grid-column:1/-1}.page-hero{padding:68px 0}.page-hero h1{font-size:clamp(35px,7vw,58px)}.field-grid{grid-template-columns:1fr;gap:0}.contact-panel{padding:25px}.card-two{grid-template-columns:1fr}}
@media(max-width:480px){.hero-copy h1{font-size:37px}.home-hero,.hero-inner{min-height:710px}.hero-cta{gap:18px}.pressline-points{grid-template-columns:1fr;gap:8px}.pressline-points span:before{content:'— ';color:#91a2ac}.sec-title{font-size:35px}.service-tile{grid-template-columns:1fr 38%;min-height:305px}.service-text{padding:24px 18px}.service-tile h3{font-size:20px}.service-tile p{font-size:11px}.window-body{grid-template-columns:75px 1fr;min-height:250px}.window-side{padding:14px 5px}.window-main{padding:12px}.window-heading{font-size:13px}.calendar-cell{min-height:67px}.calendar-head b,.calendar-cell b{font-size:7px}.job{font-size:6px;padding:4px 2px}.footer-grid{grid-template-columns:1fr}.footer-end{display:block}.footer-end span{display:block;margin-bottom:8px}.page-hero h1{font-size:39px}.hero-side{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:0s!important}.js [data-reveal]{opacity:1;transform:none}}

/* Final editorial identity and responsive composition refinements */
.identity-word,.identity-sub{display:block}
.editorial-split{display:grid;grid-template-columns:1.06fr .94fr;gap:28px}
.hero-side{padding:12px 18px;background:rgba(248,250,249,.38);backdrop-filter:blur(7px)}
@media(max-width:760px){.editorial-split{grid-template-columns:1fr}.hero-copy h1{max-width:350px}.hero-side{display:none}}
@media(max-width:480px){.hero-copy h1{font-size:clamp(35px,9vw,43px)}.pressline-points span{font-size:12px}}
/* Prevent intrinsic width of the product visualization from expanding mobile grid tracks. */
.project-layout>*,.case-detail>*,.card-two>*,.window-main{min-width:0}
@media(max-width:760px){.project-layout,.case-detail,.card-two{grid-template-columns:minmax(0,1fr)}.product-window{width:100%;max-width:100%;transform:none}.window-body{grid-template-columns:80px minmax(0,1fr)}.window-main{min-width:0}.calendar-cell{min-width:0}}


/* Portfolio editorial expansion: all examples labelled by actual status */
.portfolio-overview{background:#f7f7f4;border-bottom:1px solid #e6e7e4}
.portfolio-overview .section-intro{display:flex;gap:40px;justify-content:space-between;align-items:end;margin-bottom:35px}
.portfolio-overview .section-intro .lede{max-width:420px;font-size:13px}
.portfolio-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.portfolio-card{background:#fff;border:1px solid #e7e7e3;min-width:0;transition:transform .28s ease,border-color .28s ease}
.portfolio-card:hover{transform:translateY(-3px);border-color:#bbc9d0}
.portfolio-image{position:relative;display:block;overflow:hidden;aspect-ratio:1.74;background:#142533}
.portfolio-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.portfolio-image:hover img{transform:scale(1.018)}
.portfolio-image .status{position:absolute;left:20px;top:20px;font:700 10px/1.5 var(--sans);text-transform:uppercase;letter-spacing:.105em;color:#1f3443;background:#f8faf8;padding:9px 11px;box-shadow:0 4px 16px #0002}
.portfolio-text{padding:27px 30px 29px}
.portfolio-text .portfolio-type{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:#6b7d8b}
.portfolio-text h3{font:400 clamp(24px,2.2vw,32px)/1.3 var(--serif);margin:12px 0}
.portfolio-text p{font-size:13px;line-height:1.85;color:#68747e;min-height:74px;margin-bottom:18px}
.portfolio-explainer{margin-top:28px;padding:18px 22px;border:1px solid #dfe5e6;background:#f8faf9;font-size:12px;color:#65747e;line-height:1.9}
.portfolio-explainer strong{color:#263b4d}
.showcase-hero{padding:72px 0 45px;border-bottom:1px solid #e9e9e5;background:#f7f7f4}
.showcase-hero .bread{color:#667783;font-size:11px;margin-bottom:24px}
.showcase-hero h1{font:400 clamp(38px,4.8vw,66px)/1.16 var(--serif);letter-spacing:-.05em;margin:20px 0 18px;max-width:990px}
.showcase-hero .lede{max-width:710px}
.showcase-meta{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}
.showcase-meta span{background:#fff;border:1px solid #d9e0e1;color:#506572;padding:8px 13px;font-size:11px;letter-spacing:.02em}
.showcase-cover{position:relative;background:#10202b}
.showcase-cover img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.showcase-cover figcaption{font-size:11px;color:#7b8790;background:#f6f7f5;padding:13px 18px}
.showcase-section{padding:74px 0}
.showcase-section.alt{background:#f0f2f2}
.showcase-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:8%;align-items:start}
.showcase-split h2{font:400 clamp(32px,3.6vw,47px)/1.25 var(--serif);letter-spacing:-.045em;margin:17px 0}
.showcase-split p{color:#5b6873;font-size:14px;line-height:1.9;margin-bottom:18px}
.showcase-feature-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.showcase-feature{padding:27px;border:1px solid #dedfdd;background:#fff;min-height:145px}
.showcase-feature .cap{display:block;margin-bottom:12px}
.showcase-feature h3{font:400 21px/1.3 var(--serif);margin-bottom:7px}
.showcase-feature p{font-size:12px;color:#63717d;line-height:1.8}
.showcase-simulation{border:1px solid #e0e3e3;background:#fff;padding:28px;box-shadow:0 18px 46px #132a3214}
.showcase-simulation .sim-head{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #e5e8e8;padding-bottom:13px;margin-bottom:18px;font-size:11px;color:#5b6c77}
.sim-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.sim-box{padding:22px 16px;background:#f2f5f5;border:1px solid #e8ecea;font-size:12px;color:#495d6a}
.sim-box b{display:block;font:400 27px var(--serif);color:#162f3e;margin-bottom:7px}
.sim-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;border-bottom:1px solid #e6eaea;padding:13px 0;font-size:12px;color:#63727b}
.sim-row.heading{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#91a0a8}
.sim-dot{display:inline-block;width:7px;height:7px;background:#719da7;border-radius:50%;margin-right:8px}
.sim-dot.orange{background:#c5a16d}.sim-dot.blue{background:#6486aa}
.sim-workflow{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap}
.sim-node{padding:24px 16px;border:1px solid #d5e0e4;background:#f7fafb;flex:1;min-width:130px;color:#334859;font-size:13px}
.sim-node span{display:block;color:#7c98a9;font-size:10px;letter-spacing:.13em;text-transform:uppercase;margin-bottom:14px}
.sim-arrow{align-self:center;font-size:23px;color:#86a1b0}
.sim-note{padding:15px 18px;background:#f1f4f3;border-left:2px solid #6689a2;font-size:12px;line-height:1.8;color:#5d717d;margin-top:18px}
.showcase-next{display:flex;justify-content:space-between;gap:25px;align-items:center;padding:34px 0;border-top:1px solid #dfe3e1}
.showcase-next a{font-size:13px;color:#2f526e}
@media(max-width:760px){.portfolio-index,.showcase-split{grid-template-columns:1fr}.portfolio-overview .section-intro{display:block}.portfolio-overview .section-intro .lede{margin-top:14px}.portfolio-text{padding:20px}.portfolio-text p{min-height:0}.showcase-section{padding:52px 0}.showcase-feature-list{grid-template-columns:1fr}.showcase-cover img{aspect-ratio:1.5}.showcase-simulation{padding:18px}.sim-grid{grid-template-columns:1fr 1fr}.sim-node{min-width:118px}.sim-arrow{display:none}}
@media(max-width:480px){.sim-grid{grid-template-columns:1fr}.showcase-meta span{font-size:10px}.showcase-hero{padding:54px 0 35px}.showcase-cover img{aspect-ratio:1.38}.sim-row{grid-template-columns:1fr 1fr}.sim-row span:nth-child(3){display:none}}

/* v5: portfolio imagery contains its own intentional headings; avoid badge overlays. */
.portfolio-image .status{display:none}

/* v6 editorial portfolio: preserve every edge of the 1440×820 authored covers. */
.portfolio-image{aspect-ratio:72/41}
.portfolio-image img{object-fit:contain}
.showcase-cover img{height:auto;aspect-ratio:72/41;object-fit:contain}
