/* Astana portfolio: production-isolated palette and a single type family. */
.astana-portfolio{--ap-paper:#f5f2eb;--ap-panel:#fbf9f5;--ap-ink:#484640;--ap-line:#d5d0c6;--ap-orange:#ff6a00;margin:0;background:var(--ap-paper);color:var(--ap-ink);font-family:Oswald,Impact,sans-serif;font-size:18px;line-height:1.6}
.astana-portfolio *{box-sizing:border-box}
.astana-portfolio a{color:inherit;text-decoration:none}
.astana-portfolio button{font:inherit;cursor:pointer}
.astana-portfolio a:focus-visible,.astana-portfolio button:focus-visible{outline:3px solid var(--ap-orange);outline-offset:5px}
.astana-portfolio img{display:block;max-width:100%}
.astana-portfolio [hidden]{display:none!important}
.astana-portfolio h1,.astana-portfolio h2,.astana-portfolio h3,.astana-portfolio p{margin:0}
.ap-wrap{width:min(1320px,calc(100% - 96px));margin-inline:auto}
.ap-header{background:var(--ap-ink);color:var(--ap-panel)}
.ap-header-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:88px}
.ap-brand{display:inline-flex;gap:16px;align-items:center;flex-shrink:0;letter-spacing:.18em;font-size:26px;font-weight:500}
.ap-brand img{width:24px;height:32px;object-fit:contain}
.ap-header nav{display:flex;flex-wrap:wrap;align-items:center;gap:24px;font-size:16px}
.ap-header nav>a:not(.ap-button):hover,.ap-header nav>a[aria-current]{color:var(--ap-orange)}
.ap-language{border:1px solid #817d72;padding:2px 10px}
.ap-button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:48px;padding:10px 20px;background:var(--ap-orange);color:var(--ap-ink)!important;font-weight:500;transition:filter .15s}
.ap-button:hover{filter:brightness(1.07)}
.ap-breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;padding-block:22px;font-size:16px;border-bottom:1px solid var(--ap-line)}
.ap-breadcrumbs a:hover,.ap-related a:hover,.ap-footer a:hover{text-decoration:underline;text-underline-offset:5px}
.ap-intro{padding-block:40px 38px}
.ap-eyebrow{color:var(--ap-orange);letter-spacing:.09em;text-transform:uppercase;font-size:16px;font-weight:500}
.astana-portfolio h1{font-size:clamp(42px,4.8vw,68px);font-weight:500;line-height:1.1;margin-top:14px;max-width:1200px;text-wrap:balance}
.ap-intro-copy{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-top:28px}
.ap-intro-copy p{max-width:65ch}
.ap-ledger{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--ap-line);margin-bottom:38px}
.ap-ledger>div{padding:20px 24px;border-right:1px solid var(--ap-line)}
.ap-ledger>div:first-child{padding-left:0}.ap-ledger>div:last-child{border-right:0}
.ap-ledger strong{display:block;font-size:36px;line-height:1.2;font-weight:500;color:var(--ap-orange)}
.ap-ledger span{display:block;margin-top:6px;font-size:16px}
.ap-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.ap-category{border:1px solid var(--ap-line);background:var(--ap-panel);min-width:0}
.ap-category-link{display:block;height:100%;padding-bottom:26px}
.ap-category-screens{height:300px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:16px;padding:28px;background:#e9e5dc;overflow:hidden;border-bottom:1px solid var(--ap-line)}
.ap-preview-frame{border:5px solid var(--ap-ink);border-radius:9px;overflow:hidden;background:var(--ap-panel);box-shadow:0 10px 18px #4846401f}
.ap-preview-frame:first-child{align-self:start;margin-top:4px}
.ap-preview-frame:last-child{align-self:end;margin-bottom:4px}
.ap-preview-frame img{width:100%;height:auto}
.ap-category-copy{display:grid;grid-template-columns:52px minmax(0,1fr) 24px;align-items:center;gap:16px;padding:24px 26px 10px}
.ap-category h2{font-size:30px;font-weight:500;line-height:1.15}
.ap-category-copy p{font-size:16px;margin-top:8px}
.ap-arrow{font-size:30px;color:var(--ap-orange)}
.ap-category-description{padding:0 26px;min-height:3.2em}
.ap-category .ap-text-link{display:inline-block;margin:18px 26px 0}
.ap-text-link{text-decoration:underline!important;text-decoration-color:var(--ap-orange)!important;text-underline-offset:6px;text-decoration-thickness:2px!important}
.ap-project-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:20px 0;border-top:1px solid var(--ap-line)}
.ap-project-heading h2,.ap-section-title h2,.ap-contact h2{font-size:34px;line-height:1.2;font-weight:500}
.ap-project-heading>span{font-size:16px}
.ap-projects{display:grid;gap:30px}
.ap-project{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);border:1px solid var(--ap-line);background:var(--ap-panel);scroll-margin-top:24px}
.ap-project-visual{min-width:0;background:#e9e5dc}
.ap-device-tabs{display:flex;gap:0;border-bottom:1px solid var(--ap-line);background:var(--ap-panel)}
.ap-device-tabs button{min-height:48px;padding:8px 20px;border:0;border-right:1px solid var(--ap-line);background:transparent;color:var(--ap-ink);font-size:16px;border-bottom:3px solid transparent}
.ap-device-tabs button[aria-pressed=true]{border-bottom-color:var(--ap-orange);background:#fff0e4}
.ap-screen-stage{height:460px;display:flex;justify-content:center;align-items:center;padding:28px}
.ap-device{margin:0;max-width:100%;max-height:100%;border:7px solid var(--ap-ink);border-radius:12px;overflow:hidden;background:var(--ap-panel);box-shadow:0 12px 24px #48464024;display:flex;align-items:center;justify-content:center}
.ap-device img{width:auto;height:auto;max-height:390px;max-width:100%;object-fit:contain;object-position:center}
.ap-device--desktop{width:100%}
.ap-device--desktop img{width:100%;height:390px}
.ap-device--tablet img,.ap-device--mobile img{height:390px;width:auto}
.ap-screen-links{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:12px 22px;font-size:14px}
.ap-screen-links a{text-decoration:underline;text-underline-offset:4px}
.ap-project-copy{padding:38px 34px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;border-left:1px solid var(--ap-line)}
.ap-project-copy h3{font-size:clamp(26px,2.45vw,34px);font-weight:500;line-height:1.2;overflow-wrap:anywhere;margin-block:16px}
.ap-project-copy>.ap-text-link{margin-top:28px}
.ap-criteria{margin-top:54px;padding-top:30px;border-top:1px solid var(--ap-line)}
.ap-section-title{display:flex;justify-content:space-between;align-items:baseline;gap:24px}
.ap-criteria-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:30px}
.ap-criteria-grid article{padding-top:20px;border-top:3px solid var(--ap-orange)}
.ap-criteria-grid h3{font-size:26px;font-weight:500;line-height:1.2;margin-bottom:14px}
.ap-related{display:flex;flex-wrap:wrap;gap:12px 24px;padding-block:36px;border-bottom:1px solid var(--ap-line);font-size:16px}
.ap-related>a:first-child{width:100%;margin-bottom:10px}
.ap-contact{display:grid;grid-template-columns:1.6fr 1fr;gap:48px;padding:38px 0 48px;margin-top:20px}
.ap-contact h2{margin-block:12px 18px}
.ap-contact-actions{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:18px}
.ap-footer{border-top:1px solid var(--ap-line);padding-block:24px;font-size:16px}
.ap-footer>.ap-wrap{display:flex;flex-wrap:wrap;gap:18px 30px}
.ap-footer span{margin-right:auto}
.ap-skip{position:absolute;top:-100px;left:20px;background:var(--ap-orange);padding:12px;z-index:10}
.ap-skip:focus{top:10px}
@media(min-width:1600px){.ap-wrap{width:min(1520px,calc(100% - 120px))}.ap-category-screens{height:340px}.ap-screen-stage{height:500px}.ap-device img{max-height:430px}.ap-device--desktop img,.ap-device--tablet img,.ap-device--mobile img{height:430px}}
@media(max-width:1100px){.ap-wrap{width:calc(100% - 56px)}.ap-header-inner{gap:20px;flex-wrap:wrap;padding-block:18px}.ap-header nav{gap:18px}.ap-category-screens{height:245px;padding:18px;gap:12px}.ap-project-copy{padding:26px}.ap-screen-stage{height:380px;padding:20px}.ap-device img{max-height:325px}.ap-device--desktop img,.ap-device--tablet img,.ap-device--mobile img{height:325px}}
@media(max-width:720px){.ap-wrap{width:calc(100% - 36px)}.ap-header-inner{display:block}.ap-brand{font-size:24px}.ap-header nav{gap:12px 20px;margin-top:18px;font-size:16px}.ap-header .ap-button{min-height:42px;padding:6px 12px}.ap-intro{padding-block:28px}.astana-portfolio h1{font-size:40px;line-height:1.12;text-wrap:pretty}.ap-intro-copy{grid-template-columns:1fr;gap:18px;margin-top:22px}.ap-ledger{grid-template-columns:1fr 1fr}.ap-ledger>div{padding:16px!important}.ap-ledger>div:nth-child(2){border-right:0}.ap-ledger>div:nth-child(-n+2){border-bottom:1px solid var(--ap-line)}.ap-ledger strong{font-size:32px}.ap-category-grid{grid-template-columns:1fr;gap:24px}.ap-category-screens{height:230px;padding:20px}.ap-category-copy{padding:22px 20px 12px;grid-template-columns:44px minmax(0,1fr) 20px;gap:12px}.ap-category h2{font-size:28px}.ap-category-description{padding:0 20px;min-height:0}.ap-category .ap-text-link{margin-left:20px}.ap-project-heading{display:block}.ap-project-heading>span{display:block;margin-top:8px}.ap-project{grid-template-columns:1fr}.ap-project-copy{border-left:0;border-top:1px solid var(--ap-line);padding:24px}.ap-project-copy h3{font-size:30px}.ap-screen-stage{height:340px;padding:16px}.ap-device{border-width:5px;border-radius:8px}.ap-device img{max-height:295px}.ap-device--desktop img,.ap-device--tablet img,.ap-device--mobile img{height:295px}.ap-device-tabs button{flex:1;padding:8px 10px}.ap-screen-links{padding:12px 16px}.ap-section-title{display:block}.ap-section-title h2{margin-top:12px}.ap-criteria{margin-top:36px}.ap-criteria-grid{grid-template-columns:1fr;gap:24px}.ap-contact{grid-template-columns:1fr;gap:24px;padding-bottom:32px}.ap-footer>.ap-wrap{gap:12px 20px}.ap-footer span{width:100%}}
@media(prefers-reduced-motion:reduce){.ap-button{transition:none}}
.ap-screen-stage{--ap-image-height:390px}
.astana-portfolio .ap-device--desktop{width:min(100%,calc(var(--ap-image-height) * var(--capture-ratio)))}
.astana-portfolio .ap-device--desktop img{height:auto;max-height:var(--ap-image-height)}
.astana-portfolio .ap-button{color:#302f2b!important}
@media(min-width:1600px){.ap-screen-stage{--ap-image-height:430px}}
@media(max-width:1100px){.ap-screen-stage{--ap-image-height:325px}}
@media(max-width:720px){.ap-screen-stage{--ap-image-height:295px}.ap-screen-stage[data-current-device="desktop"]{height:auto;min-height:210px}}
.ap-archive{margin-top:30px;border:1px solid var(--ap-line);padding:22px 26px}
.ap-archive summary{cursor:pointer;font-size:24px}
.ap-archive p{margin-top:16px}.ap-archive article{padding-top:24px}.ap-archive h3{font-size:26px;font-weight:500}
.ap-archive-links{display:flex;flex-wrap:wrap;gap:20px;margin-top:18px}
