/* Gallery art direction. Individual concepts retain their own visual systems. */
.showcase-window>img{height:auto}
.portfolio-glass{--ink:#123f32;--muted:#48665a;--green:#126547;--line:#bdd3c5;background:linear-gradient(135deg,#e1eee6 0,#f6f8f3 36%,#e8f0e6 100%);color:var(--ink)}
.portfolio-glass .frame{width:min(1320px,90%);margin:auto}.portfolio-glass a:focus-visible,.portfolio-glass button:focus-visible,.portfolio-glass summary:focus-visible{outline:3px solid #1b865b;outline-offset:5px}
.portfolio-glass .glass-nav{height:86px;width:min(1400px,94%);padding:0 30px;margin:22px auto 0;border:1px solid #ffffff;border-radius:26px;background:#ffffffc7;box-shadow:0 12px 35px #1c523512,inset 0 1px 0 #fff;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.portfolio-glass header nav{gap:30px;font-size:13px}.portfolio-glass .nav-contact{padding:13px 20px;background:linear-gradient(#236448,#174632);border:1px solid #315c47;border-radius:30px;color:white;box-shadow:inset 0 1px #ffffff40,0 6px 15px #244f3520}
.portfolio-glass .hero{grid-template-columns:1fr 1.1fr;gap:35px;align-items:center;padding:85px 0 65px}.portfolio-glass .eyebrow{font-size:10px;font-weight:600;letter-spacing:.16em;color:#426752}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#22805b;box-shadow:0 0 0 5px #ffffffb0;margin:0 10px 1px 4px}.portfolio-glass .hero h1{font-size:clamp(48px,5.8vw,82px);line-height:1.03;letter-spacing:-.065em;font-weight:500;margin:24px 0}.portfolio-glass .hero h1 em{font-family:Georgia,serif;font-weight:400;color:#267653;letter-spacing:-.055em}.portfolio-glass .hero p{font-size:16px;line-height:1.8;color:var(--muted);max-width:none}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:28px}.portfolio-glass .button{display:inline-flex;justify-content:center;align-items:center;padding:15px 24px;border-radius:40px;border:1px solid #ffffff9c;box-shadow:inset 0 1px 1px #ffffff55,0 7px 18px #15442d16;font-size:13px;background:linear-gradient(#287252,#155337);color:white;text-decoration:none}.quiet-link{font-size:12px;border-bottom:1px solid #9db7a6;padding:8px 0}.proof-strip{display:flex;align-items:center;gap:20px;margin-top:35px;font-size:11px;color:#486557}.proof-strip span+span{border-left:1px solid #b9cfbf;padding-left:20px}.proof-strip strong{font-size:21px;color:#194e35;font-weight:550;margin-right:4px}
.hero-showcase{position:relative;min-width:0;min-height:390px;padding:30px 45px 60px 0}.showcase-window{border-radius:16px;overflow:hidden;background:#ffffffaa;border:1px solid white;box-shadow:0 24px 45px #183e3726;transform:rotate(-2deg)}.showcase-window>img{width:100%;display:block;aspect-ratio:1.44;object-fit:cover;object-position:top}.window-bar{height:27px;display:flex;align-items:center;gap:5px;padding:0 12px;background:#ffffffc9}.window-bar i{width:5px;height:5px;background:#bdcbbf;border-radius:50%}.window-bar span{font-size:8px;flex:1;text-align:center;color:#557062;padding-right:24px}.hero-phone{position:absolute;right:0;bottom:42px;width:29%;filter:drop-shadow(0 15px 15px #173e3720)}.hero-phone{aspect-ratio:388/800;background:transparent}.hero-phone-display{position:absolute;inset:1.2% 3%;border-radius:14% / 6.5%;overflow:hidden;background:#f7f7f4}.hero-phone-status{position:absolute;inset:0 0 auto;height:8%;display:flex;align-items:center;justify-content:space-between;padding:0 10%;font:600 5px Arial,sans-serif;color:#171717}.hero-phone-status svg{width:20%;height:auto}.hero-phone-page{position:absolute;inset:8% 0 4%;overflow:hidden}.hero-phone-page img{display:block;width:calc(100% + 8px);height:auto;max-width:none;border-radius:0}.hero-phone-home{position:absolute;bottom:1.7%;left:35%;height:2px;width:30%;border-radius:4px;background:#202320}.hero-phone .hero-phone-bezel{position:absolute;inset:0;display:block;width:100%;height:100%;border-radius:0;pointer-events:none}.showcase-tag{position:absolute;left:20px;bottom:45px;border:1px solid #fff;padding:13px 19px;border-radius:30px;background:#ffffffcc;box-shadow:0 7px 20px #214e3312;backdrop-filter:blur(18px);font-size:12px}.showcase-caption{position:absolute;bottom:10px;left:20px;font-size:9px;color:#5b7767}
.section-title{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:25px}.portfolio-glass .section-title h2{font-size:clamp(27px,3vw,40px);font-weight:500;letter-spacing:-.045em;line-height:1.2;margin-top:12px}.section-caption{font-size:12px;color:#577260}.real-section{padding:48px 0 65px;border-top:1px solid #bdcfbf}.real-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.real-project{background:#ffffff9c;border:1px solid #fff;border-radius:22px;padding:10px;box-shadow:0 12px 28px #254b3910;overflow:hidden;text-decoration:none}.real-image{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:1.83;background:#dae3d9}.real-image img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}.project-badge{position:absolute;left:16px;bottom:16px;padding:7px 12px;background:#ffffffed;color:#243f32;border:1px solid white;border-radius:20px;font-size:10px}.real-info{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:19px 10px 13px}.real-info h3{font-size:21px;font-weight:550;letter-spacing:-.04em}.real-info p{font-size:11px;color:#607667;margin-top:7px}.visit{font-size:11px;white-space:nowrap;border-bottom:1px solid #9fb5a5;padding-bottom:4px}
.portfolio-glass #collection{scroll-margin-top:30px;padding:48px 0;border-top:1px solid #bdcfbf}.collection-intro{font-size:13px;color:#536f5e;margin:-10px 0 25px}.portfolio-glass .collection-head{display:block;margin-bottom:25px}.portfolio-glass .filters{padding:8px;gap:5px;border-radius:22px;background:#ffffff80;border:1px solid #fff;box-shadow:inset 0 1px 0 white;display:flex;flex-wrap:wrap}.portfolio-glass .filters button{border:0;padding:10px 15px;border-radius:20px;background:transparent;color:#355641;font-size:11px}.portfolio-glass .filters button[aria-pressed=true]{background:linear-gradient(#27694e,#164e35);color:white;box-shadow:0 4px 10px #27563520}.portfolio-glass .count{font-size:10px;text-align:right;margin-top:12px;color:#587260}.portfolio-glass .grid{gap:30px 24px}.portfolio-glass .card{padding:10px 10px 20px;background:#ffffff8c;border:1px solid white;border-radius:24px;box-shadow:0 14px 28px #25432e0b;overflow:hidden}.portfolio-glass .card[hidden]{display:none}.portfolio-glass .image-button{padding:0;border-radius:15px;overflow:hidden;background:#e9ede4;border:0}.portfolio-glass .image-button img{border-radius:0;transform:none;transition:opacity .2s;aspect-ratio:1.44}.portfolio-glass .image-button:hover img{transform:none;opacity:.94}.portfolio-glass .preview-label{border-radius:20px;font-size:10px;background:#fffef1ed;color:#294a35}.portfolio-glass .card-head{margin:18px 12px 9px}.portfolio-glass .card h2{font-weight:500;font-size:26px;color:#173e2d}.portfolio-glass .card-head>span{border:0;background:#dfeadf;color:#345f44;border-radius:20px;font-size:10px;padding:6px 10px}.portfolio-glass .card>p{margin:0 12px;color:#5c7162;font-size:11px}.portfolio-glass .card-links{margin:17px 12px 0;gap:16px}.portfolio-glass .card-links a,.portfolio-glass .card-links button{font-size:10px}.portfolio-glass .card-links .explore-button{background:#1f6143;padding:10px 15px;border-radius:22px}.scope-details{font-size:12px;margin:30px 0 0;border-top:1px solid #bacdbf;padding-top:20px;color:#45604e}.scope-details summary{cursor:pointer}.scope-details p{max-width:800px;margin-top:15px;line-height:1.8}
.capabilities{display:grid;grid-template-columns:.9fr 1.1fr;gap:30px;margin:35px 0 65px;padding:38px;border:1px solid white;border-radius:28px;background:linear-gradient(130deg,#fafffbc9,#c5dec7bb);box-shadow:inset 0 1px 0 white,0 20px 40px #265a3510}.capabilities h2{font-size:38px;font-weight:500;letter-spacing:-.045em;margin-top:15px}.capabilities p{font-size:13px;line-height:1.8;color:#4f6b58;margin:15px 0 20px}.capability-visual{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:center}.capability-visual>a{min-height:185px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:14px;background:linear-gradient(145deg,#ffffffd9,#ffffff40);box-shadow:inset 0 2px 2px white,0 10px 20px #21473112;border:1px solid white;border-radius:24px;padding:16px 10px}.capability-visual svg{width:48px;height:48px;color:#2f7450}.capability-visual strong{font-size:12px;font-weight:550}.capability-visual span{font-size:9px;color:#536a59;line-height:1.5}.capabilities small{grid-column:1/-1;font-size:9px;color:#536b59}
.portfolio-glass .closing{padding:45px;background:linear-gradient(120deg,#194d38,#2c7250);border:1px solid #8cba99;border-radius:28px;color:white;box-shadow:inset 0 1px 0 #ffffff50,0 20px 40px #204e3820;gap:25px}.portfolio-glass .closing h2{font-size:38px;letter-spacing:-.04em;font-weight:450;line-height:1.18}.portfolio-glass .closing .eyebrow{color:#c3e0c8;margin-bottom:15px}.portfolio-glass .closing p{color:#cde0d1;font-size:13px;margin-top:15px}.portfolio-glass .closing .button{background:linear-gradient(#ffffffed,#d9e8dadc);color:#204d33;white-space:nowrap}.portfolio-glass .page-footer{width:min(1320px,90%);font-size:10px;gap:20px;padding:30px 0;margin:25px auto;color:#587060}.portfolio-glass dialog{border:1px solid white;border-radius:24px;background:#f5f9f2}.portfolio-glass dialog::backdrop{background:#10372399;backdrop-filter:blur(7px)}.portfolio-glass .close,.portfolio-glass .view-tabs button{border-radius:20px}.portfolio-glass .screen-wrap{background:#e2ebe0}
@media(max-width:1000px){.portfolio-glass .hero{gap:20px;padding-top:60px}.hero-showcase{min-height:315px;padding-right:30px}.hero-actions{flex-wrap:wrap;gap:15px}.proof-strip{gap:12px}.proof-strip span+span{padding-left:12px}.capabilities{grid-template-columns:1fr}.real-info{align-items:start;flex-direction:column}.capability-visual>a{min-height:155px}.portfolio-glass .closing h2{font-size:32px}}
@media(max-width:760px){.portfolio-glass .glass-nav{height:72px;padding:0 18px;border-radius:22px;margin-top:12px}.portfolio-glass header nav{gap:15px;font-size:10px}.portfolio-glass header img{width:112px;height:auto}.portfolio-glass .hero{grid-template-columns:1fr;padding:44px 0 30px;gap:24px}.portfolio-glass .hero h1{font-size:52px;margin:20px 0}.portfolio-glass .hero p{font-size:14px}.portfolio-glass .hero-actions{gap:18px}.portfolio-glass .button{font-size:12px;padding:13px 20px}.quiet-link{font-size:10px}.proof-strip{margin-top:25px;font-size:10px}.proof-strip strong{font-size:18px}.hero-showcase{min-height:280px;width:min(480px,100%);margin:auto;padding:15px 32px 60px 0}.hero-phone{width:25%;bottom:38px}.showcase-tag{font-size:10px;left:12px;bottom:39px;padding:10px 13px}.showcase-caption{font-size:8px;left:12px}.section-title{display:block}.section-caption{display:block;margin-top:12px;font-size:11px}.real-section{padding:32px 0}.real-grid{grid-template-columns:1fr;gap:18px}.real-info{flex-direction:row;padding:15px 8px;align-items:center}.real-info h3{font-size:19px}.real-info p{font-size:9px;max-width:230px;line-height:1.5}.visit{font-size:10px}.portfolio-glass #collection{padding:32px 0}.portfolio-glass .grid{gap:22px}.portfolio-glass .filters{border-radius:20px;padding:7px}.portfolio-glass .filters button{font-size:10px;padding:9px 12px}.collection-intro{font-size:12px;line-height:1.7}.portfolio-glass .card-links{gap:13px}.capabilities{padding:24px;gap:18px;margin:20px 0 40px}.capabilities h2{font-size:32px}.capability-visual{gap:7px}.capability-visual>a{min-height:148px;padding:12px 7px;border-radius:18px;gap:10px}.capability-visual svg{width:36px;height:36px}.capability-visual strong{font-size:10px}.capability-visual span{font-size:8px}.portfolio-glass .closing{padding:28px}.portfolio-glass .closing h2{font-size:30px}.portfolio-glass .page-footer{font-size:9px;gap:12px}.portfolio-glass dialog{border-radius:20px}.portfolio-glass .dialog-head p{max-width:250px}.portfolio-glass .dialog-foot{font-size:9px}}

@media(max-width:760px){.portfolio-glass .hero h1{font-size:clamp(39px,11.3vw,46px)}}

/* Align the collection links with the contact action on one horizontal axis. */
.portfolio-glass .glass-nav nav{align-items:center;gap:10px}
.portfolio-glass .glass-nav nav>a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;line-height:1.2;padding:0 20px;border-radius:30px;white-space:nowrap}
.portfolio-glass .glass-nav nav>a:not(.nav-contact){background:linear-gradient(145deg,#ffffffd9,#e5eee6b0);border:1px solid #d5e3d8;box-shadow:inset 0 1px 0 white;color:#315842;transition:background .15s,border-color .15s}
.portfolio-glass .glass-nav nav>a:not(.nav-contact):hover{background:#dcebdd;border-color:#a8c5b0}
.portfolio-glass .glass-nav .nav-contact{margin-left:8px}
.portfolio-glass .card[id]{scroll-margin-top:24px}
@media(max-width:760px){.portfolio-glass .glass-nav{padding:0 13px;gap:10px}.portfolio-glass .glass-nav img{width:95px}.portfolio-glass .glass-nav nav{gap:6px}.portfolio-glass .glass-nav nav>a{min-height:42px;padding:0 11px;font-size:10px}.portfolio-glass .glass-nav nav>.nav-contact{display:none}}
@media(max-width:360px){.portfolio-glass .glass-nav img{width:80px}.portfolio-glass .glass-nav nav>a{padding:0 8px;font-size:9px}}
