:root{--coral:#fb503f;--ink:#343a40;--muted:#626a70;--paper:#f7f8f6;--line:#dce0df;--white:#fff;--green:#526c61;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block}.wrap{width:min(1216px,calc(100% - 64px));margin:auto}.topbar{position:sticky;z-index:30;top:0;background:rgba(247,248,246,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(52,58,64,.09)}.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:36px}.brand{display:flex;align-items:center;gap:12px;font-weight:750;font-size:16px;line-height:1.13;letter-spacing:-.03em}.brand img{width:57px;height:48px;object-fit:contain}.brand small{font-size:11px;font-weight:650;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.links{display:flex;align-items:center;gap:34px;font-size:14px;font-weight:600}.links a{transition:color .2s}.links a:hover,.links a[aria-current=page]{color:var(--coral)}.links .contact-pill{padding:12px 19px;border:1px solid var(--ink);border-radius:100px;color:var(--ink)}.links .contact-pill:hover{background:var(--ink);color:white}.menu-toggle{display:none;border:1px solid var(--line);border-radius:8px;background:transparent;padding:10px;color:var(--ink)}.hero{position:relative;min-height:660px;overflow:hidden;background:#e9eeec}.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;animation:reveal 1.4s both,drift 20s ease-in-out infinite alternate}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,248,246,.97) 0%,rgba(247,248,246,.9) 27%,rgba(247,248,246,.35) 48%,transparent 72%)}.hero-inner{position:relative;z-index:1;min-height:660px;display:flex;align-items:center;padding:80px 0 100px}.hero-copy{max-width:590px;animation:rise .8s .1s both}.eyebrow{display:inline-flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.17em;font-weight:800;font-size:12px;color:var(--coral)}.eyebrow:before{content:"";width:25px;height:2px;background:currentColor}.hero h1{font-size:clamp(50px,5.6vw,86px);line-height:1.03;letter-spacing:-.075em;margin:28px 0 26px;font-weight:760}.hero h1 em{font-style:normal;color:var(--coral)}.lead{font-size:clamp(17px,1.45vw,20px);line-height:1.65;color:#4f575b;max-width:540px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;border-radius:100px;padding:12px 23px;font-weight:700;font-size:14px;border:1px solid var(--ink);transition:transform .2s,background .2s,color .2s}.btn:hover{transform:translateY(-2px)}.btn.primary{background:var(--ink);color:#fff}.btn.primary:hover{background:var(--coral);border-color:var(--coral)}.btn.secondary{background:rgba(255,255,255,.65)}.btn.secondary:hover{background:#fff}.hero-note{position:absolute;z-index:2;bottom:20px;right:32px;background:rgba(255,255,255,.84);backdrop-filter:blur(8px);font-size:12px;padding:8px 12px;border-radius:30px;color:#485154}.mission-strip{border-bottom:1px solid var(--line);background:#fff}.mission-row{display:grid;grid-template-columns:repeat(4,1fr)}.mission-row a{display:flex;align-items:center;gap:14px;min-height:94px;padding:18px 20px;border-right:1px solid var(--line);font-weight:700;font-size:14px;transition:background .2s}.mission-row a:first-child{border-left:1px solid var(--line)}.mission-row a:hover{background:#fff1ee}.mission-row b{font-size:12px;color:var(--coral);letter-spacing:.08em}.section{padding:112px 0}.section.tight{padding:80px 0}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:50px}.section h2,.page-head h1{font-size:clamp(38px,4.1vw,64px);line-height:1.1;letter-spacing:-.055em;margin:20px 0;font-weight:740}.section p,.page-head p{color:var(--muted);font-size:17px;line-height:1.75}.section-head p{max-width:510px;margin:0 0 9px}.intro-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:stretch}.intro-panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:45px}.intro-panel p{font-size:20px;color:var(--ink);line-height:1.65;margin:0 0 34px}.text-link{font-size:14px;font-weight:800;color:var(--coral);border-bottom:1px solid currentColor;padding-bottom:5px}.side-panel{padding:45px;background:var(--ink);border-radius:20px;color:#fff;display:flex;flex-direction:column;justify-content:space-between}.side-panel .number{color:#ff8374;font-size:14px;letter-spacing:.12em;font-weight:800}.side-panel p{color:#e4e6e5;font-size:18px;line-height:1.55}.side-panel strong{font-size:28px;line-height:1.2;letter-spacing:-.03em}.projects{background:#fff}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.project-card{min-height:370px;border:1px solid var(--line);border-radius:20px;padding:34px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative;background:#edf1ed}.project-card:nth-child(2){background:#f4eae5}.project-card:before{content:"";position:absolute;width:330px;height:330px;border:1px solid rgba(52,58,64,.12);border-radius:50%;right:-110px;bottom:-170px;box-shadow:0 0 0 65px rgba(255,255,255,.14),0 0 0 130px rgba(255,255,255,.1)}.project-card>*{position:relative}.project-card .place{font-size:13px;text-transform:uppercase;letter-spacing:.15em;font-weight:800;color:var(--coral)}.project-card h3{font-size:clamp(30px,3vw,45px);line-height:1.12;letter-spacing:-.05em;margin:10px 0 12px}.project-card p{max-width:390px;margin:0 0 22px}.project-card .card-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid rgba(52,58,64,.2);padding-top:17px;font-size:13px;font-weight:700}.project-card .card-foot span:last-child{color:var(--coral)}.closing{background:var(--coral);color:#fff}.closing .wrap{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end}.closing h2{max-width:700px;margin-bottom:0}.closing p{color:#fff}.closing .btn{background:#fff;border-color:#fff;color:var(--ink)}.footer{--footer-symbol-width:50px;--footer-symbol-height:52.6px;background:#2f3539;color:#e8e9e8;padding:65px 0 30px}.footer-main{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:60px;padding-bottom:70px}.footer .brand img{width:54px;height:48px}.footer p{color:#bfc5c5;font-size:14px;line-height:1.65;max-width:370px}.footer h4{color:#fff;font-size:13px;letter-spacing:.12em;text-transform:uppercase;margin:0 0 22px}.footer a{display:block;font-size:14px;margin:0 0 13px}.footer a:hover{color:#ff8b7f}.footer-bottom{border-top:1px solid #535b5e;padding-top:24px;color:#abb2b2;font-size:13px;display:flex;justify-content:space-between;gap:20px}.page-head{padding:98px 0 87px;border-bottom:1px solid var(--line);background:#fff}.page-head .wrap{max-width:1216px}.page-head h1{max-width:900px}.page-head p{max-width:770px;margin-bottom:0}.prose{max-width:790px}.prose p{font-size:20px;color:var(--ink);line-height:1.75}.vision{background:var(--ink);color:#fff;padding:95px 0}.vision .wrap{display:grid;grid-template-columns:200px 1fr;gap:70px}.vision blockquote{font-size:clamp(30px,3.8vw,58px);font-weight:650;line-height:1.22;letter-spacing:-.045em;margin:0;max-width:900px}.mission-list{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:48px}.mission-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:34px;min-height:270px}.mission-card .count{font-size:13px;font-weight:800;color:var(--coral)}.mission-card h3{font-size:26px;letter-spacing:-.04em;margin:25px 0 16px}.mission-card p{font-size:16px;margin:0;color:#596165;line-height:1.7}.portfolio-list{display:grid;gap:24px}.portfolio-item{display:grid;grid-template-columns:300px 1fr;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}.portfolio-visual{min-height:300px;background:#e8ede9;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.portfolio-item:nth-child(2) .portfolio-visual{background:#f5eae5}.portfolio-visual .letter{font-size:180px;font-weight:800;line-height:1;color:rgba(251,80,63,.16);letter-spacing:-.1em}.portfolio-body{padding:38px 45px}.portfolio-body h2{font-size:38px;margin:13px 0;letter-spacing:-.045em}.portfolio-body p{margin:0 0 25px;max-width:560px}.tagline{display:flex;gap:10px;flex-wrap:wrap}.tagline span{border:1px solid var(--line);border-radius:40px;padding:8px 12px;font-size:13px;font-weight:650}.caution{background:#f0f2f0;border-radius:12px;padding:22px 26px;color:#5b6465;font-size:14px;line-height:1.6;margin-top:30px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.contact-block{padding:38px;background:#fff;border:1px solid var(--line);border-radius:18px}.contact-block h2{font-size:28px;letter-spacing:-.04em;margin:0 0 15px}.contact-block p{margin:0 0 25px}.contact-block a{font-weight:750;color:var(--coral);border-bottom:1px solid currentColor}.contact-note{margin-top:32px;border-left:3px solid var(--coral);padding:5px 0 5px 20px;color:var(--muted);line-height:1.7}.reveal{opacity:0;transform:translateY(25px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes reveal{from{opacity:.5;transform:scale(1.03)}to{opacity:1;transform:scale(1)}}@keyframes drift{to{transform:scale(1.025) translateX(-.6%)}}@media(max-width:900px){.links{gap:16px}.hero,.hero-inner{min-height:620px}.hero:after{background:linear-gradient(90deg,rgba(247,248,246,.98),rgba(247,248,246,.83) 45%,rgba(247,248,246,.1))}.mission-row{grid-template-columns:1fr 1fr}.mission-row a:nth-child(3){border-left:1px solid var(--line)}.mission-row a:nth-child(n+3){border-top:1px solid var(--line)}.section-head,.intro-grid,.closing .wrap{grid-template-columns:1fr}.footer-main{gap:25px}}@media(max-width:680px){.wrap{width:min(100% - 36px,1216px)}.nav{height:70px}.brand{font-size:14px}.brand img{width:47px;height:42px}.menu-toggle{display:block}.links{display:none;position:absolute;top:69px;left:0;right:0;background:var(--paper);padding:20px 18px 25px;box-shadow:0 16px 25px rgba(0,0,0,.1);flex-direction:column;align-items:stretch;gap:0}.links.open{display:flex}.links a{padding:13px 8px}.links .contact-pill{text-align:center;margin-top:10px}.hero,.hero-inner{min-height:720px}.hero-art{height:58%;top:auto;object-position:68%}.hero:after{background:linear-gradient(180deg,var(--paper) 2%,rgba(247,248,246,.94) 43%,rgba(247,248,246,.18) 75%)}.hero-inner{align-items:flex-start;padding-top:58px}.hero-copy{max-width:100%}.hero h1{font-size:clamp(48px,11vw,68px);margin:22px 0}.lead{font-size:17px}.hero-note{right:18px;bottom:14px}.mission-row a{min-height:73px;padding:13px 10px;font-size:12px;gap:8px}.section{padding:76px 0}.section.tight{padding:60px 0}.section-head{gap:8px;margin-bottom:32px}.intro-panel,.side-panel{padding:29px}.project-grid,.mission-list,.contact-grid{grid-template-columns:1fr}.project-card{min-height:335px}.page-head{padding:65px 0}.vision{padding:70px 0}.vision .wrap{grid-template-columns:1fr;gap:25px}.portfolio-item{grid-template-columns:1fr}.portfolio-visual{min-height:155px}.portfolio-visual .letter{font-size:130px}.portfolio-body{padding:28px}.footer-main{grid-template-columns:1fr 1fr;gap:28px}.footer-main>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column}.closing .wrap{gap:22px}.closing h2{font-size:42px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* Use more of very wide displays while retaining the established layout. */
@media(min-width:1800px){.wrap{width:min(1540px,calc(100% - 112px))}.hero-art{animation:reveal 1.4s both,drift-wide 20s ease-in-out infinite alternate}.hero:after{background:linear-gradient(90deg,rgba(247,248,246,.97) 0%,rgba(247,248,246,.88) 24%,rgba(247,248,246,.32) 52%,transparent 77%)}}
@keyframes drift-wide{from{transform:scale(1.12) translateX(-2%)}to{transform:scale(1.09) translateX(-4%)}}
@media(prefers-reduced-motion:reduce){.hero-art{animation:none}}

/* Cinematic conceptual-vision film retains the established hero composition. */
.hero-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity .8s ease;z-index:0}.hero.film-ready .hero-film{opacity:1}.hero.film-ready .hero-art{opacity:0}.film-control{position:absolute;left:0;bottom:25px;z-index:4;border:1px solid rgba(52,58,64,.25);background:rgba(255,255,255,.88);color:var(--ink);border-radius:40px;padding:8px 13px;font-size:12px;font-weight:700;cursor:pointer;backdrop-filter:blur(8px)}.film-control:hover{background:#fff}.film-control[hidden]{display:none}@media(max-width:680px){.film-control{bottom:18px;left:0}}@media(prefers-reduced-motion:reduce){.hero-film{display:none}.hero-art{animation:none!important}.film-control{display:none!important}}

/* Uploaded APJ lockup, with its native 846:209 proportions. */
.brand img.brand-lockup,.footer .brand img.brand-lockup{width:194px;height:auto;max-width:100%;object-fit:contain}
@media(max-width:680px){.brand img.brand-lockup{width:170px}.footer .brand img.brand-lockup{width:194px}}

/* Keep the poster fixed while the stabilized film starts or is paused. */
.hero-art{animation:none!important}

/* Corporate contact block and the APJ symbol supplied for dark backgrounds. */
.footer-main{grid-template-columns:minmax(0,1.55fr) minmax(0,.8fr) minmax(0,.7fr)}
.footer .brand img.footer-symbol{display:block;width:var(--footer-symbol-width);height:var(--footer-symbol-height);max-width:100%;object-fit:contain;object-position:left center}
.footer-identity .brand{display:inline-block;margin-bottom:24px}
.footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:7px;font-style:normal;color:#cbd0cf;font-size:14px;line-height:1.6}
.footer-contact strong{color:#fff;font-size:16px;line-height:1.4;margin-bottom:4px}
.footer .footer-contact a{display:inline-block;margin:0;color:#e8e9e8;overflow-wrap:anywhere}
.footer .footer-contact a:hover{color:#ff8b7f}

/* Architectural render cards: an unobstructed project view with its supplied logo. */
.portfolio-item{grid-template-columns:minmax(0,43%) minmax(0,1fr);min-height:390px}
.portfolio-visual{min-height:390px;isolation:isolate;background:#dbe1dc}
.portfolio-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(21,30,31,.28),transparent 36%,transparent 52%,rgba(21,30,31,.4));z-index:1;pointer-events:none}
.portfolio-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.95) contrast(1.03)}
.visual-label{position:absolute;top:20px;left:20px;z-index:2;border:1px solid rgba(255,255,255,.65);border-radius:40px;background:rgba(22,31,32,.48);padding:7px 11px;color:#fff;font-size:12px;font-weight:700;letter-spacing:.04em;backdrop-filter:blur(7px)}
.project-seal{position:absolute;bottom:20px;left:20px;z-index:2;display:flex;align-items:center;justify-content:center;width:126px;height:126px;padding:7px;background:rgba(255,255,255,.95);border-radius:13px;box-shadow:0 12px 35px rgba(0,0,0,.2)}
.project-seal img{display:block;width:100%;height:100%;object-fit:contain}
.portfolio-body{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:38px 44px}
.portfolio-body h2{font-size:clamp(30px,3vw,38px)}
.portfolio-body p{font-size:16px;line-height:1.65}
.portfolio-body .actions{margin-top:25px}
.tour-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:23px;padding-top:18px;border-top:1px solid var(--line);width:100%}
.tour-links>span{flex-basis:100%;font-size:13px;font-weight:700;color:#5b6465;margin-bottom:2px}
.tour-links a{display:inline-flex;align-items:center;min-height:38px;padding:7px 13px;border:1px solid #cbd2d0;border-radius:30px;font-size:13px;font-weight:700;color:var(--ink);text-decoration:none;transition:border-color .2s,background .2s}
.tour-links a:hover,.tour-links a:focus-visible{border-color:var(--coral);background:#fff4f1}
@media(max-width:900px){.footer-main{gap:28px}.portfolio-item{grid-template-columns:minmax(0,42%) minmax(0,1fr)}.portfolio-body{padding:30px}}
@media(max-width:680px){.footer-main{grid-template-columns:1fr 1fr}.portfolio-item{display:block}.portfolio-visual{height:300px;min-height:300px}.portfolio-body{padding:28px}.project-seal{width:108px;height:108px;bottom:16px;left:16px}.visual-label{top:16px;left:16px}}

/* Compact corporate footer. */
.footer-main{display:block;padding-bottom:48px}
.footer-identity{max-width:420px}
.footer-identity .brand{margin-bottom:18px}
.footer .footer-contact a.footer-contact-link,.footer .footer-contact a.whatsapp-link{display:inline-flex;align-items:center;gap:9px}
.footer-contact-link svg,.whatsapp-link svg{width:18px;height:18px;flex:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
