/* CAL refinement — shared across Indonesian and English pages. */
:root{--blue:#064789}
html{scroll-padding-top:145px}
.cal-header.site-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.70);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(210,218,227,.52);box-shadow:0 3px 18px #16283a04}
.cal-header .wrap{width:min(1160px,calc(100% - 96px));margin-inline:auto}
.cal-header .utility{background:transparent;border-bottom:1px solid rgba(215,222,230,.5);font-size:.625rem;color:#626b76}
.cal-header .utility-inner{display:flex;min-height:32px;justify-content:space-between;align-items:center;gap:20px}
.cal-header .utility-inner>span{display:block}
.cal-header .utility-inner>div{display:flex;width:auto;align-items:center;gap:27px}
.cal-header .language-switch{display:flex;gap:13px;padding:0;border:0}
.cal-header .language-link{display:flex;align-items:center;justify-content:center;min-width:0;min-height:30px;padding:0 2px;color:#737d88;background:transparent;border-radius:999px;font-size:.625rem}
.cal-header .language-link[aria-current]{color:var(--blue);background:transparent;font-weight:700}
.cal-header .language-link:hover{color:#000;background:transparent}
.cal-header .header-inner{display:flex;height:auto;min-height:90px;justify-content:space-between;align-items:center;gap:26px}
.cal-header .brand{width:172px;flex-shrink:0}
.cal-header .brand img{width:172px;height:auto;padding:0;border-radius:0}
.cal-header .main-nav{position:static;display:flex;align-items:center;gap:29px;background:transparent;box-shadow:none;padding:0;max-height:none}
.cal-header .main-nav>a{font-size:.71875rem;white-space:nowrap;line-height:1.5;padding:14px 0;color:#444d58;border:0}
.cal-header .main-nav>a:hover,.cal-header .main-nav>a[aria-current]{color:var(--blue)}
.cal-header .main-nav>a[aria-current]{font-weight:700}
.cal-header .menu-toggle{display:none}
button,.button,.nav-cta,.explore-bar,.language-link,.skip-link{border-radius:999px}
.button{padding-inline:24px}
.button:hover{background:#000;border-color:#000;color:white}
.text-link,.inline-link{gap:0}
.service-row{grid-template-columns:26px 1fr}
.sector-caption{justify-content:flex-start}
.whatsapp-button{right:25px;bottom:23px;display:flex;align-items:center;justify-content:center;gap:9px;min-height:47px;padding:12px 18px;width:auto;height:auto;border-radius:999px;background:var(--blue);color:#fff;z-index:70;box-shadow:0 3px 16px #12334d1c;font-size:.75rem;line-height:1.5;border:1px solid #ffffff85}
.whatsapp-button:hover{background:#000;color:#fff}
.whatsapp-button span{display:inline!important}
.whatsapp-button img{width:21px;height:21px;filter:brightness(0) invert(1);border-radius:0}
.partner-band .brand-logo img,.dealer-grid .dealer-logo img{filter:grayscale(1);transition:filter .25s ease}
.partner-band .brand-logo:hover img,.partner-band .brand-logo:focus-visible img,.dealer-logo:hover img,.dealer-logo:focus-visible img{filter:grayscale(0)}
/* One architectural hero composition for the four revised inner pages. */
.cal-hero{position:relative;isolation:isolate;overflow:hidden;width:min(1400px,calc(100% - 48px));margin:0 auto;min-height:580px;background:#fdfdfd;border-radius:22px}
.cal-hero>.wrap{position:relative;width:min(1160px,calc(100% - 96px));margin-inline:auto;min-height:580px}
.cal-hero .hero-visual{position:absolute;inset:0 0 0 auto;width:76%;height:100%;z-index:-2;margin:0}
.cal-hero .hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center bottom;border-radius:22px}
.cal-hero--inner .hero-visual{width:100%}
.cal-hero--inner .hero-visual img{object-position:50% 50%;filter:grayscale(1)}
.cal-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#fdfdfd 1%,rgba(253,253,253,.96) 18%,rgba(253,253,253,0) 43%);pointer-events:none}
.cal-hero .hero-copy{padding:91px 0 113px;width:440px;max-width:48%}
.cal-hero--inner .hero-copy{padding-top:110px;width:470px;max-width:47%}
.cal-hero .hero-copy .eyebrow{margin:0;font-size:.65625rem;letter-spacing:.13em;line-height:1.7;text-transform:uppercase;color:var(--blue)}
.cal-hero h1{margin:22px 0;font-size:2.625rem;line-height:1.25;letter-spacing:-.048em;font-weight:400;color:var(--blue)}
.cal-hero h1 span{color:#18212b}
.cal-hero .hero-intro{margin:0;max-width:360px;font-size:.84375rem;line-height:1.9;color:#626b76}
.cal-hero .hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:27px;margin-top:27px}
.cal-hero .hero-assurance{display:flex;align-items:center;gap:9px;font-size:.65625rem;color:#606975;margin-top:24px}
.cal-hero .hero-assurance .icon{width:14px;height:14px;color:var(--blue)}
.cal-hero .hero-foot{position:absolute;bottom:30px;left:0;font-size:.625rem;letter-spacing:.11em;text-transform:uppercase;color:#69717a;display:flex;align-items:center;gap:15px}
.cal-hero+section.editorial-section{padding-top:58px}
.cal-hero~.service-details{padding-top:58px}
.dealer-section{padding:58px 0 52px}
.dealer-section>header{text-align:center;margin-bottom:28px}
.dealer-section h2{font-size:1.375rem;font-weight:500;line-height:1.5;letter-spacing:-.03em}
.dealer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;max-width:930px;margin-inline:auto;border-top:1px solid #e4e8ed;border-left:1px solid #e4e8ed;border-radius:16px;overflow:hidden}
.dealer-logo{display:flex;align-items:center;justify-content:center;min-width:0;height:107px;background:white;border-right:1px solid #e4e8ed;border-bottom:1px solid #e4e8ed;overflow:hidden}
.dealer-logo img{width:auto;height:auto;max-width:139px;max-height:35px;object-fit:contain;border-radius:0}
.dealer-logo.mitsubishi img{max-width:122px;max-height:54px}
.dealer-logo.lg img{max-width:74px;max-height:36px}
.dealer-logo.midea img{width:225px;max-width:none;max-height:none;height:100px;flex-shrink:0}
.portfolio-directory .portfolio-heading{display:block;margin:9px 0 33px;padding:31px 0 25px;border-top:1px solid #dfe5eb;border-bottom:1px solid #dfe5eb}
.portfolio-heading .eyebrow{font-size:.6875rem;color:var(--blue);letter-spacing:.14em;margin-bottom:9px}
.portfolio-heading h2{font-size:1.75rem;line-height:1.4;letter-spacing:-.035em;font-weight:500}
.portfolio-heading>p{max-width:720px;margin-top:11px;color:var(--muted);font-size:.8125rem}
.portfolio-directory{padding-top:0}
/* Numbered photo choices preserve all supplied project photographs, without arrows. */
.project-photo-nav{position:absolute;bottom:11px;left:12px;display:flex;gap:4px;padding:4px;background:rgba(255,255,255,.95);border:1px solid #e0e6ec;border-radius:999px}
.project-photo-choice{display:flex;align-items:center;justify-content:center;min-width:29px;height:28px;border:0;border-radius:999px;background:transparent;color:#53606d;font-size:.625rem;line-height:1;cursor:pointer}
.project-photo-choice[aria-pressed=true]{background:var(--blue);color:white}
.project-photo-choice:hover{background:#10192d;color:white}
.project-photo-count{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
/* Google Maps retains an address panel when viewed without a connection. */
.consultation-note.map-location{padding:0;align-self:stretch;min-width:0}
.map-location .eyebrow{color:var(--blue);margin:0 0 9px;font-size:.6875rem;letter-spacing:.12em}
.map-location h2{font-size:1.3125rem;margin:0 0 16px;font-weight:500}
.cal-map-window{position:relative;overflow:hidden;border-radius:16px;border:1px solid #dce2e8;background:#f1f2f3;min-height:300px}
.cal-map-window iframe{display:block;position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(1);border-radius:16px;background:white}
.cal-map-window iframe[hidden]{display:none}
.cal-map-fallback{display:flex;align-items:center;justify-content:center;text-align:center;flex-direction:column;min-height:300px;padding:30px;color:#626b76;background:#f1f2f3}
.cal-map-fallback .icon{width:29px;height:29px;color:#565d64;margin-bottom:13px}
.cal-map-fallback strong{font-size:.8125rem;color:#303943}
.cal-map-fallback p{font-size:.75rem;line-height:1.8;margin-top:7px}
.map-location .map-caption{font-size:.6875rem;line-height:1.8;color:#737b84;margin:12px 0}
.map-location .button{font-size:.75rem;min-height:42px;padding:10px 22px}
.site-footer .footer-bottom{padding-bottom:28px}
@media(max-width:1200px){.cal-header .wrap{width:calc(100% - 72px)}.cal-header .brand,.cal-header .brand img{width:151px}.cal-header .main-nav{gap:25px}.cal-hero .wrap{width:calc(100% - 72px)}.cal-hero h1{font-size:2.375rem}.cal-hero .hero-copy{width:410px}}
@media(max-width:1000px){
 html{scroll-padding-top:122px}
 .cal-header .header-inner{min-height:73px}.cal-header .utility-inner{min-height:28px}.cal-header .brand,.cal-header .brand img{width:154px}
 .cal-header .menu-toggle{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;width:39px;height:37px;padding:8px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--blue)}
 .cal-header .menu-toggle span{width:19px;height:1px;background:currentColor}
 .cal-header .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3px) rotate(45deg)}
 .cal-header .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3px) rotate(-45deg)}
 .cal-header .main-nav{position:absolute;top:100%;left:0;right:0;display:none;align-items:stretch;gap:0;background:rgba(255,255,255,.97);padding:18px 36px 24px;max-height:calc(100dvh - 104px);overflow-y:auto;border-block:1px solid var(--line);box-shadow:0 12px 24px #1424380c}
 .cal-header .main-nav.is-open{display:flex;flex-direction:column}
 .cal-header .main-nav>a{padding:12px 0;font-size:.8125rem}
 .cal-hero{min-height:548px;margin-top:15px}.cal-hero>.wrap{min-height:548px}.cal-hero .hero-copy{max-width:54%;padding-top:79px}.cal-hero h1{font-size:2.25rem}
 .cal-hero:not(.cal-hero--inner) .hero-visual{width:76%;right:-12%}.cal-hero::before{background:linear-gradient(90deg,#fdfdfd 1%,rgba(253,253,253,.96) 27%,rgba(253,253,253,0) 57%)}
 .cal-hero--inner .hero-visual{width:100%;right:0}.cal-hero--inner .hero-visual img{object-position:60% center}.dealer-logo{height:97px}.dealer-logo img{max-width:116px}
}
@media(max-width:680px){
 html{scroll-padding-top:110px}
 .cal-header .wrap{width:calc(100% - 40px)}.cal-header .utility-inner>span{font-size:.5625rem;letter-spacing:0}.cal-header .utility-inner>div{gap:10px}.cal-header .utility-phone{display:none}
 .cal-header .header-inner{min-height:66px}.cal-header .brand,.cal-header .brand img{width:148px}.cal-header .main-nav{padding-inline:24px}.cal-header .language-switch{gap:13px}
 .cal-hero{display:flex;flex-direction:column;width:calc(100% - 24px);min-height:0;margin-top:0;border-radius:16px}
 .cal-hero::before{display:none}.cal-hero>.wrap{width:calc(100% - 36px);min-height:0;order:1}
 .cal-hero .hero-copy,.cal-hero--inner .hero-copy{width:100%;max-width:none;padding:35px 2px 12px}
 .cal-hero h1{font-size:2.0625rem;line-height:1.28;margin:18px 0;max-width:390px}
 .cal-hero .hero-copy .eyebrow{font-size:.5625rem;letter-spacing:.1em}
 .cal-hero .hero-intro{max-width:360px;font-size:.8125rem}
 .cal-hero .hero-actions{gap:21px;margin-top:23px}.cal-hero .hero-assurance{font-size:.625rem;margin-top:19px}.cal-hero .hero-foot{display:none}
 .cal-hero .hero-visual,.cal-hero:not(.cal-hero--inner) .hero-visual{position:relative;inset:auto;width:100%;height:auto;order:2;z-index:0;margin-top:0}
 .cal-hero .hero-visual img{width:100%;height:auto;aspect-ratio:1.65;object-fit:cover;object-position:50% 100%;border-radius:16px}
 .cal-hero--inner .hero-visual img{aspect-ratio:1.55;object-position:58% 50%}
 .cal-hero+section.editorial-section,.cal-hero~.service-details{padding-top:37px}
 .whatsapp-button{right:15px;bottom:15px;min-height:45px;padding:11px 16px;border-radius:999px;font-size:.6875rem}
 .whatsapp-button img{width:21px;height:21px}.whatsapp-button span{display:inline!important}
 .dealer-section{padding-block:35px 31px}.dealer-section>header{margin-bottom:20px}.dealer-section h2{font-size:1.125rem}
 .dealer-grid{grid-template-columns:repeat(4,minmax(0,1fr));border-radius:12px}.dealer-logo{height:72px;padding:9px 6px}
 .dealer-logo img{max-width:100%;max-height:21px}.dealer-logo.mitsubishi img{max-width:100%;max-height:30px}.dealer-logo.lg img{max-width:43px;max-height:24px}
 .dealer-logo.midea img{width:141px;height:63px;max-width:none;max-height:none}
 .portfolio-directory .portfolio-heading{padding:24px 0;margin-top:0;margin-bottom:26px}.portfolio-heading h2{font-size:1.4375rem}.portfolio-heading>p{font-size:.75rem}
 .project-photo-nav{bottom:9px;left:9px}.project-photo-choice{min-width:29px;height:29px;font-size:.625rem}
 .map-location h2{font-size:1.25rem}.cal-map-window,.cal-map-fallback{min-height:310px}.site-footer .footer-bottom{padding-bottom:82px}
}
@media(prefers-reduced-motion:reduce){.partner-band .brand-logo img,.dealer-grid .dealer-logo img{transition:none}}

