/* ANTIK DUSAKABIN — FULL-SITE RESPONSIVE & IMAGE-FIT REVISION
   This file is intentionally loaded AFTER the original theme styles.
   It preserves the approved navy/gold design while improving image clarity,
   intrinsic sizing, tap targets, multi-page grids and narrow viewport behavior. */
:root{--ap-ease:cubic-bezier(.2,.75,.25,1)}
html{max-width:100%;scroll-behavior:smooth}
*,*::before,*::after{box-sizing:border-box}
body.ap-site{width:100%;max-width:100%;min-width:0;margin:0;overflow-x:clip}
.ap-site main,.ap-site section,.ap-site header,.ap-site footer,.ap-site article,.ap-site aside,.ap-site nav{min-width:0}
.ap-site .ap-container,.ap-site .container{max-width:100%}
.ap-site .ap-container>*{min-width:0}
.ap-site img{display:block;max-width:100%;height:auto;image-rendering:auto}
.ap-site h1,.ap-site h2,.ap-site h3,.ap-site h4,.ap-site p{overflow-wrap:break-word}
.ap-site .ap-btn{max-width:100%;white-space:normal;text-align:center;text-wrap:balance}
.ap-site .ap-nav,.ap-site .ap-dropdown{max-width:min(100vw,100%)}
.ap-site :focus-visible{outline-offset:3px}

/* Full image view: original scene remains visible without cover crop.
   Colour-matched backgrounds provide an attractive letterbox when needed. */
