:root{--bg:#f4f5ef;--surface:#fff;--ink:#111810;--muted:#687166;--green:#8fbc55;--green-dark:#2d5d37;--deep:#173b25;--line:rgba(17,24,16,.12);--shadow:0 20px 70px rgba(18,37,23,.14);--silver1:#d8d9d5;--silver2:#737872}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);line-height:1.5}body.admin-body{background:#edf0e8}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img,video{display:block;max-width:100%}::selection{background:rgba(143,188,85,.35)}
.container{width:min(1180px,calc(100% - 40px));margin:auto}.section{padding:110px 0}.kicker{font-size:.76rem;font-weight:850;letter-spacing:.17em;text-transform:uppercase;color:var(--green-dark)}.kicker.green{color:var(--green)}.display{font-size:clamp(3rem,7vw,7.2rem);line-height:.91;letter-spacing:-.06em;font-weight:520;margin:0}.h2{font-size:clamp(2.3rem,5vw,4.8rem);line-height:.98;letter-spacing:-.045em;font-weight:540;margin:0}.h3{font-size:1.5rem;line-height:1.1;letter-spacing:-.02em;margin:0}.lede{font-size:clamp(1.05rem,1.7vw,1.35rem);color:#4e594d;max-width:690px}.muted{color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;padding:14px 20px;border-radius:999px;border:1px solid transparent;font-weight:760;transition:.25s ease;min-height:50px}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--green);color:#10190f;box-shadow:0 12px 35px rgba(143,188,85,.26)}.btn-dark{background:var(--ink);color:#fff}.btn-ghost{border-color:rgba(255,255,255,.35);color:#fff;background:rgba(0,0,0,.13);backdrop-filter:blur(10px)}.btn-outline{border-color:var(--line);background:#fff;color:var(--ink)}.btn-danger{border-color:#e1b8b8;background:#fff3f3;color:#8c3030}.btn-small{padding:9px 13px;min-height:38px;font-size:.86rem}
.site-header{position:fixed;z-index:80;left:0;top:0;width:100%;padding:18px 0;transition:.3s}.site-header.scrolled,.site-header.light{background:rgba(244,245,239,.92);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.header-row{display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:11px;min-width:220px}.brand-mark{width:52px;height:58px;display:grid;place-items:center;padding:0;background:transparent}.brand-mark img{width:100%;height:100%;object-fit:contain;filter:none}.brand-word{font-weight:900;letter-spacing:.05em;color:#fff;white-space:nowrap}.site-header.scrolled .brand-word,.site-header.light .brand-word{color:var(--ink)}.nav{display:flex;gap:25px;align-items:center}.nav-link{font-size:.91rem;color:#fff;opacity:.93}.site-header.scrolled .nav-link,.site-header.light .nav-link{color:var(--ink)}.nav-link:hover{color:var(--green)}.mobile-menu{display:none;width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:1.25rem}.mobile-drawer{position:fixed;z-index:75;inset:0;background:#f4f5ef;padding:105px 24px 32px}.mobile-drawer-inner{display:grid;gap:14px}.mobile-drawer a{font-size:1.8rem;font-weight:720}
.hero{position:relative;height:min(920px,100svh);min-height:720px;overflow:hidden;background:#0b100d;color:#fff;perspective:1200px}.hero-media{position:absolute;inset:0}.hero-media video,.hero-media img{width:100%;height:100%;object-fit:cover}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,15,11,.82) 0%,rgba(8,15,11,.52) 34%,rgba(8,15,11,.08) 70%),linear-gradient(0deg,rgba(8,15,11,.52),transparent 42%);transition:background 1.1s ease}.hero-copy{position:relative;z-index:3;padding-top:205px;max-width:760px}.hero-title{font-size:clamp(3.5rem,7vw,7.8rem);line-height:.88;letter-spacing:-.055em;font-weight:520;margin:20px 0;overflow:visible}.hero-title em{font-style:normal;color:var(--green)}.hero-title-word{display:inline-block;opacity:0;filter:blur(15px);transform:translate3d(0,72px,150px) rotateX(13deg) scale(.94);transform-origin:50% 100%;will-change:transform,opacity,filter}.hero-reveal{opacity:0;filter:blur(10px);transform:translate3d(0,28px,0);will-change:transform,opacity,filter}.hero-copy p{font-size:clamp(1.05rem,1.8vw,1.35rem);max-width:620px;color:rgba(255,255,255,.84)}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.hero-stage{position:absolute;z-index:4;right:5vw;bottom:76px;width:min(390px,35vw);padding:18px 20px;border:1px solid rgba(255,255,255,.22);border-radius:20px;background:rgba(5,11,7,.42);backdrop-filter:blur(14px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.8,.2,1)}.hero-stage-top{display:flex;justify-content:space-between;color:rgba(255,255,255,.74);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.hero-progress{height:3px;background:rgba(255,255,255,.18);margin:12px 0 10px;border-radius:10px;overflow:hidden}.hero-progress span{display:block;height:100%;background:var(--green);width:0;transition:width .12s linear}.hero-copy-visible .hero-media:after{background:linear-gradient(90deg,rgba(8,15,11,.86) 0%,rgba(8,15,11,.55) 34%,rgba(8,15,11,.1) 70%),linear-gradient(0deg,rgba(8,15,11,.56),transparent 42%)}.hero-copy-visible .hero-title-word{animation:heroWordFlyIn .9s cubic-bezier(.16,.82,.18,1) forwards;animation-delay:calc(.16s + (var(--word-index) * .095s))}.hero-copy-visible .hero-reveal-kicker{animation:heroSoftReveal .72s cubic-bezier(.18,.8,.2,1) .05s forwards}.hero-copy-visible .hero-reveal-body{animation:heroSoftReveal .72s cubic-bezier(.18,.8,.2,1) .86s forwards}.hero-copy-visible .hero-reveal-actions{animation:heroSoftReveal .72s cubic-bezier(.18,.8,.2,1) 1.06s forwards}.hero-copy-visible .hero-stage{opacity:0;transform:translate3d(0,18px,0);pointer-events:none}@keyframes heroWordFlyIn{0%{opacity:0;filter:blur(15px);transform:translate3d(0,72px,150px) rotateX(13deg) scale(.94)}58%{opacity:1;filter:blur(2px);transform:translate3d(0,-5px,0) rotateX(-1deg) scale(1.012)}100%{opacity:1;filter:blur(0);transform:translate3d(0,0,0) rotateX(0) scale(1)}}@keyframes heroSoftReveal{0%{opacity:0;filter:blur(10px);transform:translate3d(0,28px,0)}100%{opacity:1;filter:blur(0);transform:translate3d(0,0,0)}}@media(prefers-reduced-motion:reduce){.hero-title-word,.hero-reveal{opacity:1!important;filter:none!important;transform:none!important;animation:none!important}.hero-stage{transition:none}.hero-awaiting-copy .hero-stage{opacity:1}.hero-media:after{transition:none}}
.group-marquee{background:#eceee8;border-bottom:1px solid var(--line);padding:14px 0;overflow:hidden}.group-marquee-viewport{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}.group-marquee-track{display:flex;width:max-content;animation:groupPanRight 34s linear infinite}.group-logo-card{width:340px;height:126px;display:grid;place-items:center;padding:12px 38px;border-right:1px solid rgba(17,24,16,.07)}.group-logo-art{width:auto;max-width:270px;object-fit:contain;opacity:.72;transition:opacity .28s ease,filter .28s ease,transform .28s ease;filter:grayscale(1) saturate(0) contrast(.92) brightness(.82) drop-shadow(0 1px 0 rgba(255,255,255,.88)) drop-shadow(0 2px 3px rgba(0,0,0,.10))}.group-logo-capital{height:86px}.group-logo-habitat{height:92px}.group-logo-atelier{height:86px}.group-logo-development{height:80px}.group-logo-card:hover .group-logo-art{opacity:.96;filter:grayscale(1) saturate(0) contrast(1.02) brightness(.96) drop-shadow(0 1px 0 rgba(255,255,255,.95)) drop-shadow(0 4px 7px rgba(0,0,0,.14));transform:translateY(-1px)}@keyframes groupPanRight{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:22px;overflow:hidden}.stat{background:#fff;padding:32px}.stat strong{font-size:2.1rem;display:block}.stat span{color:var(--muted)}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.visual-card{position:relative;min-height:610px;border-radius:30px;overflow:hidden;box-shadow:var(--shadow)}.visual-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.dark-section{background:#0f1811;color:#fff}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:0 15px 45px rgba(25,45,29,.06)}.dark-card{background:#17231a;border-color:rgba(255,255,255,.1);color:#fff}.project-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:18px}.project-card{min-height:610px;border-radius:28px;overflow:hidden;position:relative;background:#182019;color:#fff}.project-card.small{min-height:610px}.project-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.project-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,15,11,.82),rgba(8,15,11,0) 60%)}.project-copy{position:absolute;z-index:2;left:30px;right:30px;bottom:30px}.page-hero{padding:190px 0 90px;background:linear-gradient(135deg,#eef1e8,#dfe7d7)}
.procedure-list{display:grid;gap:18px}.procedure-item{display:grid;grid-template-columns:84px 1fr;gap:28px;align-items:start}.number-badge{width:58px;height:58px;border-radius:50%;background:#e6eadf;display:grid;place-items:center;font-weight:850;color:var(--green-dark)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:grid;gap:8px}.field.full{grid-column:1/-1}.field label{font-weight:740;font-size:.9rem}.input,.textarea,.select{width:100%;border:1px solid rgba(17,24,16,.17);border-radius:14px;background:#fff;color:var(--ink);padding:13px 14px;outline:none;transition:.2s}.input:focus,.textarea:focus,.select:focus{border-color:var(--green-dark);box-shadow:0 0 0 3px rgba(143,188,85,.14)}.textarea{min-height:130px;resize:vertical}.estimate-result{background:#0f1811;color:#fff;border-radius:26px;padding:34px;position:sticky;top:120px}.estimate-number{font-size:clamp(2.8rem,5vw,5.8rem);letter-spacing:-.055em;line-height:1;margin:14px 0}.note{font-size:.86rem;color:var(--muted)}
.chat-shell{width:min(920px,100%);margin:auto;background:#fff;border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}.chat-head{padding:24px 26px;background:#142118;color:#fff}.chat-messages{min-height:420px;max-height:520px;overflow:auto;padding:26px;display:grid;gap:14px;background:#f7f8f3}.bubble{max-width:76%;padding:14px 16px;border-radius:18px}.bubble.bot{background:#fff;border:1px solid var(--line);justify-self:start}.bubble.user{background:#dfeccf;justify-self:end}.chat-input-row{display:flex;gap:10px;padding:18px;border-top:1px solid var(--line)}.chat-input-row input{flex:1}
.customer-service-fab{position:fixed;z-index:70;right:20px;bottom:20px;border:1px solid rgba(255,255,255,.18);background:#0f2117;color:#fff;border-radius:999px;padding:13px 18px;display:flex;align-items:center;gap:10px;font:inherit;font-weight:800;cursor:pointer;box-shadow:0 18px 45px rgba(5,21,12,.28)}.customer-service-fab:hover{transform:translateY(-2px);background:#173423}.customer-service-icon{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#a7cf6f;color:#102116;letter-spacing:1px;font-size:.72rem}.customer-service-panel{position:fixed;z-index:69;right:20px;bottom:84px;width:min(390px,calc(100vw - 28px));height:min(590px,calc(100vh - 120px));background:#fff;border:1px solid #dfe5dc;border-radius:22px;overflow:hidden;box-shadow:0 28px 80px rgba(4,22,11,.26);display:grid;grid-template-rows:auto 1fr auto}.customer-service-panel[hidden]{display:none}.customer-service-head{background:#0d1d14;color:#fff;padding:17px 18px;display:flex;align-items:center;justify-content:space-between;gap:18px}.customer-service-head strong{font-size:1rem}.customer-service-head div div{font-size:.78rem;color:#b9cbbb;margin-top:3px}.customer-service-close{border:0;background:rgba(255,255,255,.09);color:#fff;width:34px;height:34px;border-radius:50%;font-size:1.45rem;cursor:pointer}.customer-service-messages{padding:18px;overflow:auto;background:#f5f7f2;display:flex;flex-direction:column;gap:11px}.customer-service-bubble{max-width:86%;padding:11px 13px;border-radius:15px;line-height:1.5;font-size:.93rem;white-space:pre-wrap}.customer-service-bubble.bot{align-self:flex-start;background:#fff;border:1px solid #e0e5dc;color:#1d2a20}.customer-service-bubble.user{align-self:flex-end;background:#1a3a27;color:#fff}.customer-service-input-row{padding:12px;background:#fff;border-top:1px solid #e2e7df;display:grid;grid-template-columns:1fr auto;gap:8px}.customer-service-input-row .input{min-width:0}
.footer{background:#0c130e;color:#dbe4d8;padding:78px 0 30px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:50px}.footer h4{color:#fff}.footer a:hover{color:var(--green)}.footer-brand{font-size:clamp(4.5rem,12vw,11rem);line-height:.72;letter-spacing:-.06em;color:#26372a;margin:80px 0 60px;font-weight:900}.footer-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.12);padding-top:22px;color:#9ba89a;font-size:.86rem}
.toast{position:fixed;z-index:200;left:50%;top:22px;transform:translateX(-50%);background:#111810;color:#fff;padding:13px 18px;border-radius:12px;box-shadow:var(--shadow);max-width:min(520px,calc(100% - 30px))}
/* Admin */
.admin-wrap{min-height:100vh;padding-top:92px;display:grid;grid-template-columns:260px 1fr}.admin-sidebar{background:#111a13;color:#dfe7dc;padding:26px 18px;position:sticky;top:92px;height:calc(100vh - 92px);overflow:auto}.admin-sidebar h3{padding:0 10px;margin:0 0 20px}.admin-nav{display:grid;gap:6px}.admin-nav button{width:100%;text-align:left;border:0;border-radius:12px;background:transparent;color:#c5d0c2;padding:11px 12px}.admin-nav button.active,.admin-nav button:hover{background:#253328;color:#fff}.admin-main{padding:32px;min-width:0}.admin-main-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.panel{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;margin-bottom:20px;box-shadow:0 12px 35px rgba(26,43,30,.05)}.panel h2{margin-top:0}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.metric{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}.metric strong{font-size:2.2rem;display:block}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{text-align:left;padding:13px 11px;border-bottom:1px solid var(--line);vertical-align:top}.table th{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.admin-login{min-height:100vh;padding:140px 20px 80px;display:grid;place-items:center;background:radial-gradient(circle at 20% 10%,#dbe7d0,transparent 30%),#eef1e8}.login-card{width:min(560px,100%);background:#fff;border:1px solid var(--line);border-radius:28px;padding:34px;box-shadow:var(--shadow)}.login-card .brand-lockup{display:flex;align-items:center;gap:14px;margin-bottom:30px}.login-card .brand-lockup img{width:64px;height:72px;background:transparent;border-radius:0;padding:0;object-fit:contain}.tab-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.tab-chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px}.tab-chip.active{background:#111810;color:#fff}
@media(max-width:1000px){.nav{display:none}.mobile-menu{display:grid;place-items:center}.split{grid-template-columns:1fr;gap:44px}.card-grid{grid-template-columns:1fr}.project-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.hero-stage{right:20px;width:min(390px,calc(100% - 40px))}.admin-wrap{grid-template-columns:1fr}.admin-sidebar{position:relative;top:0;height:auto}.admin-nav{display:flex;overflow:auto}.admin-nav button{white-space:nowrap}.metric-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.container{width:min(100% - 28px,1180px)}.section{padding:76px 0}.site-header{padding:12px 0}.brand{min-width:0}.brand-mark{width:45px;height:45px}.brand-word{font-size:.82rem}.hero{min-height:740px}.hero-copy{padding-top:170px}.hero-stage{bottom:24px}.stat-row{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-grid{grid-template-columns:1fr}.group-logo-card{width:265px;height:108px;padding:10px 28px}.group-marquee-track{animation-duration:26s}.procedure-item{grid-template-columns:60px 1fr}.admin-main{padding:18px}.metric-grid{grid-template-columns:1fr}.chat-messages{min-height:360px}.bubble{max-width:88%}.customer-service-fab{right:14px;bottom:14px;padding:10px 13px}.customer-service-fab span:last-child{font-size:.82rem}.customer-service-panel{right:14px;bottom:76px;width:calc(100vw - 28px);height:min(560px,calc(100vh - 104px));border-radius:18px}.customer-service-icon{width:24px;height:24px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}.group-marquee-track{animation:none;transform:none}.group-marquee-viewport{overflow-x:auto;mask-image:none;-webkit-mask-image:none}}
.status-pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#eef2eb;border-radius:999px;padding:8px 12px;font-size:.82rem;font-weight:700;color:#405044;white-space:nowrap}

/* Procedure v6 */
.procedure-hero{padding:190px 0 86px;background:radial-gradient(circle at 85% 20%,rgba(143,188,85,.18),transparent 28%),linear-gradient(135deg,#eef1e8 0%,#f7f8f4 56%,#e2e9dc 100%);border-bottom:1px solid var(--line)}
.procedure-hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:70px;align-items:end}.procedure-hero .display em{font-style:normal;color:var(--green-dark)}.procedure-hero-copy{padding:26px 0 8px}.procedure-hero-copy>p{font-size:1.2rem;color:#485547;margin:0 0 24px}.procedure-hero-note{border-left:3px solid var(--green);padding:14px 0 14px 18px;color:#647060;font-size:.93rem}
.procedure-route-nav-wrap{position:sticky;top:88px;z-index:35;background:rgba(244,245,239,.94);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.procedure-route-nav{display:flex;gap:8px;overflow-x:auto;padding:13px 0;scrollbar-width:none}.procedure-route-nav::-webkit-scrollbar{display:none}.procedure-route-tab{flex:0 0 auto;display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:999px;background:#fff;padding:10px 14px;color:#41503f;transition:.2s}.procedure-route-tab span{font-size:.7rem;font-weight:850;letter-spacing:.08em;color:#7d887b}.procedure-route-tab strong{font-size:.9rem;white-space:nowrap}.procedure-route-tab:hover{border-color:rgba(45,93,55,.32);transform:translateY(-1px)}.procedure-route-tab.active{background:#102018;color:#fff;border-color:#102018;box-shadow:0 10px 26px rgba(16,32,24,.14)}.procedure-route-tab.active span{color:#b8dc88}
.procedure-content{padding-top:80px}.procedure-route-panel[hidden]{display:none}.procedure-route-intro{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);gap:70px;align-items:start;margin-bottom:64px}.procedure-route-title{font-size:clamp(2.7rem,5vw,5.4rem);line-height:.94;letter-spacing:-.05em;font-weight:540;margin:16px 0 22px}.procedure-route-summary{background:#101b13;color:#fff;border-radius:26px;padding:28px;box-shadow:0 22px 60px rgba(13,28,17,.12)}.procedure-summary-row{padding:0 0 20px;margin-bottom:20px;border-bottom:1px solid rgba(255,255,255,.12)}.procedure-summary-row:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.procedure-summary-row span{display:block;font-size:.72rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase;color:#9eb194;margin-bottom:7px}.procedure-summary-row strong{display:block;font-size:1rem;line-height:1.55;font-weight:600;color:#f1f5ef}.procedure-summary-row.authority strong{font-size:.94rem;color:#dbe6d7}
.procedure-timeline{position:relative;border-top:1px solid var(--line)}.procedure-stage{display:grid;grid-template-columns:126px 1fr;border-bottom:1px solid var(--line);min-height:230px}.procedure-stage-rail{position:relative;padding-top:34px}.procedure-stage-rail:after{content:"";position:absolute;left:28px;top:76px;bottom:-1px;width:1px;background:linear-gradient(var(--green),rgba(143,188,85,.15))}.procedure-stage:last-child .procedure-stage-rail:after{display:none}.procedure-stage-rail span{width:57px;height:57px;border-radius:50%;display:grid;place-items:center;background:#17271c;color:#dff1c7;font-weight:900;letter-spacing:.03em;box-shadow:0 8px 22px rgba(20,44,27,.12)}.procedure-stage-main{padding:34px 0 38px;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.34fr);column-gap:38px;align-content:start}.procedure-stage-meta{grid-column:1/-1;font-size:.72rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase;color:var(--green-dark);margin-bottom:8px}.procedure-stage-main h3{font-size:clamp(1.65rem,2.6vw,2.5rem);line-height:1.02;letter-spacing:-.035em;margin:0}.procedure-stage-main p{font-size:1.03rem;line-height:1.7;color:#566255;margin:14px 0 0;max-width:720px}.procedure-checkpoint{grid-column:2;grid-row:2 / span 2;align-self:start;border:1px solid rgba(45,93,55,.18);background:#eef3e9;border-radius:16px;padding:16px 18px;font-weight:720;color:#304331}.procedure-checkpoint span{display:block;font-size:.66rem;letter-spacing:.12em;color:#698064;margin-bottom:5px}.procedure-help-card{margin-top:80px;background:linear-gradient(135deg,#112218,#1c3a26);color:#fff;border-radius:30px;padding:36px;display:flex;justify-content:space-between;gap:40px;align-items:end}.procedure-help-card h2{font-size:clamp(2rem,4vw,4rem);letter-spacing:-.045em;line-height:1;margin:12px 0}.procedure-help-card p{color:#c9d5c6;max-width:760px;margin:0}.procedure-help-card .btn{flex:0 0 auto}
.admin-procedure-route-list{display:grid;gap:10px}.admin-procedure-route{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:15px 0;border-bottom:1px solid var(--line)}.admin-procedure-route small{display:block;color:var(--muted);margin-top:3px}.admin-procedure-group{padding:18px 0 6px;border-bottom:1px solid var(--line)}.admin-procedure-group:last-child{border-bottom:0}.admin-procedure-group h3{display:flex;align-items:center;gap:10px;margin:0 0 8px}.admin-procedure-group h3 span{font-size:.75rem;font-weight:700;color:var(--muted);background:#eef2eb;padding:4px 8px;border-radius:999px}.admin-procedure-stage{display:grid;grid-template-columns:1fr auto;gap:18px;padding:14px 0;border-top:1px solid rgba(17,24,16,.08)}.admin-procedure-stage small{display:block;color:var(--green-dark);margin-top:3px}.admin-procedure-stage p{margin:7px 0 0;color:var(--muted)}
@media(max-width:900px){.procedure-hero-grid,.procedure-route-intro{grid-template-columns:1fr;gap:38px}.procedure-route-nav-wrap{top:73px}.procedure-stage-main{grid-template-columns:1fr}.procedure-checkpoint{grid-column:1;grid-row:auto;margin-top:18px;max-width:440px}.procedure-help-card{align-items:flex-start;flex-direction:column}}
@media(max-width:640px){.procedure-hero{padding:145px 0 64px}.procedure-route-nav-wrap{top:69px}.procedure-content{padding-top:56px}.procedure-route-tab{padding:9px 12px}.procedure-route-intro{margin-bottom:42px}.procedure-route-summary{padding:22px}.procedure-stage{grid-template-columns:66px 1fr;min-height:0}.procedure-stage-rail{padding-top:26px}.procedure-stage-rail span{width:44px;height:44px;font-size:.83rem}.procedure-stage-rail:after{left:21px;top:70px}.procedure-stage-main{padding:26px 0 30px}.procedure-help-card{padding:26px}.admin-procedure-route,.admin-procedure-stage{grid-template-columns:1fr;display:grid}.admin-procedure-route>div:last-child,.admin-procedure-stage>div:last-child{display:flex;gap:6px;flex-wrap:wrap}}


/* Project Journey — integrated design, submissions, e-Admin and construction */
.journey-hero{padding:184px 0 72px;background:radial-gradient(circle at 78% 12%,rgba(143,188,85,.18),transparent 28%),linear-gradient(135deg,#f7f8f3 0%,#eef2e8 56%,#e4ebdd 100%);border-bottom:1px solid var(--line)}
.journey-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(410px,.95fr);gap:70px;align-items:end}.journey-hero .display em{font-style:normal;color:var(--green-dark)}.journey-hero-lede{font-size:clamp(1.08rem,1.6vw,1.3rem);line-height:1.62;color:#4f5d4e;max-width:760px;margin:26px 0 0}.journey-track-legend{display:grid;gap:12px}.journey-track-legend>div{display:grid;grid-template-columns:50px 1fr;column-gap:14px;align-items:center;background:rgba(255,255,255,.74);border:1px solid rgba(45,93,55,.12);border-radius:18px;padding:16px 18px;box-shadow:0 10px 36px rgba(27,52,32,.05)}.journey-track-legend strong,.journey-track-legend small{grid-column:2}.journey-track-legend small{color:var(--muted);margin-top:2px}.journey-legend-icon,.journey-workstream-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#e9f0e3;color:var(--green-dark)}.journey-legend-icon svg,.journey-workstream-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.journey-disclaimer{margin-top:44px;padding-top:20px;border-top:1px solid rgba(45,93,55,.15);font-size:.87rem;color:#657263}
.journey-route-nav-wrap{position:sticky;top:88px;z-index:35;background:rgba(244,245,239,.96);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.journey-route-nav-wrap>.container{display:grid;grid-template-columns:170px 1fr;align-items:center;gap:18px}.journey-route-nav-label{font-size:.68rem;font-weight:900;letter-spacing:.15em;color:var(--green-dark)}.journey-route-nav{display:flex;gap:9px;overflow-x:auto;padding:13px 0;scrollbar-width:none}.journey-route-nav::-webkit-scrollbar{display:none}.journey-route-tab{flex:0 0 205px;display:flex;align-items:center;gap:11px;text-align:left;border:1px solid var(--line);border-radius:16px;background:#fff;padding:11px 13px;color:#344333;transition:.2s}.journey-route-tab:hover{transform:translateY(-1px);border-color:rgba(45,93,55,.35)}.journey-route-tab.active{background:#173b25;border-color:#173b25;color:#fff;box-shadow:0 10px 30px rgba(23,59,37,.15)}.journey-route-index{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#edf3e8;color:var(--green-dark);font-size:.72rem;font-weight:900;flex:0 0 auto}.journey-route-tab.active .journey-route-index{background:var(--green);color:#102018}.journey-route-tab strong{display:block;font-size:.86rem;line-height:1.15}.journey-route-tab small{display:block;font-size:.61rem;letter-spacing:.08em;margin-top:3px;opacity:.63;text-transform:uppercase}
.journey-content{padding-top:72px}.journey-route-panel[hidden]{display:none}.journey-route-overview{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:70px;align-items:start;margin-bottom:74px}.journey-route-copy h2{font-size:clamp(3rem,5.7vw,6rem);font-weight:540;letter-spacing:-.055em;line-height:.92;margin:16px 0 22px}.journey-route-illustration{margin:30px 0 0;background:#fff;border:1px solid var(--line);border-radius:24px;padding:12px;overflow:hidden}.journey-route-illustration img{width:100%;max-height:360px;object-fit:cover;border-radius:17px}.journey-route-illustration figcaption,.journey-stage-illustration figcaption{font-size:.78rem;color:var(--muted);padding:10px 5px 2px}.journey-route-facts{background:#102018;color:#fff;border-radius:26px;padding:28px;box-shadow:0 24px 70px rgba(16,32,24,.12)}.journey-route-facts>div{padding:0 0 21px;margin-bottom:21px;border-bottom:1px solid rgba(255,255,255,.12)}.journey-route-facts>div:last-child{border:0;margin:0;padding:0}.journey-route-facts span{display:block;color:#a8bca4;font-size:.68rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase;margin-bottom:7px}.journey-route-facts strong{display:block;font-size:.97rem;line-height:1.55;font-weight:600;color:#edf5ea}
.journey-section-head{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:end;margin-bottom:24px}.journey-section-head h3{font-size:clamp(2.1rem,4vw,4.4rem);line-height:.98;letter-spacing:-.045em;margin:12px 0 0;font-weight:540}.journey-section-head>p{color:var(--muted);font-size:1rem;max-width:620px;margin:0}.journey-roadmap{display:flex;gap:8px;overflow-x:auto;padding:12px 0 24px;margin-bottom:22px;scrollbar-width:thin}.journey-roadmap-step{flex:0 0 210px;display:grid;grid-template-columns:36px 1fr;gap:9px;align-items:center;border:1px solid var(--line);background:#fff;border-radius:14px;padding:10px 12px;transition:.2s}.journey-roadmap-step:hover{border-color:rgba(45,93,55,.35);transform:translateY(-1px)}.journey-roadmap-step span{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#e9f0e3;color:var(--green-dark);font-size:.7rem;font-weight:900}.journey-roadmap-step strong{font-size:.78rem;line-height:1.15}
.journey-stage-list{display:grid;gap:20px}.journey-stage-card{scroll-margin-top:190px;background:#fff;border:1px solid var(--line);border-radius:26px;overflow:hidden;box-shadow:0 14px 45px rgba(25,45,29,.045)}.journey-stage-head{display:grid;grid-template-columns:70px minmax(0,1fr) 260px;gap:22px;align-items:center;padding:26px 28px;background:linear-gradient(120deg,#fbfcf8,#f0f4eb);border-bottom:1px solid var(--line)}.journey-stage-number{width:56px;height:56px;display:grid;place-items:center;border-radius:50%;background:#173b25;color:#dff1c7;font-weight:900;font-size:.88rem;box-shadow:0 8px 24px rgba(23,59,37,.14)}.journey-stage-phase{font-size:.68rem;font-weight:900;letter-spacing:.13em;color:var(--green-dark);text-transform:uppercase}.journey-stage-title h3{font-size:clamp(1.65rem,2.6vw,2.6rem);letter-spacing:-.035em;line-height:1;margin:7px 0 9px}.journey-stage-title p{margin:0;color:#5f6a5d;max-width:720px}.journey-tech-art{height:116px;border-left:1px solid rgba(45,93,55,.12);padding-left:18px;display:grid;place-items:center}.journey-tech-art svg{width:100%;height:100%;fill:none;stroke:#71806d;stroke-width:1;stroke-linecap:round;stroke-linejoin:round}.journey-art-grid{opacity:.18}.journey-art-house{stroke:#2d5d37;stroke-width:1.4}.journey-art-progress{stroke:var(--green);stroke-width:5;stroke-dasharray:180;stroke-dashoffset:0;}.journey-stage-illustration{margin:0;border-left:1px solid rgba(45,93,55,.12);padding-left:18px}.journey-stage-illustration img{width:100%;height:116px;object-fit:cover;border-radius:14px}.journey-stage-illustration figcaption{padding-bottom:0}
.journey-workstreams{display:grid;grid-template-columns:repeat(3,1fr)}.journey-workstream{display:grid;grid-template-columns:48px 1fr;gap:13px;padding:24px 25px;min-height:185px;border-right:1px solid var(--line)}.journey-workstream:last-child{border-right:0}.journey-workstream span{display:block;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--green-dark);margin:2px 0 9px}.journey-workstream p{margin:0;color:#536050;font-size:.92rem;line-height:1.62}.journey-workstream.authority{background:#fbfcfa}.journey-workstream.admin{background:#f4f7f1}.journey-workstream.authority .journey-workstream-icon{background:#eef0e9}.journey-workstream.admin .journey-workstream-icon{background:#e7eee5}.journey-stage-foot{display:flex;gap:18px;align-items:center;padding:13px 25px;border-top:1px solid var(--line);background:#102018;color:#fff}.journey-stage-foot span{font-size:.66rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#9fb09b}.journey-stage-foot strong{font-size:.9rem;font-weight:650;color:#f1f5ef}.journey-help-card{margin-top:72px;background:linear-gradient(135deg,#13271a,#1e432b);color:#fff;border-radius:30px;padding:36px;display:flex;justify-content:space-between;gap:42px;align-items:end}.journey-help-card h2{font-size:clamp(2rem,4vw,4rem);line-height:1;letter-spacing:-.045em;margin:12px 0}.journey-help-card p{margin:0;color:#c8d6c4;max-width:760px}.journey-help-card .btn{flex:0 0 auto}
.admin-inline-upload{display:flex;gap:8px;align-items:center;margin-top:8px}.admin-inline-upload .input{flex:1}.admin-route-thumb{width:72px;height:48px;object-fit:cover;border-radius:8px;vertical-align:middle;margin-right:10px}.admin-stage-track-preview{display:grid;grid-template-columns:78px 1fr;gap:4px 8px;margin-top:10px;font-size:.77rem;color:var(--muted)}.admin-stage-track-preview span{font-weight:800;color:var(--green-dark)}
@media(max-width:1000px){.journey-hero-grid,.journey-route-overview,.journey-section-head{grid-template-columns:1fr}.journey-route-nav-wrap>.container{grid-template-columns:1fr;gap:0}.journey-route-nav-label{padding-top:12px}.journey-stage-head{grid-template-columns:60px 1fr}.journey-tech-art,.journey-stage-illustration{grid-column:1/-1;border-left:0;border-top:1px solid rgba(45,93,55,.12);padding:16px 0 0;height:150px}.journey-stage-illustration img{height:130px}.journey-workstreams{grid-template-columns:1fr}.journey-workstream{border-right:0;border-bottom:1px solid var(--line);min-height:0}.journey-workstream:last-child{border-bottom:0}.journey-help-card{align-items:flex-start;flex-direction:column}}
@media(max-width:640px){.journey-hero{padding:142px 0 54px}.journey-route-nav-wrap{top:69px}.journey-route-nav-label{display:none}.journey-route-tab{flex-basis:172px}.journey-content{padding-top:52px}.journey-route-overview{margin-bottom:54px}.journey-route-facts{padding:22px}.journey-stage-card{scroll-margin-top:150px}.journey-stage-head{grid-template-columns:46px 1fr;gap:14px;padding:20px}.journey-stage-number{width:42px;height:42px;font-size:.72rem}.journey-workstream{grid-template-columns:42px 1fr;padding:20px}.journey-workstream-icon{width:38px;height:38px}.journey-stage-foot{align-items:flex-start;flex-direction:column;gap:4px;padding:13px 20px}.journey-help-card{padding:25px}.admin-inline-upload{align-items:stretch;flex-direction:column}}


/* v9.4 — Projects editorial portfolio */
.projects-editorial-hero{
  padding:180px 0 84px;
  background:
    radial-gradient(circle at 82% 10%,rgba(143,188,85,.18),transparent 30%),
    linear-gradient(135deg,#f7f8f3 0%,#eef2e8 58%,#e5ebdf 100%);
  border-bottom:1px solid var(--line)
}
.projects-editorial-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
  gap:80px;
  align-items:end
}
.projects-editorial-title{margin:18px 0 0;max-width:930px}
.projects-editorial-title em{font-style:normal;color:var(--green-dark)}
.projects-editorial-intro{
  border-left:1px solid rgba(45,93,55,.22);
  padding-left:28px;
  display:grid;
  gap:30px
}
.projects-editorial-intro>p{
  margin:0;
  color:#4f5b4d;
  font-size:1.08rem;
  line-height:1.7;
  max-width:530px
}
.projects-editorial-stat{display:flex;align-items:baseline;gap:12px}
.projects-editorial-stat strong{
  font-size:clamp(2.5rem,5vw,4.7rem);
  line-height:.85;
  letter-spacing:-.06em;
  font-weight:560;
  color:#173b25
}
.projects-editorial-stat span{
  color:var(--muted);
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase
}
.projects-editorial-section{padding:38px 0 110px;background:#f7f8f3}
.projects-toolbar{
  position:sticky;
  top:88px;
  z-index:25;
  margin-bottom:34px;
  padding:12px 0;
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  background:rgba(247,248,243,.92);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(45,93,55,.1)
}
.projects-filter{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}
.projects-filter::-webkit-scrollbar{display:none}
.projects-filter-btn{
  flex:0 0 auto;
  border:1px solid var(--line);
  background:#fff;
  color:#314030;
  border-radius:999px;
  padding:10px 15px;
  font:inherit;
  font-size:.76rem;
  font-weight:780;
  cursor:pointer;
  transition:.2s ease
}
.projects-filter-btn:hover{border-color:rgba(45,93,55,.45);transform:translateY(-1px)}
.projects-filter-btn.active{background:#173b25;border-color:#173b25;color:#fff}
.projects-visible-count{
  flex:0 0 auto;
  color:var(--muted);
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase
}
.portfolio-editorial-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:56px 22px;
  align-items:start
}
.portfolio-editorial-card{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  color:inherit;
  text-align:left;
  font:inherit;
  cursor:pointer;
  min-width:0
}
.portfolio-editorial-card[hidden]{display:none}
.portfolio-layout-0{grid-column:span 8}
.portfolio-layout-1{grid-column:span 4}
.portfolio-layout-2{grid-column:span 5}
.portfolio-layout-3{grid-column:span 7}
.portfolio-layout-4{grid-column:span 4}
.portfolio-layout-5{grid-column:span 8}
.portfolio-editorial-media{
  position:relative;
  overflow:hidden;
  border-radius:24px;
  background:#dfe6d9;
  box-shadow:0 18px 55px rgba(24,45,29,.07)
}
.portfolio-layout-0 .portfolio-editorial-media{aspect-ratio:16/10}
.portfolio-layout-1 .portfolio-editorial-media{aspect-ratio:4/5}
.portfolio-layout-2 .portfolio-editorial-media{aspect-ratio:5/4}
.portfolio-layout-3 .portfolio-editorial-media{aspect-ratio:7/4}
.portfolio-layout-4 .portfolio-editorial-media{aspect-ratio:4/5}
.portfolio-layout-5 .portfolio-editorial-media{aspect-ratio:16/9}
.portfolio-editorial-media:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(10,25,15,.06),rgba(10,25,15,.16));
  opacity:.42;
  transition:.35s ease
}
.portfolio-editorial-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transform:scale(1.001);
  transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .35s ease
}
.portfolio-editorial-card:hover .portfolio-editorial-media img{transform:scale(1.045)}
.portfolio-editorial-card:hover .portfolio-editorial-media:after{opacity:.14}
.portfolio-project-no,.portfolio-open-icon{
  position:absolute;
  z-index:2;
  top:18px;
  display:grid;
  place-items:center;
  height:38px;
  min-width:38px;
  padding:0 11px;
  border-radius:999px;
  background:rgba(247,248,243,.9);
  color:#173b25;
  border:1px solid rgba(255,255,255,.65);
  backdrop-filter:blur(10px);
  font-size:.72rem;
  font-weight:900
}
.portfolio-project-no{left:18px;letter-spacing:.08em}
.portfolio-open-icon{
  right:18px;
  font-size:1.05rem;
  opacity:0;
  transform:translateY(5px);
  transition:.25s ease
}
.portfolio-editorial-card:hover .portfolio-open-icon{opacity:1;transform:none}
.portfolio-editorial-caption{padding:18px 4px 0}
.portfolio-editorial-meta{
  color:var(--green-dark);
  font-size:.68rem;
  font-weight:850;
  letter-spacing:.1em;
  text-transform:uppercase
}
.portfolio-editorial-meta span{opacity:.45;padding:0 5px}
.portfolio-editorial-caption h2{
  margin:8px 0 8px;
  font-size:clamp(1.65rem,2.4vw,2.8rem);
  line-height:.98;
  letter-spacing:-.045em;
  font-weight:560;
  color:#101b12
}
.portfolio-layout-0 .portfolio-editorial-caption h2,
.portfolio-layout-5 .portfolio-editorial-caption h2{font-size:clamp(2rem,3vw,3.6rem)}
.portfolio-editorial-caption p{
  margin:0;
  max-width:680px;
  color:#647061;
  font-size:.91rem;
  line-height:1.58;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden
}
.projects-editorial-cta{
  margin-top:92px;
  padding:34px 36px;
  border-radius:28px;
  background:linear-gradient(135deg,#12271a,#21442c);
  color:#fff;
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:40px;
  box-shadow:0 24px 70px rgba(18,39,26,.12)
}
.projects-editorial-cta h2{
  margin:10px 0 8px;
  font-size:clamp(2rem,3.8vw,4rem);
  line-height:.98;
  letter-spacing:-.045em
}
.projects-editorial-cta p{margin:0;color:#c6d4c2;max-width:710px}
.projects-editorial-cta .kicker{color:#a9d37d}

.portfolio-modal[hidden]{display:none}
.portfolio-modal{
  position:fixed;
  inset:0;
  z-index:1000;
  display:grid;
  place-items:center;
  padding:28px
}
.portfolio-modal-backdrop{
  position:absolute;
  inset:0;
  border:0;
  background:rgba(8,16,10,.72);
  backdrop-filter:blur(16px);
  cursor:zoom-out
}
.portfolio-modal-panel{
  position:relative;
  z-index:1;
  width:min(1180px,96vw);
  max-height:92vh;
  overflow:auto;
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);
  background:#f8f9f5;
  border-radius:28px;
  box-shadow:0 45px 120px rgba(0,0,0,.36)
}
.portfolio-modal-image{min-height:640px;background:#dfe6d9}
.portfolio-modal-image img{width:100%;height:100%;display:block;object-fit:cover}
.portfolio-modal-copy{
  padding:56px 44px 42px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center
}
.portfolio-modal-meta{
  color:var(--green-dark);
  font-size:.7rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.11em
}
.portfolio-modal-copy h2{
  font-size:clamp(2.5rem,4.4vw,5rem);
  line-height:.92;
  letter-spacing:-.055em;
  margin:18px 0 22px;
  font-weight:560
}
.portfolio-modal-copy p{
  color:#5d695a;
  font-size:1rem;
  line-height:1.7;
  margin:0 0 30px
}
.portfolio-modal-close{
  position:absolute;
  z-index:3;
  top:18px;
  right:18px;
  width:44px;
  height:44px;
  border-radius:50%;
  border:1px solid rgba(20,45,28,.16);
  background:rgba(248,249,245,.92);
  color:#173b25;
  font-size:1.7rem;
  cursor:pointer;
  display:grid;
  place-items:center
}
body.portfolio-modal-open{overflow:hidden}

@media(max-width:1000px){
  .projects-editorial-hero-grid{grid-template-columns:1fr;gap:34px}
  .projects-editorial-intro{border-left:0;border-top:1px solid rgba(45,93,55,.2);padding:24px 0 0}
  .portfolio-layout-0,.portfolio-layout-3,.portfolio-layout-5{grid-column:span 7}
  .portfolio-layout-1,.portfolio-layout-2,.portfolio-layout-4{grid-column:span 5}
  .portfolio-modal-panel{grid-template-columns:1fr}
  .portfolio-modal-image{min-height:52vh;max-height:58vh}
  .portfolio-modal-copy{padding:34px}
}
@media(max-width:700px){
  .projects-editorial-hero{padding:135px 0 58px}
  .projects-editorial-section{padding-top:16px}
  .projects-toolbar{top:69px;align-items:flex-start;flex-direction:column}
  .projects-visible-count{display:none}
  .portfolio-editorial-grid{grid-template-columns:1fr;gap:42px}
  .portfolio-layout-0,.portfolio-layout-1,.portfolio-layout-2,.portfolio-layout-3,.portfolio-layout-4,.portfolio-layout-5{grid-column:1}
  .portfolio-editorial-media{aspect-ratio:4/3!important;border-radius:20px}
  .portfolio-editorial-caption h2,
  .portfolio-layout-0 .portfolio-editorial-caption h2,
  .portfolio-layout-5 .portfolio-editorial-caption h2{font-size:2rem}
  .projects-editorial-cta{align-items:flex-start;flex-direction:column;padding:28px}
  .portfolio-modal{padding:12px}
  .portfolio-modal-panel{border-radius:22px}
  .portfolio-modal-image{min-height:42vh}
  .portfolio-modal-copy{padding:28px 24px 30px}
}

/* v10 SEO content pages */
.service-home-card{display:block;text-decoration:none;color:inherit}.service-home-card>span{display:inline-block;margin-top:18px;color:#b6dc7f;font-weight:800;font-size:.78rem;letter-spacing:.04em}.service-index-hero{background:linear-gradient(135deg,#f5f7f0,#e8eee2)}
.service-index-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.service-index-card{grid-column:span 4;min-height:340px;padding:30px;border-radius:24px;background:#fff;border:1px solid var(--line);text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:.25s ease}.service-index-card:hover{transform:translateY(-4px);box-shadow:0 22px 60px rgba(27,54,33,.1);border-color:rgba(71,117,77,.35)}.service-index-card>span{font-size:.68rem;color:var(--green-dark);font-weight:900;letter-spacing:.1em}.service-index-card h2{font-size:clamp(1.8rem,2.4vw,2.8rem);line-height:1;letter-spacing:-.045em;margin:22px 0 16px}.service-index-card p{color:var(--muted);line-height:1.65;flex:1}.service-index-card strong{margin-top:24px;color:var(--green-dark)}
.service-detail-hero{padding:170px 0 82px;background:linear-gradient(135deg,#f6f7f2,#e6ece0)}.service-detail-hero h1{font-size:clamp(3.3rem,7vw,7.7rem);line-height:.86;letter-spacing:-.065em;margin:18px 0 28px;max-width:1100px}.service-detail-hero h1 em{font-style:normal;color:var(--green-dark)}.service-detail-hero>div>p{font-size:1.22rem;line-height:1.65;color:#536052;max-width:850px}.service-detail-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:22px;overflow:hidden}.service-detail-facts>div{background:#fff;padding:28px}.service-detail-facts span{display:block;color:var(--green-dark);font-size:.67rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;margin-bottom:10px}.service-detail-facts strong{font-size:1rem;line-height:1.55}.service-stage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service-stage{padding:26px;border:1px solid var(--line);border-radius:20px;background:#fff}.service-stage>span{font-size:.66rem;color:var(--green-dark);font-weight:900;letter-spacing:.09em}.service-stage h3{font-size:1.45rem;line-height:1.08;margin:12px 0}.service-stage p{color:var(--muted);line-height:1.58}.service-stage small{display:block;margin-top:18px;padding-top:14px;border-top:1px solid var(--line);color:#26372a;font-weight:800}
.seo-breadcrumb{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:28px;color:#6b7568;font-size:.78rem}.seo-breadcrumb a{color:#36573b;text-decoration:none}.project-detail-hero{padding:160px 0 62px;background:linear-gradient(135deg,#f5f7f0,#e8eee2)}.project-detail-meta{font-size:.72rem;color:var(--green-dark);font-weight:900;letter-spacing:.1em;text-transform:uppercase}.project-detail-hero h1{font-size:clamp(4rem,9vw,9rem);line-height:.82;letter-spacing:-.07em;margin:18px 0 28px}.project-detail-hero p{max-width:800px;color:#526050;font-size:1.15rem;line-height:1.65}.project-detail-media{background:#f7f8f3;padding:0 0 20px}.project-detail-media img{width:100%;max-height:78vh;object-fit:cover;display:block;border-radius:28px}.project-detail-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:80px;align-items:start}.project-facts{display:grid;border:1px solid var(--line);border-radius:20px;overflow:hidden}.project-facts div{padding:20px 22px;border-bottom:1px solid var(--line)}.project-facts div:last-child{border-bottom:0}.project-facts span{display:block;font-size:.65rem;color:var(--green-dark);font-weight:900;letter-spacing:.09em;text-transform:uppercase;margin-bottom:7px}.related-projects{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.related-project{text-decoration:none;color:inherit}.related-project img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px;display:block;margin-bottom:14px}.related-project span{font-size:.65rem;color:var(--green-dark);font-weight:900;letter-spacing:.08em;text-transform:uppercase}.related-project strong{display:block;font-size:1.3rem;margin-top:5px}.seo-prerender{padding:150px 0 80px;background:#f6f7f2}.seo-prerender h1{font-size:clamp(3rem,7vw,7rem);line-height:.88;letter-spacing:-.06em;margin:18px 0}.seo-prerender p{max-width:850px;font-size:1.1rem;line-height:1.65;color:#536052}.sr-only-seo{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){.service-index-card{grid-column:span 6}.service-detail-facts,.service-stage-grid,.related-projects{grid-template-columns:1fr 1fr}.project-detail-grid{grid-template-columns:1fr;gap:36px}}
@media(max-width:620px){.service-index-card{grid-column:1/-1;min-height:auto}.service-detail-facts,.service-stage-grid,.related-projects{grid-template-columns:1fr}.service-detail-hero,.project-detail-hero{padding-top:130px}.project-detail-media img{border-radius:18px}.project-detail-grid{gap:26px}}
.seo-static-links{display:flex;gap:10px;flex-wrap:wrap;list-style:none;padding:0;margin:28px 0}.seo-static-links a{display:inline-block;padding:10px 14px;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:#23422a;background:#fff;font-weight:750}.seo-static-list{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:34px}.seo-static-list article{padding:24px;border-radius:18px;background:#fff;border:1px solid var(--line)}.seo-static-list h2{margin:0 0 8px;font-size:1.45rem}.seo-static-list h2 a{color:inherit;text-decoration:none}.seo-static-list p{font-size:.95rem!important;margin:6px 0!important}@media(max-width:700px){.seo-static-list{grid-template-columns:1fr}}


/* v10.1 footer credentials */
.footer .footer-grid{align-items:start}
.footer-company-meta p{margin:.35rem 0;color:#cfd7cf}
.footer-company-links{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;color:#e7ece6;font-size:.95rem}
.footer-company-links a,.footer-company-links span{color:inherit;text-decoration:none}
.footer-company-links .sep{opacity:.35}
.footer-credentials{margin-top:34px;padding:20px 22px;border:1px solid rgba(255,255,255,.08);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.015));display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.footer-credentials-copy p{margin:.4rem 0 0;color:#b7c2b5;max-width:560px}
.footer-credentials-logos{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.footer-credentials-logo{display:flex;align-items:center;justify-content:center;padding:14px 18px;border-radius:18px;background:rgba(255,255,255,.965);border:1px solid rgba(255,255,255,.16);box-shadow:0 10px 30px rgba(0,0,0,.14)}
.footer-credentials-logo img{display:block;max-width:220px;max-height:76px;width:auto;height:auto;object-fit:contain}
.footer-credentials-logo.logo-bizsafe img{max-height:62px}
.footer-credentials-logo.logo-bca img{max-height:84px}
@media(max-width:700px){
  .footer-company-links{font-size:.88rem;gap:.4rem}
  .footer-credentials{padding:18px}
  .footer-credentials-logo{width:100%}
  .footer-credentials-logo img{max-width:100%;height:auto}
}


/* v10.2 credentials trust section */
.footer-credentials-logo{color:inherit;text-decoration:none}
.footer-credentials-logo.is-linked{cursor:pointer;transition:transform .22s ease,box-shadow .22s ease}
.footer-credentials-logo.is-linked:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgba(0,0,0,.2)}
.credentials-contact-section{padding-top:0}
.credentials-contact-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:center;padding:34px 36px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(135deg,#f7f9f3,#edf3e8);box-shadow:0 18px 55px rgba(24,45,29,.06)}
.credentials-contact-copy .h2{margin:12px 0 12px}
.credentials-contact-copy .lede{max-width:760px;margin:0}
.credentials-contact-logos{display:flex;gap:18px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.credentials-contact-logo{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid rgba(33,66,41,.1);border-radius:18px;padding:15px 18px;min-width:210px;min-height:96px;text-decoration:none;box-shadow:0 12px 32px rgba(28,50,33,.06)}
.credentials-contact-logo.is-linked{transition:transform .22s ease,box-shadow .22s ease}
.credentials-contact-logo.is-linked:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(28,50,33,.12)}
.credentials-contact-logo img{display:block;max-width:210px;max-height:76px;width:auto;height:auto;object-fit:contain}
@media(max-width:850px){.credentials-contact-card{grid-template-columns:1fr}.credentials-contact-logos{justify-content:flex-start}}
@media(max-width:560px){.credentials-contact-card{padding:26px 22px}.credentials-contact-logo{width:100%;min-width:0}}
