:root{--paper:#f7f5ef;--ink:#282922;--muted:#72736a;--line:#dcdcd1;--gold:#9a7c4c;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.75}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{max-width:100%;display:block;object-fit:cover}svg{width:22px;height:22px;flex-shrink:0}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.1;letter-spacing:-1.8px}h1{font-size:clamp(46px,4.7vw,76px)}h2{font-size:clamp(35px,3.4vw,52px)}h3{font-size:19px;font-weight:500;line-height:1.4}em{font-weight:400;color:#7b806b}p{color:var(--muted)}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;display:block;margin-bottom:24px}.section{padding:110px max(6vw,24px)}.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:45px}.section-head>p{max-width:310px}.btn{background:var(--ink);color:#fff;padding:17px 23px;display:inline-flex;align-items:center;justify-content:space-between;gap:26px;font-size:12px}.btn:hover{background:#4a4d3e}.text-link{display:inline-flex;align-items:center;gap:22px;border-bottom:1px solid #b1b2a4;padding:9px 0;font-size:12px}.text-link:hover{color:var(--gold)}a,button{transition:background .2s,color .2s}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.skip{position:fixed;left:10px;top:-80px;z-index:100;background:white;padding:12px}.skip:focus{top:10px}header{position:sticky;top:0;background:rgba(247,245,239,.97);z-index:20;border-bottom:1px solid var(--line)}.nav-wrap{height:95px;margin:auto;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;max-width:1800px}.brand{display:block;line-height:1}.brand strong{font-family:var(--serif);font-size:40px;font-weight:600;letter-spacing:-2px}.brand strong span{color:var(--gold)}.brand small{display:block;font-size:6.8px;letter-spacing:1.65px;margin-top:7px}.nav-wrap nav{display:flex;gap:31px;align-items:center;font-size:11px}.nav-contact{border:1px solid #a7aa9c;padding:11px 17px;display:flex;align-items:center;gap:20px}.menu-toggle{display:none;border:0;background:none;padding:10px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:650px}.hero-copy{padding:65px 4vw 40px 6vw;display:flex;flex-direction:column;align-items:start;justify-content:center}.hero-copy>p{max-width:390px;margin-top:27px}.actions{display:flex;align-items:center;gap:24px;margin-top:32px;flex-wrap:wrap}.hero-foot{display:flex;gap:14px;align-items:center;font-size:10px;line-height:1.6;color:var(--muted);margin-top:50px}.line{height:1px;width:43px;background:#9a9e88}.hero-photo{position:relative;overflow:hidden;min-height:600px}.hero-photo>img{width:100%;height:100%;position:absolute;object-position:46% center}.hero-photo:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0008);pointer-events:none}.photo-label{position:absolute;bottom:38px;left:35px;right:35px;z-index:1;color:white}.photo-label>span:first-child{font-size:9px;letter-spacing:2px}.photo-label>span:last-child{display:flex;justify-content:space-between;font-family:var(--serif);font-size:25px;margin-top:6px}.photo-index{position:absolute;right:30px;top:30px;color:white;font-size:9px;letter-spacing:2px;background:#28292266;padding:7px 12px}.trust-strip{display:grid;grid-template-columns:1.15fr 1fr 1fr;padding:34px 6vw;border-bottom:1px solid var(--line);gap:25px;align-items:center}.trust-strip>div{border-left:1px solid var(--line);padding-left:38px}.trust-strip strong{font-weight:400;font-family:var(--serif);font-size:34px;line-height:1.3;display:block}.trust-strip p{font-size:12px}.trust-strip p strong{font-family:Arial,sans-serif;font-size:12px;font-weight:500}.trust-strip div span{font-size:10px;color:var(--muted)}.about{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.about-visual{position:relative;padding-right:20px;padding-bottom:45px}.about-visual>img{width:100%;height:490px}.vertical-label{position:absolute;right:0;top:0;writing-mode:vertical-rl;font-size:9px;letter-spacing:2px}.about-note{position:absolute;bottom:0;right:-20px;background:#e9e9df;padding:26px 34px;width:75%}.about-note span{font-size:10px;letter-spacing:1.5px;text-transform:uppercase}.about-note strong{display:block;font:27px/1.3 var(--serif);margin-top:12px}.about-copy>p{margin-top:24px}.principles{display:grid;grid-template-columns:1fr 1fr;gap:22px;border-top:1px solid var(--line);margin-top:28px;padding-top:25px;margin-bottom:23px}.principles h3{font-family:var(--serif);font-size:22px;margin-bottom:8px}.principles p{font-size:12px}.services-section{background:#eeeee6}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #cdd0c0;border-left:1px solid #cdd0c0}.service{padding:32px;border-right:1px solid #cdd0c0;border-bottom:1px solid #cdd0c0}.service-top{display:flex;align-items:center;justify-content:space-between;color:#7b806b;margin-bottom:34px}.service-top svg{width:32px;height:32px}.service-top span{font-size:10px}.service h3{font-family:var(--serif);font-size:26px;margin-bottom:13px}.service p{font-size:13px}.filters{display:flex;gap:26px;border-bottom:1px solid var(--line);margin:15px 0 35px;flex-wrap:wrap}.filters button{padding:10px 0 13px;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);font-size:12px}.filters button.active{border-bottom-color:var(--ink);color:var(--ink)}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px 24px}.project{margin:0;min-width:0}.project>a{display:block;position:relative;overflow:hidden}.project img{width:100%;height:270px;transition:transform .6s}.project a:hover img{transform:scale(1.04)}.project .image-arrow{position:absolute;right:14px;bottom:14px;background:#f7f5efdd;display:flex;padding:9px}.project figcaption{display:flex;align-items:center;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--line);gap:10px}.project .eyebrow{font-size:8px;margin-bottom:4px;letter-spacing:1.6px}.project h3{font-family:var(--serif);font-size:23px}.project-no{font-size:10px;color:#888e7b}.portfolio-end{display:flex;align-items:center;justify-content:space-between;margin-top:35px}.portfolio-end p{font-size:11px}.why{padding:90px 6vw;background:#292d26;color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:9vw}.why em{color:#b7bda8}.why p{color:#b9bcb2}.why-intro>p{max-width:400px;margin:25px 0}.why-intro img{width:100%;max-width:440px;height:205px}.why-list article{display:flex;gap:25px;border-bottom:1px solid #51554b;padding:30px 0}.why-list article:first-child{padding-top:5px}.why-list article>span{color:#a5af95;font-size:12px;padding-top:4px}.why-list h3{font:27px var(--serif);margin-bottom:15px}.why-list p{font-size:13px}.inspiration{position:relative;min-height:470px;display:grid;place-items:center;text-align:center;color:white}.inspiration>img{position:absolute;inset:0;width:100%;height:100%}.inspiration:after{content:'';position:absolute;inset:0;background:#161b17a3}.inspiration>div{position:relative;z-index:1;padding:60px 24px}.inspiration em{color:#dedfd2}.inspiration .btn{margin-top:30px}.light{background:var(--paper);color:var(--ink)}.inspiration small{display:block;color:#ddd;font-size:9px;margin-top:20px}.faq{display:grid;grid-template-columns:1fr 1.4fr;gap:8vw}.faq>div>p{max-width:270px;margin-top:25px}.faq-list details{border-bottom:1px solid var(--line);padding:23px 0}.faq-list details:first-child{padding-top:0}.faq-list summary{display:flex;justify-content:space-between;gap:24px;cursor:pointer;list-style:none;font-size:15px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:22px;line-height:1}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{padding-top:18px;font-size:13px}.contact{background:#e9e9df;display:grid;grid-template-columns:1.3fr 1fr;gap:9vw}.contact>div>p{max-width:420px;margin:25px 0}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:26px 20px;border-left:1px solid #c9cdbc;padding-left:45px}.contact-details>div:first-child{grid-column:1/-1}.contact-details .eyebrow{font-size:9px;margin-bottom:10px}.contact-details a{font-size:12px;overflow-wrap:anywhere}.contact-details p{font-size:18px;color:var(--ink);line-height:1.5}footer{padding:48px 6vw 22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:30px;align-items:center}footer>p,footer>a:not(.brand){font-size:11px}.footer-bottom{width:100%;border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;color:var(--muted);font-size:9px}.floating-wa{position:fixed;bottom:22px;right:22px;background:#376449;color:white;border:1px solid #fff5;width:53px;height:53px;border-radius:50%;display:grid;place-items:center;z-index:25;box-shadow:0 5px 25px #0002}.floating-wa svg{width:28px;height:28px}[hidden]{display:none!important}
@media(min-width:1700px){main,footer{max-width:1700px;margin:auto}.hero-copy{padding-left:90px}.section,.why{padding-left:90px;padding-right:90px}}
@media(max-width:1000px){.nav-wrap nav{gap:18px}.hero{min-height:580px}.hero-copy{padding-left:5vw}.hero-photo{min-height:580px}.hero .btn{padding:14px 16px}.actions{gap:15px}.section{padding-top:80px;padding-bottom:80px}.about{gap:5vw}.about-visual>img{height:470px}.service{padding:25px}.project img{height:210px}.contact-details{padding-left:25px;grid-template-columns:1fr}.contact-details>div:first-child{grid-column:auto}.trust-strip>div{padding-left:22px}.why{gap:6vw}}
@media(max-width:760px){html{scroll-padding-top:80px}.nav-wrap{height:78px;padding:0 22px}.brand strong{font-size:34px}.brand small{font-size:6px;letter-spacing:1.2px}.menu-toggle{display:block}.nav-wrap nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--paper);padding:20px 24px 28px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;font-size:14px}.nav-wrap nav.open{display:flex}.nav-wrap nav>a{padding:12px 0}.nav-wrap nav .nav-contact{padding:12px;margin-top:10px;justify-content:space-between}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:46px 24px 35px}.hero-copy>.eyebrow{margin-bottom:23px}h1{font-size:53px;letter-spacing:-2px}h2{font-size:39px;letter-spacing:-1.3px}.hero-copy>p{max-width:440px;font-size:13px;margin-top:22px}.hero-foot{margin-top:30px}.hero-photo{min-height:350px}.hero-photo>img{object-position:center}.photo-label{left:24px;right:24px;bottom:24px}.photo-index{top:20px;right:20px}.trust-strip{grid-template-columns:1fr 1fr;padding:26px 24px;gap:24px 18px}.trust-strip>p{grid-column:1/-1}.trust-strip>div{padding-left:17px}.trust-strip>div:nth-child(2){border:0;padding-left:0}.trust-strip strong{font-size:28px}.section{padding:65px 24px}.section-head{display:block;margin-bottom:30px}.section-head>p,.section-head>.text-link{margin-top:23px}.about{grid-template-columns:1fr;gap:42px}.about-visual{padding-right:16px;max-width:550px}.about-visual>img{height:350px}.about-note{right:0;padding:22px 27px}.about-copy>.eyebrow{margin-bottom:20px}.principles{gap:20px}.services-grid{grid-template-columns:1fr 1fr}.service{padding:23px 18px}.service h3{font-size:23px}.service-top{margin-bottom:24px}.service p{font-size:12px}.project-grid{grid-template-columns:1fr 1fr;gap:28px 16px}.project img{height:210px}.project h3{font-size:21px}.project-no{display:none}.project .eyebrow{font-size:7px}.filters{gap:18px}.filters button{font-size:11px}.portfolio-end{align-items:start;gap:18px}.why{grid-template-columns:1fr;padding:65px 24px;gap:40px}.why-intro img{max-width:100%;height:250px}.why-list article{padding:25px 0}.inspiration{min-height:400px}.inspiration h2{font-size:36px}.faq{grid-template-columns:1fr;gap:35px}.faq>div>p{max-width:100%}.contact{grid-template-columns:1fr;gap:40px}.contact-details{border-left:0;border-top:1px solid #c9cdbc;padding:30px 0 0;grid-template-columns:1fr 1fr}.contact-details>div:first-child{grid-column:1/-1}footer{padding:35px 24px 25px;gap:24px}footer>p{display:none}.footer-bottom{gap:15px;padding-right:35px;align-items:start}.floating-wa{width:48px;height:48px;bottom:17px;right:16px}}
@media(max-width:390px){h1{font-size:46px}.actions{align-items:start;flex-direction:column}.services-grid{grid-template-columns:1fr}.project-grid{grid-template-columns:1fr}.project img{height:250px}.contact-details{grid-template-columns:1fr}.principles{grid-template-columns:1fr}.trust-strip div span{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}


/* JBD: consistent iconography and accessible icon state; layout unchanged. */
.service-top svg,.menu-toggle svg,.btn svg,.text-link svg,.nav-contact svg,.photo-label svg,.image-arrow svg,.floating-wa svg,.faq-list summary svg,footer>a:not(.brand) svg{stroke-linecap:round;stroke-linejoin:round;fill:none}
.service-top svg{width:32px;height:32px;stroke-width:1.7;overflow:visible}
.menu-toggle{align-items:center;justify-content:center;width:44px;height:44px;border-radius:2px}
.menu-toggle svg{width:24px;height:24px;stroke-width:1.8}
.menu-line{transform-box:fill-box;transform-origin:center;transition:transform .2s ease, opacity .15s ease}
.menu-toggle[aria-expanded="true"] .menu-line-top{transform:translateY(5px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] .menu-line-middle{opacity:0}
.menu-toggle[aria-expanded="true"] .menu-line-bottom{transform:translateY(-5px) rotate(-45deg)}
.faq-list summary svg{width:20px;height:20px;stroke-width:1.65;flex-shrink:0;transition:transform .2s ease}
.faq-list details[open] summary svg .faq-vertical{opacity:0}
.floating-wa svg{width:31px;height:31px;stroke-width:1.6;fill:none}
footer>a:not(.brand){display:inline-flex;align-items:center;gap:8px}
footer>a:not(.brand) svg{width:15px;height:15px;stroke-width:1.8}
@media(prefers-reduced-motion:reduce){.menu-line,.faq-list summary svg{transition:none}}

/* Peta lokasi kantor: penambahan di bagian kontak saja. */
.contact-map{width:100%;height:240px;margin-top:24px;border:1px solid #c9cdbc;background:#e2e4da;overflow:hidden}
.contact-map iframe{display:block;width:100%;height:100%;border:0}
@media(max-width:760px){.contact-map{height:260px;margin-top:22px}}