.ap-service-card,.ap-project-photo,.ap-blog-photo,.ap-about-photo,
.ap-site .picture,.ap-site .project-thumb,.ap-site .blog-img,
.ap-site .article-cover,.ap-site .detail-hero-image,.ap-site .detail-secondary,
.ap-site .project-detail-hero,.ap-site .gallery-grid .picture{isolation:isolate;min-width:0}
.ap-site .ap-service-card img,.ap-site .ap-project-photo img,.ap-site .ap-blog-photo img,
.ap-site .picture img{width:100%;height:100%;object-fit:contain!important;object-position:center center!important;max-width:100%;filter:none;transform:none!important;transition:filter .3s var(--ap-ease)}
.ap-site .ap-service-card:hover img,.ap-site .ap-project-card:hover img,.ap-site .ap-blog-card:hover img,
.ap-site a.picture:hover img,.ap-site .hover-image:hover img{transform:none!important;filter:brightness(1.045)}
.ap-site .ap-service-card,.ap-site .ap-project-photo,.ap-site .ap-blog-photo,
.ap-site .picture{background:#dfe8ec}
/* Maintain the generated photograph's true landscape aspect ratio on home cards. */
.ap-site .ap-services-cards{align-items:stretch}
.ap-site .ap-service-card{height:auto!important;min-height:0!important;aspect-ratio:1.61;overflow:hidden;flex-shrink:0}
.ap-site .ap-service-card-shade{pointer-events:none;background:linear-gradient(0deg,rgba(4,24,36,.91),rgba(4,24,36,.31) 37%,transparent 80%)}
.ap-site .ap-service-content{z-index:1}
.ap-site .ap-project-photo{height:auto!important;aspect-ratio:16/9;overflow:hidden}
.ap-site .ap-blog-photo{height:auto!important;aspect-ratio:16/9;overflow:hidden}
.ap-site .ap-blog-card:last-child .ap-blog-photo{height:auto!important}
.ap-site .ap-blog-content h3{min-height:0}
.ap-site .ap-blog-card,.ap-site .ap-project-card{min-width:0}
.ap-site .ap-blog-card a,.ap-site .ap-project-card a{overflow-wrap:break-word}
/* Hero photography fills a decorative area; do not scale beyond its original box. */
.ap-site .ap-hero-media img{width:100%;height:100%;max-width:100%;object-fit:cover;object-position:center center;transform:none!important;filter:none}
.ap-site .ap-hero-slide{overflow:hidden}
.ap-site .ap-hero-image-shade,.ap-site .ap-hero-shine{pointer-events:none}
.ap-site .ap-about-photo img{width:100%;height:100%;object-fit:contain!important;object-position:center!important;filter:none!important}
.ap-site .ap-about-photo{background:linear-gradient(145deg,#9eb2bf,#526d7e)}

/* Inner page full-photo panels: keep complete photographs visible. */
.ap-site .detail-hero-image{height:auto!important;aspect-ratio:16/10;overflow:hidden}
.ap-site .detail-secondary{height:auto!important;aspect-ratio:16/10;overflow:hidden}
.ap-site .article-cover{height:auto!important;aspect-ratio:16/9;overflow:hidden}
.ap-site .project-detail-hero{height:auto!important;aspect-ratio:16/10;overflow:hidden}
.ap-site .gallery-grid .picture,.ap-site .gallery-grid .picture:first-child{height:auto!important;aspect-ratio:16/10}
.ap-site .blog-img{height:auto!important;aspect-ratio:16/9}
.ap-site .project-thumb{height:auto!important;aspect-ratio:16/10}
.ap-site .project-card.featured .project-thumb,.ap-site .project-card.featured+.project-card .project-thumb{height:auto!important;aspect-ratio:16/10}
.ap-site .intro-photo-main,.ap-site .intro-photo-small{background:#dfe8ec}
.ap-site .inner-hero .picture img{object-fit:cover!important}
.ap-site .lightbox{overflow:auto;padding:clamp(12px,3vw,45px)}
.ap-site .lightbox img{width:auto;max-width:calc(100vw - 40px);max-height:calc(100dvh - 74px);object-fit:contain!important}

/* Tidy inner pages: align cards to approved system and prevent narrow text clipping. */
.ap-site .services-grid,.ap-site .project-grid,.ap-site .blog-grid,.ap-site .detail-layout,
.ap-site .contact-grid,.ap-site .article-layout,.ap-site .form-grid,
.ap-site .footer-grid,.ap-site .mission-grid,.ap-site .value-grid{
 min-width:0;
}
.ap-site .services-grid>*,.ap-site .project-grid>*,.ap-site .blog-grid>*,
.ap-site .detail-layout>*,.ap-site .contact-grid>*,.ap-site .article-layout>*,
.ap-site .form-grid>*,.ap-site .footer-grid>*{min-width:0;max-width:100%}
.ap-site .section{overflow:visible}
.ap-site .service-card{min-height:0!important;aspect-ratio:4/4.05;border-radius:15px}
.ap-site .service-card .picture{position:absolute;inset:0;background:#cbd8df}
.ap-site .service-card:after{background:linear-gradient(0deg,rgba(5,31,47,.91),rgba(5,31,47,.45) 32%,transparent 78%)}
.ap-site .service-content{padding:clamp(16px,2vw,27px)}
.ap-site .project-card,.ap-site .blog-card{overflow:hidden}
.ap-site .blog-body h3,.ap-site .service-content h3,.ap-site .project-body h3{overflow-wrap:break-word}
.ap-site .blog-card,.ap-site .project-card{border-radius:14px;border:1px solid #e3e9ec;background:#fff}
.ap-site .blog-body{padding:22px}
.ap-site .blog-img{overflow:hidden}
.ap-site .project-thumb .picture,.ap-site .blog-img.picture{width:100%}
.ap-site .form-panel,.ap-site .side-box{max-width:100%}
.ap-site input,.ap-site select,.ap-site textarea{max-width:100%;min-width:0}
.ap-site .article-layout .prose,.ap-site .prose{overflow-wrap:break-word}
.ap-site .prose img{max-width:100%;height:auto}
.ap-site .detail-sidebar{max-width:100%}

/* Project slider should scroll internally, never widen body. */
.ap-site .ap-project-track{width:100%;max-width:100%;overscroll-behavior-x:contain}
.ap-site .ap-project-name{min-width:0}
.ap-site .ap-project-name strong{min-width:0;overflow-wrap:break-word}
.ap-site .ap-heading-actions{flex-shrink:0}
.ap-site .ap-footer-main{align-items:start}
.ap-site .ap-footer-col{min-width:0}
.ap-site .ap-wa-panel{max-height:min(560px,calc(100dvh - 100px));overflow-y:auto}
.ap-site .ap-wa-rail{max-width:64px}
.ap-site .ap-wa-mobile{max-width:calc(100vw - 24px)}

/* Subtle motion with no hover zoom/crop; respect reduced motion. */
@media(prefers-reduced-motion:no-preference){
 .ap-site .ap-service-card,.ap-site .ap-project-card,.ap-site .blog-card{transition:box-shadow .25s var(--ap-ease),transform .25s var(--ap-ease)}
 .ap-site .ap-service-card:hover,.ap-site .ap-project-card:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(12,47,70,.16)}
}
@media(max-width:1190px){
 .ap-site .ap-services-layout{grid-template-columns:minmax(215px,260px) minmax(0,1fr);gap:24px}
 .ap-site .ap-service-content h3{font-size:clamp(12px,1.2vw,16px)}
 .ap-site .ap-footer-main{gap:24px}
}
@media(max-width:1020px){
 .ap-site .ap-nav{max-width:100vw;max-height:calc(100dvh - 74px);overflow-y:auto}
 .ap-site .ap-services-layout{display:block}
 .ap-site .ap-services-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
 .ap-site .ap-process-layout{grid-template-columns:1fr}
 .ap-site .article-layout{grid-template-columns:minmax(0,1fr) 235px;gap:28px}
 .ap-site .detail-layout{grid-template-columns:minmax(0,1fr) 250px;gap:26px}
}
@media(max-width:770px){
 .ap-site .ap-container{width:calc(100% - 36px)}
 .ap-site .ap-hero-media{inset:0;clip-path:none;}
 .ap-site .ap-hero-media img{object-fit:cover;object-position:center}
 .ap-site .ap-about-photo{clip-path:none}
 .ap-site .ap-about-teaser{grid-template-columns:1fr}
 .ap-site .ap-services-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ap-site .ap-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ap-site .ap-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 .ap-site .ap-blog-card:last-child{grid-column:auto}
 .ap-site .ap-project-track{grid-auto-columns:minmax(250px,56%)}
 .ap-site .article-layout,.ap-site .detail-layout,.ap-site .contact-grid{grid-template-columns:minmax(0,1fr)}
 .ap-site .detail-sidebar{position:static}
 .ap-site .article-sidebar{border-left:0;padding-left:0;border-top:1px solid #e3e9ec;padding-top:24px}
 .ap-site .services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ap-site .service-card{aspect-ratio:4/4.2}
 .ap-site .project-grid{grid-template-columns:repeat(12,minmax(0,1fr))}
 .ap-site .gallery-grid{gap:12px}
 .ap-site .project-detail-hero{aspect-ratio:16/10}
 .ap-site .ap-wa-panel{bottom:85px;top:auto;right:15px;left:auto;width:min(355px,calc(100vw - 30px));max-height:calc(100dvh - 105px)}
}
@media(max-width:540px){
 .ap-site .ap-container{width:calc(100% - 32px)}
 .ap-site .ap-header-inner{gap:9px}
 .ap-site .ap-logo{width:min(42vw,162px)}
 .ap-site .ap-header-actions{margin-left:auto}
 .ap-site .ap-header-actions .ap-btn{min-height:38px;min-width:0;white-space:nowrap;padding:0 9px}
 .ap-site .ap-hero{height:590px;min-height:0}
 .ap-site .ap-hero-copy{width:100%;padding:10px 0 60px}
 .ap-site .ap-hero-copy h1,.ap-site .ap-hero-copy h2{font-size:clamp(32px,8.8vw,42px);text-wrap:balance}
 .ap-site .ap-hero-copy p{font-size:13px}
 .ap-site .ap-hero-buttons{gap:8px}
 .ap-site .ap-hero-buttons .ap-btn{padding-inline:11px;gap:8px;font-size:10px}
 .ap-site .ap-hero-controls{bottom:18px}
 .ap-site .ap-trust-wrap{margin-top:-20px}
 .ap-site .ap-trust-bar{min-height:0}
 .ap-site .ap-trust-bar>div{gap:7px;padding:9px 5px}
 .ap-site .ap-trust-bar strong{font-size:10px}
 .ap-site .ap-trust-bar small{font-size:9px}
 .ap-site .ap-service-card{aspect-ratio:1.3;min-height:0!important}
 .ap-site .ap-service-content{inset:auto 10px 10px 10px}
 .ap-site .ap-service-content h3{font-size:13px;line-height:1.2}
 .ap-site .ap-about-photo{min-height:0;max-height:none;height:auto;aspect-ratio:16/9}
 .ap-site .ap-about-copy{padding:23px 20px 25px}
 .ap-site .ap-about-watermark{font-size:160px;right:-7px;bottom:-37px}
 .ap-site .ap-heading-row{gap:14px}
 .ap-site .ap-heading-actions{width:100%;justify-content:space-between;gap:10px;flex-wrap:wrap}
 .ap-site .ap-project-track{grid-auto-columns:minmax(0,87%);gap:12px}
 .ap-site .ap-project-photo{aspect-ratio:16/9}
 .ap-site .ap-blog-grid{grid-template-columns:1fr;gap:16px}
 .ap-site .ap-blog-photo{aspect-ratio:16/9}
 .ap-site .ap-blog-card{width:100%}
 .ap-site .ap-process-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .ap-site .ap-process-card{min-height:0;padding:13px 10px}
 .ap-site .ap-process-card h3{font-size:12px}
 .ap-site .ap-promise-values{grid-template-columns:repeat(3,minmax(0,1fr))}
 .ap-site .ap-promise-values>div{min-width:0}
 .ap-site .ap-bottom-cta{display:flex;flex-direction:column;align-items:flex-start}
 .ap-site .ap-footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
 .ap-site .ap-footer-about,.ap-site .ap-footer-contact{grid-column:1/-1}
 .ap-site .ap-footer-col a{overflow-wrap:anywhere}
 .ap-site .ap-wa-mobile{right:14px;bottom:14px}
 .ap-site .services-grid,.ap-site .blog-grid{grid-template-columns:1fr}
 .ap-site .service-card{aspect-ratio:4/3.6}
 .ap-site .project-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
 .ap-site .project-card,.ap-site .project-card.featured,.ap-site .project-card.featured+.project-card{grid-column:auto}
 .ap-site .project-thumb,.ap-site .project-card.featured .project-thumb,.ap-site .project-card.featured+.project-card .project-thumb{aspect-ratio:16/10}
 .ap-site .article-cover,.ap-site .detail-hero-image,.ap-site .detail-secondary,.ap-site .project-detail-hero{aspect-ratio:16/10}
 .ap-site .gallery-grid .picture:first-child{grid-column:1/-1}
 .ap-site .gallery-grid .picture{grid-column:auto;aspect-ratio:4/3}
 .ap-site .form-grid{grid-template-columns:1fr}
 .ap-site .section{padding-top:65px;padding-bottom:65px}
 .ap-site .inner-hero{min-height:285px;padding:50px 0}
 .ap-site .inner-hero h1{font-size:clamp(31px,8.5vw,42px)}
 .ap-site .blog-body{padding:17px}
}
@media(max-width:370px){
 .ap-site .ap-container{width:calc(100% - 24px)}
 .ap-site .ap-header-actions .ap-btn{font-size:10px;padding:0 7px}
 .ap-site .ap-logo{width:128px}
 .ap-site .ap-hero{height:610px}
 .ap-site .ap-hero-buttons{flex-direction:column;align-items:stretch;max-width:190px}
 .ap-site .ap-services-cards{grid-template-columns:1fr}
 .ap-site .ap-service-card{aspect-ratio:16/10}
 .ap-site .ap-process-grid{grid-template-columns:1fr 1fr}
 .ap-site .ap-footer-main{grid-template-columns:1fr}
 .ap-site .ap-footer-about,.ap-site .ap-footer-contact{grid-column:auto}
}
@media(prefers-reduced-motion:reduce){.ap-site *, .ap-site *::before,.ap-site *::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
/* Explicit track widths: percentages as max() in minmax() can shrink
   implicit grid tracks to a few pixels in Chromium. */
.ap-site .ap-project-track{grid-auto-columns:calc((100% - 32px)/3)!important}
@media(max-width:770px){.ap-site .ap-project-track{grid-auto-columns:58%!important}}
@media(max-width:540px){.ap-site .ap-project-track{grid-auto-columns:86%!important}}
