@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#11283a;--muted:#586973;--paper:#fafbf8;--sage:#d5e6cf;--line:#dbe2df;--soft:#eff3ee;--white:#fff;--accent:#43715d;--max:1320px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #668c74;outline-offset:5px}::selection{background:var(--sage);color:var(--ink)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:500;line-height:1.15;letter-spacing:-.045em}h2{font-size:clamp(36px,4.2vw,62px);margin-bottom:30px}h3{font-size:24px;letter-spacing:-.025em}p{margin-bottom:20px}.wrap{width:min(var(--max),calc(100% - 100px));margin:auto}.section{padding:110px 0}.eyebrow{font-size:11px;line-height:1.4;letter-spacing:.14em;font-weight:700;text-transform:uppercase;margin-bottom:30px}.section-top{display:grid;grid-template-columns:1fr 2fr;gap:70px;margin-bottom:55px}.section-top h2{max-width:800px}.lead{font-size:21px;line-height:1.6;letter-spacing:-.02em}.muted{color:var(--muted)}.section-intro{max-width:780px}.arrow{display:inline-block;font-size:22px;line-height:1;flex:none}.skip{position:fixed;top:-100px;left:12px;z-index:1000;background:white;padding:12px}.skip:focus{top:12px}
header{position:sticky;top:0;z-index:50;background:rgba(250,251,248,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.header-inner{height:90px;display:flex;align-items:center;gap:35px}.brand{display:flex;flex-direction:column;line-height:1}.brand-name{font-size:28px;font-weight:800;letter-spacing:-1.5px}.brand-sub{font-size:9px;letter-spacing:.32em;margin-top:7px}.main-nav{display:flex;gap:23px;margin-left:auto;align-items:center}.main-nav a{font-size:12px;font-weight:600;transition:color .2s}.main-nav a:hover{color:var(--accent)}.lang-switch{display:flex;gap:12px;border-left:1px solid var(--line);padding-left:22px}.lang-switch button{border:0;background:none;padding:4px 0;font-size:11px;opacity:.45}.lang-switch button[aria-pressed=true]{opacity:1;border-bottom:1px solid var(--ink)}.menu-toggle{display:none;background:none;border:0;padding:10px;font-size:13px}
.hero{position:relative;min-height:730px;background:var(--ink);color:white;display:flex;align-items:center;overflow:hidden}.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 50%}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,23,36,.93) 0%,rgba(5,23,36,.77) 42%,rgba(5,23,36,.1) 100%)}.hero-inner{position:relative;z-index:1;padding-top:70px;padding-bottom:110px}.hero .eyebrow{color:var(--sage);margin-bottom:28px}.hero h1{font-size:clamp(42px,4.65vw,70px);max-width:880px;margin-bottom:26px;line-height:1.08}.hero h1 span{color:var(--sage)}.hero p{max-width:650px;color:#e0e7e8;font-size:16px;line-height:1.8}.hero-ctas{display:flex;gap:13px;flex-wrap:wrap;margin-top:35px}.btn{border:1px solid var(--ink);background:var(--ink);color:#fff;display:inline-flex;gap:22px;justify-content:space-between;align-items:center;padding:16px 22px;font-size:12px;font-weight:600;line-height:1.5;transition:background .2s,color .2s;min-height:54px}.btn:hover{background:#25445a}.btn-sage{background:var(--sage);border-color:var(--sage);color:var(--ink)}.btn-sage:hover{background:#e6f0e2}.btn-ghost{border-color:#b7c7cb;background:transparent;color:white}.btn-ghost:hover{background:#ffffff15}.hero-foot{position:absolute;z-index:2;bottom:25px;left:0;right:0;display:flex;justify-content:space-between;color:#d6e0e1;font-size:11px;letter-spacing:.03em}.hero-foot a{display:flex;gap:14px;align-items:center}.hero-caption{display:flex;gap:8px;align-items:center}.dot{height:5px;width:5px;border-radius:50%;background:var(--sage);display:inline-block}
.about-main{display:grid;grid-template-columns:1fr 2fr;gap:70px}.about-main h2{max-width:350px}.about-copy .lead{font-size:27px;line-height:1.5;margin-bottom:30px}.about-paragraphs{display:grid;grid-template-columns:1fr 1fr;gap:35px;color:var(--muted);font-size:14px}.team-pillars{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin-top:35px}.team-pillar{padding:30px 30px 0 0}.team-pillar+ .team-pillar{padding-left:30px;border-left:1px solid var(--line)}.team-pillar h3{font-size:20px}.team-pillar p{font-size:13px;color:var(--muted);margin-bottom:0}.pillar-label{color:var(--accent);display:block;font-size:10px;letter-spacing:.1em;margin-bottom:12px}
.expertise{background:var(--soft)}.expertise-layout{display:grid;grid-template-columns:1fr 2fr;gap:70px}.expertise-aside{align-self:start;position:sticky;top:140px}.expertise-aside h2{font-size:clamp(34px,3.3vw,50px)}.expertise-aside p{color:var(--muted);font-size:15px}.service{border-top:1px solid #cbd5cd}.service:last-child{border-bottom:1px solid #cbd5cd}.service summary{list-style:none;display:grid;grid-template-columns:35px 1fr 26px;gap:15px;align-items:start;padding:25px 0;cursor:pointer}.service summary::-webkit-details-marker{display:none}.service-num{font-size:10px;padding-top:6px;color:var(--accent)}.service h3{font-size:21px;margin:0;line-height:1.35;letter-spacing:-.025em}.service-plus{font-size:25px;line-height:1.2;text-align:center;font-weight:400;transition:transform .2s}.service[open] .service-plus{transform:rotate(45deg)}.service-body{margin:0 40px 25px 50px;color:var(--muted);font-size:14px;max-width:650px}.expertise-foot{padding:25px 0 0 50px;font-size:14px;color:var(--ink);max-width:700px}
.benefits{display:grid;grid-template-columns:1fr 1fr;gap:25px 70px}.benefit{padding:28px 0;border-top:1px solid var(--line)}.benefit .eyebrow{margin-bottom:20px;color:var(--accent)}.benefit h3{max-width:400px}.benefit p{font-size:15px;color:var(--muted);max-width:520px;margin:0}.city-note{margin-top:45px;padding:35px 40px;background:var(--sage);display:grid;grid-template-columns:1fr 1fr;gap:70px}.city-note strong{font-size:24px;line-height:1.4;font-weight:500;letter-spacing:-.02em}.city-note p{font-size:14px;margin:0;align-self:center}
.process{background:var(--ink);color:#fff}.process .eyebrow{color:var(--sage)}.process .section-top h2{max-width:720px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px 45px}.step{border-top:1px solid #ffffff30;padding-top:22px}.step-num{display:block;color:var(--sage);font-size:42px;letter-spacing:-.05em;font-weight:400;margin-bottom:25px}.step h3{font-size:21px;line-height:1.35;min-height:57px;margin-bottom:18px}.step p{font-size:13px;line-height:1.8;color:#b9c8ce;margin:0}.process-note{border-top:1px solid #ffffff30;margin-top:50px;padding-top:25px;color:#c4d2d7;font-size:13px;max-width:900px}
.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.project{background:white;border:1px solid var(--line);display:flex;flex-direction:column}.project-visual{height:215px;position:relative;background:#e6ece7;display:flex;flex-direction:column;justify-content:center;padding:30px;overflow:hidden}.project:nth-child(2) .project-visual{background:#d7e3e7}.project:nth-child(3) .project-visual{background:var(--ink);color:var(--sage)}.project-number{font-size:68px;letter-spacing:-.07em;line-height:1.1;font-weight:500}.project-unit{font-size:11px;margin-top:10px;max-width:230px;line-height:1.5}.project-visual:after{content:'';position:absolute;right:25px;top:25px;width:70px;height:70px;border:1px solid currentColor;border-radius:50%;opacity:.13}.project-body{padding:28px;display:flex;flex-direction:column;flex:1}.project-type{font-size:9px;letter-spacing:.08em;line-height:1.5;color:var(--muted);min-height:28px}.project h3{font-size:23px;line-height:1.3;margin:12px 0 20px}.project p{font-size:13px;color:var(--muted)}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;background:none;border:0;border-bottom:1px solid var(--ink);padding:8px 0;font-size:12px;font-weight:600;align-self:start}.project .text-link{margin-top:auto}.project-year{font-size:11px;color:var(--accent);margin-bottom:10px}.project-note{color:var(--muted);font-size:12px;margin-top:25px}
.team{background:var(--soft)}.founder{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;margin-top:45px;align-items:center}.founder-photo{width:100%;height:520px;object-fit:cover;object-position:50% 32%;display:block}.founder-text h3{font-size:40px;margin-bottom:15px}.founder-role{font-size:13px;color:var(--accent);max-width:450px;margin-bottom:25px;font-weight:600}.founder-text p{font-size:15px;color:var(--muted)}.founder-text .text-link{margin-top:10px}.demo-intro{font-size:12px;color:var(--muted);margin:50px 0 24px;max-width:650px}.demo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.demo-member{border-top:1px solid #cbd5cd;padding-top:20px}.demo-avatar{font-size:25px;color:#6f8278;border-bottom:1px solid #cbd5cd;padding-bottom:30px;margin-bottom:20px;letter-spacing:-.03em}.demo-member small{font-size:9px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.demo-member h3{font-size:20px;margin:15px 0 12px}.demo-role{font-size:13px;line-height:1.5;font-weight:600;min-height:59px}.demo-description{font-size:12px;color:var(--muted);line-height:1.7}.demo-member .text-link{font-size:10px;margin-top:10px}
.contact-section{background:var(--sage)}.contact-section .section-top{margin-bottom:30px}.contact-columns{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact-column{border-top:1px solid #a3baa5;padding-top:30px}.contact-column h3{font-size:27px}.contact-column p{font-size:15px;max-width:470px}.contact-column .btn{margin-top:10px}.direct-contact{border-top:1px solid #a3baa5;margin-top:55px;padding-top:30px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.direct-contact a{font-size:clamp(18px,2.2vw,32px);letter-spacing:-.04em}.direct-contact a:hover{text-decoration:underline}footer{background:var(--ink);color:#ced8dd;padding:50px 0 25px}.footer-top{display:flex;justify-content:space-between;gap:50px}.footer-legal{font-size:12px;max-width:520px}.footer-legal p{margin-bottom:8px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff20;margin-top:35px;padding-top:22px;font-size:10px;color:#96aab3}.footer-brand{color:#fff}.draft-label{color:#d5e6cf}
dialog{border:0;padding:55px;width:min(780px,calc(100% - 30px));max-height:calc(100dvh - 50px);background:var(--paper);color:var(--ink);box-shadow:0 25px 100px #0004}dialog::backdrop{background:#081d2ace;backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:18px;top:12px;border:0;background:none;font-size:32px;width:40px;height:40px;line-height:1}.dialog-close:hover{background:var(--soft)}dialog h2{font-size:36px;margin-top:10px}dialog h3{font-size:18px;margin-top:30px}dialog p{font-size:14px;color:var(--muted)}.dialog-kicker{font-size:11px;color:var(--accent);letter-spacing:.1em}.dialog-note{background:var(--soft);padding:18px;font-size:12px!important}.timeline-item{border-top:1px solid var(--line);margin-top:25px}.modal-portrait{width:130px;height:150px;object-fit:cover;object-position:center 25%;margin-bottom:15px}.form-note{font-size:12px!important;background:var(--soft);padding:17px;margin:20px 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:12px;margin-bottom:7px}input,textarea{width:100%;padding:13px;border:1px solid #bfcfc5;border-radius:0;background:#fff;color:var(--ink);font-size:14px}textarea{resize:vertical;min-height:110px}.form-field-wide{grid-column:1/-1}.form-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:22px}.alternative-contact{font-size:12px;margin-top:25px;display:flex;flex-wrap:wrap;gap:20px}.alternative-contact a{text-decoration:underline}.form-status{margin-top:20px;font-size:13px!important}.email-preview{width:100%;white-space:pre-wrap;border-top:1px solid var(--line);padding-top:20px;margin-top:20px;font:12px/1.7 Manrope,Arial,sans-serif;color:var(--muted)}[hidden]{display:none!important}
@media(min-width:1600px){.hero{min-height:800px}.hero h1{font-size:78px;max-width:1000px}}
@media(max-width:1150px){.wrap{width:calc(100% - 64px)}.main-nav{gap:15px}.main-nav a{font-size:10px}.header-inner{gap:22px}.section-top,.about-main,.expertise-layout{gap:40px;grid-template-columns:1fr 1.8fr}.hero{min-height:700px}.hero h1{font-size:58px;max-width:780px}.hero p{max-width:610px}.project-body{padding:22px}.project h3{font-size:20px}.founder{gap:45px}.demo-grid{gap:20px}.demo-role{min-height:78px}}
@media(max-width:900px){.main-nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--paper);padding:25px 32px;flex-direction:column;align-items:start;gap:22px;border-bottom:1px solid var(--line)}.main-nav.open{display:flex}.main-nav a{font-size:16px}.menu-toggle{display:block;margin-left:auto}.header-inner{height:78px}.lang-switch{border:0;padding:0}.hero{min-height:700px}.hero h1{font-size:54px;max-width:700px}.hero p{max-width:590px}.section{padding:80px 0}.section-top,.about-main,.expertise-layout{display:block}.section-top .eyebrow{margin-bottom:25px}.about-main h2{max-width:650px}.about-copy .lead{font-size:25px}.expertise-aside{position:static;margin-bottom:35px;max-width:650px}.expertise-aside h2{font-size:44px}.benefits{gap:15px 40px}.city-note{gap:30px}.steps{grid-template-columns:1fr 1fr;gap:35px}.project-visual{height:170px;padding:22px}.project-number{font-size:52px}.project h3{font-size:18px}.project-body{padding:18px}.project-type{font-size:8px}.project .text-link{font-size:10px}.founder{gap:35px;grid-template-columns:1fr 1.2fr}.founder-photo{height:450px}.founder-text h3{font-size:32px}.demo-grid{grid-template-columns:1fr 1fr;gap:35px}.demo-role{min-height:0}.demo-avatar{padding-bottom:15px}.contact-columns{gap:40px}.contact-column .btn{font-size:11px}.direct-contact a{font-size:22px}}
@media(max-width:600px){.wrap{width:calc(100% - 40px)}.header-inner{height:72px;gap:16px}.brand-name{font-size:25px}.brand-sub{font-size:8px}.main-nav{top:72px}.menu-toggle{font-size:11px;padding:8px 0}.lang-switch{gap:10px}.hero{min-height:755px;align-items:start}.hero-inner{padding-top:55px;padding-bottom:100px}.hero h1{font-size:41px;line-height:1.13;max-width:100%;letter-spacing:-.045em}.hero .eyebrow{font-size:9px;letter-spacing:.1em;margin-bottom:25px}.hero p{font-size:14px;line-height:1.8}.hero-ctas{flex-direction:column;gap:12px;margin-top:28px;align-items:stretch}.hero-ctas .btn{font-size:11px;padding:15px 16px;gap:10px;min-height:53px}.hero:after{background:linear-gradient(90deg,#071b2bec,#071b2ba8)}.hero-img{object-position:65% center}.hero-foot{bottom:22px;font-size:9px}.hero-foot .arrow{font-size:17px}.section{padding:65px 0}.eyebrow{font-size:10px;margin-bottom:22px}h2{font-size:36px;line-height:1.14}.lead{font-size:17px}.section-top{margin-bottom:35px}.about-copy .lead{font-size:22px}.about-paragraphs{grid-template-columns:1fr;gap:0;font-size:14px}.team-pillars{grid-template-columns:1fr;margin-top:20px}.team-pillar{padding:24px 0}.team-pillar+.team-pillar{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}.team-pillar p{font-size:14px}.expertise-aside h2{font-size:36px}.service summary{grid-template-columns:23px 1fr 22px;gap:10px;padding:22px 0}.service h3{font-size:18px}.service-body{margin-left:33px;margin-right:15px;font-size:14px}.expertise-foot{padding-left:0;font-size:13px}.benefits{grid-template-columns:1fr;gap:0}.benefit{padding:25px 0}.benefit h3{font-size:23px}.benefit .eyebrow{margin-bottom:15px}.city-note{grid-template-columns:1fr;gap:18px;padding:25px;margin-top:20px}.city-note strong{font-size:22px}.steps{grid-template-columns:1fr;gap:30px}.step{position:relative;padding-left:55px;padding-top:24px}.step-num{font-size:29px;position:absolute;left:0;top:16px}.step h3{min-height:0;font-size:21px}.step p{font-size:14px}.process-note{font-size:12px;margin-top:30px}.projects{grid-template-columns:1fr;gap:25px}.project-visual{height:180px;padding:25px}.project-number{font-size:64px}.project-body{padding:25px}.project h3{font-size:24px}.project-type{font-size:9px;min-height:0}.project p{font-size:14px}.project .text-link{font-size:12px;margin-top:15px}.founder{grid-template-columns:1fr;gap:30px;margin-top:30px}.founder-photo{height:430px}.founder-text h3{font-size:34px}.demo-grid{gap:25px 20px}.demo-member h3{font-size:18px;line-height:1.25}.demo-member small{font-size:8px}.demo-role{font-size:12px}.demo-description{font-size:12px}.demo-intro{margin-top:35px}.contact-columns{grid-template-columns:1fr;gap:40px}.contact-column .btn{font-size:11px;padding:16px;width:100%}.direct-contact{margin-top:35px;gap:20px}.direct-contact a{font-size:23px}.footer-top{flex-direction:column;gap:30px}.footer-bottom{flex-direction:column;gap:12px}dialog{padding:45px 23px 28px;max-height:calc(100dvh - 24px);width:calc(100% - 24px)}dialog h2{font-size:29px}.form-grid{grid-template-columns:1fr;gap:14px}.form-actions .btn{width:100%}.form-note{font-size:11px!important}.section-intro{font-size:16px}}
/* Image layout: preserve supplied portraits and keep all case assets local. */
.project-photo-button{display:block;padding:0;border:0;background:var(--soft);width:100%;overflow:hidden;aspect-ratio:3/2}
.project-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .25s}
.project-photo-button:hover .project-photo{transform:scale(1.025)}
.project-measure{font-size:12px!important;color:var(--ink)!important;line-height:1.5}
.project-measure strong{font-size:24px;font-weight:500;margin-right:5px}
.case-detail-photo{display:block;width:100%;height:auto;object-fit:contain;margin-bottom:6px}
.photo-credit{font-size:10px!important;text-align:right;margin:0 0 25px;color:var(--muted)}
.photo-credit a{text-decoration:underline;text-underline-offset:3px}
.founder-photo{width:100%;max-width:470px;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center;justify-self:center}
.modal-portrait{width:160px;max-width:100%;height:auto;max-height:none;object-fit:contain;object-position:center}
.demo-grid{margin-top:55px}
.demo-member{border-top:0;padding-top:0}
.team-photo-button{display:block;border:0;padding:0;background:#e2e6e2;width:100%;aspect-ratio:4/5;overflow:hidden;margin-bottom:22px}
.team-photo{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.team-modal-portrait{width:210px}
@media(max-width:600px){.demo-grid{margin-top:35px}.team-photo-button{margin-bottom:16px}.founder-photo{max-width:100%}.project-photo-button{aspect-ratio:3/2}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
