:root {
  --primary: #0b1f3a;
  --primaryDark: #07152a;
  --primaryLight: #12345a;
  --accent: #c9a45c;
  --background: #f5f7fa;
  --backgroundAlt: #e9eef5;
  --surface: #ffffff;
  --text: #172033;
  --textMuted: #667085;
  --border: #d9e0ea;
  --white: #ffffff;
  --section-hero: #0b1f3a;
  --section-dark: #07152a;
  --section-cta: #0b1f3a;
}

*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:82px}:root{--navy:#0d1724;--navy2:#132235;--ink:#111827;--muted:#667085;--gold:#d7a52a;--gold2:#f0bf3f;--cream:#f7f5ef;--line:#dfe3e8;--white:#fff}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--white);line-height:1.65}a{text-decoration:none;color:inherit}.container{width:min(1180px,calc(100% - 40px));margin:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(13,23,36,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08)}.nav-wrap{height:78px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:11px;color:#fff;min-width:max-content}.brand-mark{width:38px;height:38px;border:1px solid var(--gold);display:grid;place-items:center;color:var(--gold);font-family:Montserrat;font-weight:800;font-size:20px;transform:skew(-8deg)}.brand strong,.brand small{display:block;line-height:1.1;letter-spacing:1.4px}.brand strong{font-family:Montserrat;font-size:13px}.brand small{font-size:10px;color:#cbd5e1;letter-spacing:3px;margin-top:4px}.main-nav{display:flex;align-items:center;justify-content:flex-end;gap:25px;margin-left:auto;color:#dbe4ef;font-size:13px;font-weight:600}.main-nav>a,.dropdown-btn{transition:.2s;color:#dbe4ef}.main-nav>a:hover,.dropdown-btn:hover{color:var(--gold2)}.dropdown-btn{background:none;border:0;font:inherit;cursor:pointer;padding:30px 0}.nav-dropdown{position:relative}.dropdown-menu{position:absolute;top:66px;left:-20px;min-width:240px;padding:10px;background:#fff;box-shadow:0 16px 40px rgba(0,0,0,.2);border-radius:8px;opacity:0;pointer-events:none;transform:translateY(8px);transition:.2s}.nav-dropdown:hover .dropdown-menu,.nav-dropdown:focus-within .dropdown-menu{opacity:1;pointer-events:auto;transform:none}.dropdown-menu a{display:block;padding:10px 12px;font-size:13px;color:var(--ink);border-radius:5px}.dropdown-menu a:hover{background:#f3f4f6;color:#9a7010}.nav-cta{padding:10px 17px;border:1px solid var(--gold);color:#fff;font-size:12px;font-weight:700}.nav-toggle{display:none;background:none;border:0}.hero{min-height:calc(100vh - 78px);position:relative;overflow:hidden}.section-dark{background:linear-gradient(135deg,#0b1420 0%,#132236 58%,#0b1521 100%);color:#fff}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(to right,black,transparent 80%)}.hero-inner{position:relative;z-index:2;min-height:calc(100vh - 78px);display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:40px;padding:72px 0}.eyebrow,.section-kicker{font-size:11px;letter-spacing:2.5px;font-weight:800;color:var(--gold2);margin:0 0 16px}.hero h1{font:800 clamp(46px,6vw,76px)/1.02 Montserrat;margin:0;letter-spacing:-2px}.hero h1 span{color:var(--gold2)}.hero-text{max-width:620px;color:#b8c4d2;font-size:16px;margin:25px 0}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 21px;font-weight:800;font-size:12px;letter-spacing:.4px;border:1px solid transparent;cursor:pointer}.btn-primary{background:var(--gold);color:#10151b}.btn-primary:hover{background:var(--gold2)}.btn-outline{border-color:#7c8b9d;color:#fff}.btn-outline:hover{border-color:var(--gold);color:var(--gold2)}.hero-stats{display:flex;gap:34px;margin-top:54px}.hero-stats div{display:flex;gap:11px;align-items:center}.hero-stats strong{font:800 28px Montserrat;color:var(--gold2)}.hero-stats span{font-size:10px;line-height:1.3;color:#aebaca;text-transform:uppercase;letter-spacing:1px}.hero-visual{min-height:540px;display:flex;align-items:center;justify-content:center;position:relative}.building-art{width:min(560px,100%);height:470px;position:relative;border:1px solid rgba(255,255,255,.12);background:linear-gradient(150deg,rgba(255,255,255,.04),rgba(255,255,255,.01));overflow:hidden}.sun{position:absolute;width:110px;height:110px;border-radius:50%;right:55px;top:45px;background:radial-gradient(circle,#f5c95c 0 25%,rgba(245,201,92,.2) 26% 55%,transparent 56%);filter:blur(.2px)}.tower{position:absolute;bottom:74px;border:1px solid rgba(255,255,255,.2);background:linear-gradient(120deg,rgba(255,255,255,.08),rgba(255,255,255,.025));box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}.tower-a{left:65px;width:190px;height:280px}.tower-b{left:245px;width:190px;height:340px}.tower-c{right:35px;width:115px;height:225px}.glass-row{position:absolute;left:80px;bottom:124px;width:380px;height:82px;background:repeating-linear-gradient(90deg,rgba(121,174,202,.18) 0 48px,rgba(255,255,255,.28) 49px 51px);border-top:1px solid rgba(255,255,255,.4);border-bottom:1px solid rgba(255,255,255,.2)}.ground{position:absolute;bottom:74px;left:0;right:0;height:1px;background:rgba(255,255,255,.4)}.road{position:absolute;bottom:0;left:0;right:0;height:74px;background:linear-gradient(90deg,#111b27,#202c39,#111b27);border-top:1px solid rgba(255,255,255,.1)}.visual-label{position:absolute;bottom:24px;right:0;color:#8f9cac;font-size:11px;letter-spacing:1px}.visual-label span{color:var(--gold2);font-weight:800;margin-right:8px}.scroll-cue{position:absolute;bottom:23px;left:50%;transform:translateX(-50%);color:#7e8b9b;font-size:10px;letter-spacing:1px;text-transform:uppercase}.scroll-cue span{color:var(--gold2);font-size:18px;margin-left:8px}.trust-strip{background:#111c2a;color:#fff;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:27px 0;gap:20px}.trust-grid div{padding-left:18px;border-left:1px solid rgba(255,255,255,.14)}.trust-grid strong,.trust-grid span{display:block}.trust-grid strong{font:700 12px Montserrat;color:#fff;text-transform:uppercase;letter-spacing:1px}.trust-grid span{font-size:11px;color:#8492a5;margin-top:3px}.section{padding:110px 0}.split{display:grid;grid-template-columns:1.1fr .9fr;gap:90px;align-items:center}.section h2{font:800 clamp(32px,4vw,48px)/1.12 Montserrat;letter-spacing:-1.4px;margin:0 0 22px}.lead{font-size:18px;color:#4b5563}.section p{color:#667085}.text-link{display:inline-block;color:#9a7010;font-size:13px;font-weight:800;margin-top:18px}.about-card{min-height:430px;background:linear-gradient(150deg,#0d1724,#1b2a3c);color:#fff;padding:38px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:0 25px 70px rgba(16,24,40,.14)}.about-card:before{content:"";position:absolute;width:300px;height:300px;border:1px solid rgba(215,165,42,.35);border-radius:50%;right:-120px;top:-90px}.about-card:after{content:"";position:absolute;inset:40px;border:1px solid rgba(255,255,255,.08)}.about-card-top{position:absolute;top:30px;left:32px;right:32px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.8px;color:#aebaca;z-index:1}.mini-mark{color:var(--gold2);font-weight:800}.about-number{position:relative;z-index:1;font:800 96px Montserrat;color:rgba(255,255,255,.08);margin-bottom:-20px}.about-card p,.about-card small{position:relative;z-index:1;color:#fff;margin:0}.about-card p{font:700 22px Montserrat}.about-card small{color:#9caabd;margin-top:12px}.line{position:relative;z-index:1;width:55px;height:2px;background:var(--gold);margin:16px 0}.section-soft{background:var(--cream)}.section-heading{text-align:center;max-width:720px;margin:0 auto 55px}.section-heading h2{margin-bottom:13px}.service-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}.service-card{background:#fff;border:1px solid #e5e7eb;padding:30px;grid-column:span 2;min-height:330px;transition:.25s;position:relative}.service-card:hover{transform:translateY(-5px);box-shadow:0 18px 45px rgba(16,24,40,.09)}.service-card:nth-child(4){grid-column:2 / span 2}.service-card:nth-child(5){grid-column:4 / span 2}.service-card.featured{background:#111c2a;color:#fff;border-color:#111c2a}.service-card.featured p:not(.service-tag){color:#aebaca}.service-icon{font:800 14px Montserrat;color:var(--gold);margin-bottom:42px}.service-tag{font-size:10px!important;letter-spacing:2px;font-weight:800;color:#9a7010!important;margin:0 0 8px!important}.service-card h3{font:700 23px Montserrat;margin:0 0 13px}.service-card>p:not(.service-tag){font-size:13px}.service-card a{position:absolute;bottom:28px;font-size:12px;font-weight:800;color:#9a7010}.process{background:#fff}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.process-item{padding:35px 24px 15px;border-right:1px solid var(--line)}.process-item:last-child{border-right:0}.process-item span{color:var(--gold);font:800 12px Montserrat}.process-item h3{font:700 19px Montserrat;margin:22px 0 8px}.process-item p{font-size:12px}.portfolio{padding-bottom:125px}.section-heading.light p:not(.section-kicker){color:#8f9cac}.portfolio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.project{min-width:0}.project-large{grid-row:span 2}.project-art{height:270px;position:relative;overflow:hidden;padding:22px;display:flex;flex-direction:column;justify-content:space-between;background:#243446;border:1px solid rgba(255,255,255,.08)}.project-large .project-art{height:560px}.project-art:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(215,165,42,.25),transparent 35%,rgba(255,255,255,.05));}.project-art:after{content:"";position:absolute;left:12%;right:12%;bottom:17%;height:42%;border:1px solid rgba(255,255,255,.3);background:repeating-linear-gradient(90deg,transparent 0 58px,rgba(255,255,255,.12) 59px 60px),linear-gradient(rgba(255,255,255,.05),rgba(255,255,255,.02));}.art-house{background:linear-gradient(145deg,#162637,#405668)}.art-office{background:linear-gradient(145deg,#253749,#6b6655)}.art-villa{background:linear-gradient(145deg,#172f36,#5f755e)}.art-renovation{background:linear-gradient(145deg,#2e2a2b,#75624c)}.project-art span,.project-art b{position:relative;z-index:2}.project-art span{font-size:10px;color:#c3ceda;letter-spacing:2px}.project-art b{font:700 20px Montserrat;color:#fff}.project-meta{padding:12px 2px 0;display:flex;justify-content:space-between;gap:20px;font-size:11px}.project-meta span{color:#8795a6}.project-meta strong{color:#fff}.why{background:#fff}.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.why-card{padding:30px;border:1px solid var(--line);min-height:220px}.why-card span{color:var(--gold);font:800 12px Montserrat}.why-card h3{font:700 20px Montserrat;margin:25px 0 8px}.why-card p{font-size:12px}.contact{padding:100px 0}.contact-grid{display:grid;grid-template-columns:1fr .9fr;gap:100px;align-items:start}.contact h2{font:800 clamp(38px,5vw,60px)/1.05 Montserrat;margin:0 0 18px}.contact p{color:#9caabd;max-width:580px}.contact-list{display:grid;gap:13px;margin-top:35px;font-size:13px;color:#fff}.contact-list a:hover{color:var(--gold2)}.contact-form{background:#fff;color:var(--ink);padding:30px;display:grid;gap:16px}.contact-form label{font-size:11px;font-weight:800;display:grid;gap:6px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #d5dbe2;padding:12px;font:inherit;font-size:12px;outline:none;background:#fff}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--gold)}.footer{background:#08111b;color:#b2bfce;padding:55px 0 20px}.footer-top{display:flex;justify-content:space-between;gap:40px}.footer-brand{margin-bottom:15px}.footer-top p{font-size:11px}.footer-links{display:flex;gap:25px;font-size:11px}.footer-links a:hover,.footer-bottom a:hover{color:var(--gold2)}.footer-bottom{margin-top:45px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;font-size:10px}.wa-float{position:fixed;right:24px;bottom:24px;z-index:60;width:55px;height:55px;border-radius:50%;background:#20c76a;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:900;box-shadow:0 10px 30px rgba(0,0,0,.25);border:3px solid rgba(255,255,255,.85)}@media(max-width:950px){.main-nav{gap:14px}.nav-cta{display:none}.hero-inner,.split,.contact-grid{grid-template-columns:1fr}.hero{min-height:auto}.hero-inner{min-height:auto;padding:80px 0 100px}.hero-visual{min-height:390px}.building-art{height:390px}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card,.service-card:nth-child(4),.service-card:nth-child(5){grid-column:auto}.why-grid{grid-template-columns:repeat(2,1fr)}.process-grid{grid-template-columns:repeat(2,1fr)}.process-item:nth-child(2){border-right:0}.process-item:nth-child(n+3){border-top:1px solid var(--line)}}@media(max-width:720px){.container{width:min(100% - 28px,1180px)}.nav-wrap{height:68px}.nav-toggle{display:grid;gap:4px;margin-left:auto}.nav-toggle span{width:23px;height:2px;background:#fff}.main-nav{position:absolute;top:68px;left:0;right:0;background:#0d1724;padding:15px;display:none;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid rgba(255,255,255,.1)}.main-nav.open{display:flex}.main-nav>a,.dropdown-btn{padding:13px 10px;text-align:left}.dropdown-menu{position:static;opacity:1;transform:none;pointer-events:auto;display:none;box-shadow:none;background:#172536}.nav-dropdown.open .dropdown-menu{display:block}.dropdown-menu a{color:#dbe4ef}.hero h1{font-size:46px}.hero-stats{gap:15px;flex-wrap:wrap}.hero-visual{min-height:320px}.building-art{height:320px}.trust-grid{grid-template-columns:repeat(2,1fr)}.section{padding:78px 0}.split{gap:45px}.service-grid,.why-grid,.process-grid,.portfolio-grid{grid-template-columns:1fr}.service-card,.service-card:nth-child(4),.service-card:nth-child(5){grid-column:auto}.project-large{grid-row:auto}.project-large .project-art{height:320px}.project-art{height:250px}.contact-grid{gap:50px}.footer-top,.footer-bottom{flex-direction:column}.footer-links{flex-wrap:wrap}.scroll-cue{display:none}}

/* Brand, social media, and real portfolio images */
.brand-logo{width:210px;height:auto;display:block}.footer-logo{width:245px}.image-portfolio .project-image-link{display:block;height:270px;overflow:hidden;background:#182638}.image-portfolio .project-large .project-image-link{height:560px}.image-portfolio .project-image-link img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease,opacity .25s ease}.image-portfolio .project-image-link:hover img{transform:scale(1.04);opacity:.92}.social-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.social-links a{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.14);padding:9px 12px;color:#fff;font-size:11px;font-weight:700;transition:.2s}.social-links a:hover{border-color:var(--gold);color:var(--gold2)}.social-links span{display:grid;place-items:center;min-width:20px;height:20px;border-radius:50%;background:rgba(215,165,42,.16);color:var(--gold2);font-size:9px;font-weight:900}.contact-list{margin-bottom:0}.wa-float{font-size:0}.wa-float:after{content:'WA';font-size:11px;font-weight:900}.project-meta{padding-top:12px}.project-meta strong{font-size:12px}.project-image-link:focus-visible{outline:2px solid var(--gold);outline-offset:3px}@media(max-width:720px){.brand-logo{width:175px}.footer-logo{width:215px}.image-portfolio .project-large .project-image-link,.image-portfolio .project-image-link{height:300px}.social-links{gap:8px}.social-links a{font-size:10px;padding:8px 10px}}

.footer-social{display:flex;flex-wrap:wrap;gap:16px;margin-top:18px}.footer-social a{font-size:10px;color:#8795a6}.footer-social a:hover{color:var(--gold2)}

/* Service detail sub-page */
.service-grid-seven{grid-template-columns:repeat(6,1fr)}
.service-grid-seven .service-card{grid-column:span 2}
.service-grid-seven .service-card:nth-child(4){grid-column:1 / span 2}
.service-grid-seven .service-card:nth-child(5){grid-column:3 / span 2}
.service-grid-seven .service-card:nth-child(6){grid-column:5 / span 2}
.service-grid-seven .service-card:nth-child(7){grid-column:3 / span 2}
.detail-hero{position:relative;overflow:hidden}
.detail-hero:after{content:"";position:absolute;width:500px;height:500px;border:1px solid rgba(215,165,42,.2);border-radius:50%;right:-180px;top:-190px;box-shadow:0 0 0 80px rgba(215,165,42,.025),0 0 0 160px rgba(215,165,42,.018)}
.detail-hero-inner{position:relative;z-index:2;padding:105px 0 95px;max-width:900px}
.detail-hero h1{font:800 clamp(46px,6vw,76px)/1.02 Montserrat;margin:0 0 20px;letter-spacing:-2px}
.detail-hero p:not(.eyebrow){color:#b8c4d2;max-width:760px;font-size:16px}
.detail-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.detail-index{padding:35px 0;border-bottom:1px solid var(--line)}
.detail-index-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.detail-index-grid a{display:flex;align-items:center;gap:12px;padding:15px 16px;background:#fff;border:1px solid var(--line);font-size:12px;transition:.2s}
.detail-index-grid a:hover{border-color:var(--gold);transform:translateY(-2px)}
.detail-index-grid strong{font:800 12px Montserrat;color:var(--gold)}
.service-detail-section{padding:105px 0;border-bottom:1px solid var(--line);scroll-margin-top:78px}
.service-detail-section.alt{background:var(--cream)}
.service-detail-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:80px}
.detail-intro{position:relative}
.detail-number{font:800 12px Montserrat;color:var(--gold);display:inline-block;border:1px solid var(--gold);padding:7px 10px;margin-bottom:25px}
.detail-intro h2{font:800 clamp(34px,4vw,52px)/1.05 Montserrat;margin:0 0 18px}
.detail-intro>p:not(.section-kicker){color:var(--muted);font-size:14px;max-width:520px}
.price-box{margin-top:35px;border-left:3px solid var(--gold);background:#fff;padding:22px 24px;display:grid;gap:5px;box-shadow:0 10px 30px rgba(16,24,40,.06)}
.alt .price-box{background:#fff}
.price-box small{font-size:10px;font-weight:800;letter-spacing:1.5px;color:#8b6a17}
.price-box strong{font:800 22px Montserrat;color:var(--ink)}
.price-box span{font-size:11px;color:var(--muted)}
.detail-content{display:grid;grid-template-columns:1fr 1fr;gap:35px 45px;align-content:start}
.detail-content>div:last-child{grid-column:1 / -1;border-top:1px solid var(--line);padding-top:25px}
.detail-content h3{font:700 18px Montserrat;margin:0 0 14px}
.detail-content p,.detail-content li{font-size:13px;color:#596575}
.detail-content ol,.detail-content ul{padding-left:19px;margin:0}
.detail-content li{margin-bottom:8px}
.detail-cta{padding:90px 0}
.detail-cta-inner{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center}
.detail-cta h2{font:800 clamp(34px,4vw,52px)/1.05 Montserrat;margin:0 0 15px}
.detail-cta p:not(.section-kicker){color:#aebaca;max-width:680px}
.detail-cta-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-start}
@media(max-width:950px){.service-grid-seven{grid-template-columns:repeat(2,1fr)}.service-grid-seven .service-card,.service-grid-seven .service-card:nth-child(4),.service-grid-seven .service-card:nth-child(5),.service-grid-seven .service-card:nth-child(6),.service-grid-seven .service-card:nth-child(7){grid-column:auto}.detail-index-grid{grid-template-columns:repeat(2,1fr)}.service-detail-grid,.detail-cta-inner{grid-template-columns:1fr;gap:45px}}
@media(max-width:720px){.service-grid-seven{grid-template-columns:1fr}.detail-index-grid{grid-template-columns:1fr}.detail-hero-inner{padding:80px 0}.service-detail-section{padding:78px 0}.detail-content{grid-template-columns:1fr}.detail-content>div:last-child{grid-column:auto}.detail-cta{padding:75px 0}}

/* Estimation calculator */
.cost-calculator{grid-column:1 / -1;margin-top:65px;background:var(--navy);color:#fff;padding:34px;border:1px solid rgba(215,165,42,.25);box-shadow:0 18px 50px rgba(13,23,36,.12)}
.calculator-head{display:flex;justify-content:space-between;gap:25px;align-items:flex-start;margin-bottom:28px}.calculator-head h3{font:800 clamp(25px,3vw,36px)/1.1 Montserrat;margin:5px 0 10px}.calculator-head p:not(.section-kicker){color:#aebaca;max-width:700px;font-size:13px;margin:0}.calculator-badge{border:1px solid var(--gold);color:var(--gold2);font:800 10px Montserrat;letter-spacing:1.5px;padding:9px 12px;white-space:nowrap}.calculator-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.calculator-field{display:grid;gap:7px}.calculator-field label{font-size:11px;font-weight:800;color:#e8edf3}.calculator-field label span{font-weight:500;color:#91a0b2}.calculator-field select,.calculator-field input{width:100%;padding:13px 14px;border:1px solid #35465a;background:#162638;color:#fff;font:inherit;font-size:12px;outline:none}.calculator-field select:focus,.calculator-field input:focus{border-color:var(--gold)}.calculator-formula{border:1px dashed rgba(215,165,42,.45);padding:12px 15px;display:flex;align-items:center;justify-content:space-between;gap:10px;position:relative}.calculator-formula span{font-size:11px;color:#aebaca}.calculator-formula strong{font:800 18px Montserrat;color:var(--gold2)}.calculator-formula small{position:absolute;right:15px;bottom:2px;font-size:9px;color:#728198}.calculator-result{display:grid;grid-template-columns:1fr 1fr 1.3fr;margin-top:24px;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}.calculator-result>div{padding:22px 20px;border-right:1px solid rgba(255,255,255,.1);display:grid;gap:4px}.calculator-result>div:last-child{border-right:0}.calculator-result span{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#91a0b2;font-weight:700}.calculator-result strong{font:800 23px Montserrat;color:#fff}.calculator-result small{font-size:10px;color:#7f8da0}.calculator-result .result-main{background:rgba(215,165,42,.08)}.calculator-result .result-main strong{font-size:30px;color:var(--gold2)}.calculator-footer{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-top:22px}.calculator-footer p{font-size:10px;color:#8e9bad;margin:0;max-width:700px}.calculator-footer p strong{color:#c7d0dc}.calculator-footer .btn{white-space:nowrap}
@media(max-width:950px){.calculator-grid{grid-template-columns:repeat(2,1fr)}.calculator-result{grid-template-columns:1fr 1fr}.calculator-result .result-main{grid-column:1 / -1;border-top:1px solid rgba(255,255,255,.1);border-right:0}.calculator-footer{align-items:flex-start;flex-direction:column}}
@media(max-width:720px){.cost-calculator{padding:23px}.calculator-head{flex-direction:column}.calculator-grid{grid-template-columns:1fr}.calculator-result{grid-template-columns:1fr}.calculator-result>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}.calculator-result .result-main{grid-column:auto;border-top:0}.calculator-footer .btn{width:100%;text-align:center}}

/* ============================================================
   IMAGE BACKGROUNDS
   Path, position, and overlay are controlled from data/tema.js.
   ============================================================ */
:root{
  --bg-image-hero:none;
  --bg-image-dark:none;
  --bg-image-cta:none;
  --bg-position-hero:center center;
  --bg-position-dark:center center;
  --bg-position-cta:center center;
  --bg-overlay:.56;
}
.hero.section-dark,
.detail-hero.section-dark{
  background-image:linear-gradient(rgba(7,21,42,var(--bg-overlay)),rgba(7,21,42,var(--bg-overlay))),var(--bg-image-hero);
  background-position:var(--bg-position-hero);
  background-size:cover;
  background-repeat:no-repeat;
}
.portfolio.section-dark,
.contact.section-dark,
.section-dark:not(.hero):not(.detail-hero):not(.detail-cta){
  background-image:linear-gradient(rgba(7,21,42,var(--bg-overlay)),rgba(7,21,42,var(--bg-overlay))),var(--bg-image-dark);
  background-position:var(--bg-position-dark);
  background-size:cover;
  background-repeat:no-repeat;
}
.detail-cta.section-dark{
  background-image:linear-gradient(rgba(7,21,42,var(--bg-overlay)),rgba(7,21,42,var(--bg-overlay))),var(--bg-image-cta);
  background-position:var(--bg-position-cta);
  background-size:cover;
  background-repeat:no-repeat;
}

/* PAKET LAYANAN */
.service-packages{grid-column:1 / -1;margin-top:20px;padding-top:45px;border-top:1px solid var(--line)}
.packages-head{margin-bottom:24px;max-width:760px}
.packages-head h3{font:700 22px Montserrat;margin:0 0 8px}
.packages-head p:not(.section-kicker){font-size:13px;color:var(--muted);margin:0;line-height:1.6}
.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch}
.package-card{position:relative;background:#fff;border:1px solid #e1e6ed;border-radius:14px;padding:28px 24px;display:flex;flex-direction:column;box-shadow:0 12px 30px rgba(16,24,40,.06)}
.package-card.featured{border:2px solid var(--gold);transform:translateY(-6px);box-shadow:0 18px 38px rgba(16,24,40,.12)}
.package-badge{position:absolute;right:16px;top:16px;background:var(--gold);color:#fff;padding:6px 9px;border-radius:999px;font-size:9px;font-weight:800;letter-spacing:.6px}
.package-name{font:800 14px Montserrat;color:var(--gold);letter-spacing:1px;margin:0 0 12px}
.package-card h4{font:800 25px Montserrat;color:var(--ink);margin:0 0 10px}
.package-desc{font-size:12px;color:var(--muted);line-height:1.55;min-height:58px;margin:0 0 18px}
.package-card ul{list-style:none;padding:0;margin:0 0 22px;border-top:1px solid #edf0f4;flex:1}
.package-card li{font-size:12px;color:#596575;padding:9px 0;border-bottom:1px solid #edf0f4;line-height:1.4}
.package-card .btn{align-self:flex-start;font-size:11px;padding:11px 16px}
.package-benefits{margin-top:38px;padding-top:34px;border-top:1px solid #e1e6ed}.benefits-head{margin-bottom:20px}.benefits-head h3{font:800 24px Montserrat;color:var(--ink);margin:0 0 8px}.benefits-head p:not(.section-kicker){font-size:13px;color:var(--muted);margin:0;max-width:680px;line-height:1.6}.benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.benefit-card{background:#f8fafc;border:1px solid #e1e6ed;border-radius:14px;padding:22px}.benefit-card.featured{border:2px solid var(--gold);background:#fff}.benefit-title{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:14px;margin-bottom:12px;border-bottom:1px solid #e1e6ed}.benefit-title span{font:800 13px Montserrat;color:var(--gold);letter-spacing:1px}.benefit-title strong{font:800 14px Montserrat;color:var(--ink)}.benefit-card ul{list-style:none;padding:0;margin:0}.benefit-card li{font-size:12px;color:#596575;line-height:1.55;padding:8px 0;border-bottom:1px solid #edf0f4}.benefit-card li:last-child{border-bottom:0}
@media(max-width:950px){.benefits-grid{grid-template-columns:1fr}}

@media(max-width:950px){.package-grid{grid-template-columns:1fr}.package-card.featured{transform:none}}

/* Detail landing pages for each service */
.detail-index-grid a.active{border-color:var(--gold);background:#fff9e8}
.service-story-section{padding:100px 0;background:#fff;border-bottom:1px solid var(--line)}
.story-heading{max-width:760px;margin:0 0 38px}
.story-heading h2,.service-feature-grid h2{font:800 clamp(30px,4vw,44px)/1.12 Montserrat;letter-spacing:-1px;margin:0 0 14px}
.story-heading>p:not(.section-kicker),.feature-lead{color:var(--muted);font-size:14px;max-width:720px}
.stage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.stage-card,.advantage-card{border:1px solid var(--line);background:#fff;padding:26px;min-height:190px}
.stage-card>span,.advantage-card>span{font:800 12px Montserrat;color:var(--gold)}
.stage-card h3,.advantage-card h3{font:700 17px Montserrat;margin:16px 0 9px}
.stage-card p,.advantage-card p{font-size:12px;color:var(--muted);margin:0}
.service-feature-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}
.spec-list{display:grid;gap:0}
.spec-row{display:grid;grid-template-columns:44px 1fr;gap:16px;padding:22px 0;border-bottom:1px solid var(--line)}
.spec-row>span{font:800 12px Montserrat;color:var(--gold);padding-top:3px}
.spec-row h3{font:700 16px Montserrat;margin:0 0 7px}
.spec-row p{font-size:12px;color:var(--muted);margin:0}
.advantage-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.faq-list{max-width:900px;display:grid;gap:10px}
.faq-list details{background:#fff;border:1px solid var(--line);padding:18px 22px}
.faq-list summary{cursor:pointer;font:700 14px Montserrat}
.faq-list details p{font-size:13px;color:var(--muted);margin:12px 0 0}
.service-switch{display:flex;justify-content:space-between;gap:18px;margin-top:44px;padding-top:24px;border-top:1px solid var(--line);font-size:12px;font-weight:800;color:#8b6a17}
.price-box .btn{margin-top:12px;justify-self:start}
@media(max-width:950px){.stage-grid{grid-template-columns:repeat(2,1fr)}.service-feature-grid{grid-template-columns:1fr;gap:28px}.advantage-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.service-story-section{padding:70px 0}.stage-grid,.advantage-grid{grid-template-columns:1fr}.service-switch{flex-direction:column}.story-heading h2,.service-feature-grid h2{font-size:30px}}

/* IMAGE SLOTS: replace placeholder files in assets/images and assets/portfolio */
.hero-visual{min-height:420px;display:flex;align-items:center;justify-content:center;position:relative}
.hero-photo{display:block;width:100%;height:500px;object-fit:cover;background:transparent;border:0}
.about-image-card{padding:0;min-height:430px;background:#111c2a;position:relative;overflow:hidden;display:block}
.about-photo{width:100%;height:100%;min-height:430px;position:absolute;inset:0;object-fit:cover;background:transparent}
.about-image-card:before,.about-image-card:after{display:none}
.about-card-caption{position:absolute;left:0;right:0;bottom:0;padding:28px;background:linear-gradient(transparent,rgba(7,17,29,.9));color:#fff;z-index:2}
.about-card-caption span,.about-card-caption p,.about-card-caption small{color:#fff;position:relative;margin:0}
.about-card-caption p{font:700 22px Montserrat;margin-top:8px}
.about-card-caption small{display:block;margin-top:10px;color:#d3dae3}
.project-image-link{display:block;height:270px;background:transparent;overflow:hidden}
.project-image-link img{display:block;width:100%;height:100%;object-fit:cover;background:transparent}
@media(max-width:950px){.hero-photo{height:390px}}
@media(max-width:720px){.hero-photo{height:320px}.about-photo{min-height:320px}.about-image-card{min-height:320px}}
