/* Larger reading scale, clear wayfinding and a consistent vector icon system. */
body{font-size:17px;-webkit-font-smoothing:antialiased}
.ui-icon{display:inline-block;width:24px;height:24px;vertical-align:middle;flex-shrink:0}
.preview{font-size:12px;letter-spacing:.9px;padding-top:12px;padding-bottom:12px}
header{height:124px;gap:26px;background:#f8f9f3}
.brand>span{font-size:21px}.brand small{font-size:10px;letter-spacing:1.3px}.brand svg{width:53px;height:53px}
nav{font-size:16px;gap:26px;font-weight:500}.header-right{gap:24px}
.language-control{display:flex;align-items:center;gap:3px;border-bottom:1px solid #aaba9c;padding:4px 0}
.language-control>.ui-icon{width:19px;height:19px}.language-control select{font-size:15px;min-height:44px;padding:8px 3px;max-width:115px}
.header-apply{font-size:14px;display:flex;align-items:center;gap:13px;min-height:44px}.header-apply:after{display:none}.header-apply .ui-icon{width:19px}
.hero{min-height:720px}.hero-copy{padding-top:56px;padding-bottom:30px}.eyebrow{font-size:12px;letter-spacing:1px;line-height:1.7}
h1{font-size:clamp(74px,7.4vw,118px);line-height:.97;margin-top:30px}.intro{font-size:18px;line-height:1.75;max-width:440px;color:#4a6355}
.hero-apply{font-size:16px;min-height:60px;padding:17px 24px;margin-top:28px}.hero-apply .ui-icon{width:27px;height:27px}
.hero-foot{font-size:11px;letter-spacing:.7px;line-height:1.6;margin-top:35px}.hero-foot a{padding:8px}
.hero-art{background:#2a5143}.art-label{font-size:12px;padding:27px}.building{max-height:510px}
.art-note p{font-size:15px;line-height:1.7;max-width:260px}.art-seal{font-size:12px;width:87px;height:87px}.art-caption{font-size:11px;line-height:1.5;padding-bottom:16px}
.manifest-strip{font-size:14px;letter-spacing:.8px;align-items:center;padding-top:26px;padding-bottom:26px}.manifest-strip i{font-size:22px}
.section-index{font-size:13px;letter-spacing:1px;margin-bottom:22px}h2{font-size:clamp(45px,4.6vw,70px);line-height:1.08}
.vision{grid-template-columns:1fr 3fr;gap:35px;padding-top:100px;padding-bottom:100px}.vision-columns{gap:35px}
.vision-columns p,.section-top>p{font-size:17px;line-height:1.85;color:#4a6355}.section-top>p{max-width:365px}.founder{font-size:14px;line-height:1.7;max-width:630px}.founder-icon{width:50px;height:50px;flex-shrink:0}
.trades{background:#edf0e5}.trade-row{grid-template-columns:65px 1.2fr 1fr 145px 30px;gap:21px;padding:29px 12px;transition:background .2s}.trade-row:hover{background:#e2e9d5}.trade-number{display:grid;place-items:center;width:56px;height:56px;background:#dfe7d1;border:1px solid #c3d0b5;border-radius:12px}.trade-number .ui-icon{width:29px;height:29px}.trade-row h3{font-size:36px}.trade-row p{font-size:15px;line-height:1.7}.trade-state{font-size:12px;padding:8px 10px;border-radius:4px}.trade-arrow{display:flex}.trade-row:first-child .trade-number{background:var(--ink);color:var(--lime);border-color:var(--ink)}
.projects{padding-top:90px;padding-bottom:80px;background:#e0e7d6}.project-layout{grid-template-columns:1.35fr 1fr;gap:40px}.comparison{height:440px;border:1px solid #b9c9a9}.scene-label{font-size:12px;padding:9px 12px}.compare-caption{font-size:12px;line-height:1.6;right:15px;width:fit-content}.compare-line span{width:48px;height:48px;left:-23px}.project-tag{font-size:12px;line-height:1.7;letter-spacing:.8px}.project-info h3{font-size:47px;line-height:1.09}.project-info>p{font-size:16px;line-height:1.8;color:#4a6355}.skill-tags span{font-size:12px;padding:8px 10px;background:#eef2e7}.project-meta{font-size:11px;line-height:1.7;gap:16px}.project-buttons>button:not(.gallery-button){width:46px;height:46px;background:#f4f5ef90}.gallery-button{font-size:14px;line-height:1.6;padding:5px}.upload-note{padding-top:25px;gap:20px}.upload-note>span{display:flex}.upload-note p{font-size:14px;line-height:1.8}.upload-button{font-size:14px;min-height:44px;display:flex;align-items:center}.photo-gallery img{width:160px;height:115px;border-radius:4px}
.country-grid{gap:24px}.country-grid article,.country-grid article:first-child{border:1px solid var(--line);padding:28px;background:#f9faf5;box-shadow:0 5px 0 #e2e8d9}.country-grid article:last-child{border-right:1px solid var(--line)}.country-grid article:first-child{border-top:4px solid #64844a;padding-top:25px}.country-top{font-size:14px;align-items:center;font-weight:600}.flag{display:inline-flex;width:auto;height:32px;border-radius:2px;overflow:hidden;box-shadow:0 0 0 1px #173e3518;background:none;line-height:normal}.flag svg{height:32px;width:auto;display:block}.country-grid h3{font-size:43px}.country-grid p{font-size:16px;line-height:1.8;min-height:116px;max-width:none}.country-state{font-size:11px;letter-spacing:.5px;line-height:1.7}
.partners{gap:34px;padding-top:35px;padding-bottom:35px}.partners>span{font-size:12px;max-width:170px}.partner-mark{color:#52694e}.partner-mark>span{display:flex}.partner-mark .ui-icon{width:36px;height:36px}.partner-mark strong{font-size:12px;max-width:165px;letter-spacing:.7px}.partners small{font-size:12px;max-width:220px}
.closing{padding-top:72px;padding-bottom:72px}.closing>div>span{font-size:13px}.closing h2{font-size:70px}.closing-apply{font-size:16px;width:195px;height:195px}.closing-apply .ui-icon{width:34px;height:34px}footer{padding-top:40px;padding-bottom:40px}.footer-brand{font-size:15px}.footer-brand span{font-size:12px}footer p{font-size:12px;max-width:400px}footer>span{font-size:12px}
dialog{width:min(720px,calc(100% - 32px));padding:48px}.close-dialog{display:grid;place-items:center;width:44px;height:44px;top:8px;right:8px}.form-eyebrow{font-size:12px}dialog h2{font-size:48px}dialog>p{font-size:16px;line-height:1.8}.form-grid label>span{font-size:14px}.form-grid input,.form-grid select{font-size:17px;padding:13px;min-height:50px}.consent{font-size:14px;line-height:1.8}.consent input{width:18px;height:18px;flex-shrink:0}.submit-application{font-size:16px;min-height:52px}#form-success h3{font-size:38px}#form-success p,.sample-gallery-item p{font-size:16px}.sample-gallery-item h3{font-size:35px}
@media(max-width:1150px){header{flex-wrap:wrap;height:auto;min-height:132px;padding-top:20px;padding-bottom:15px;gap:15px}nav{order:3;width:100%;justify-content:center;border-top:1px solid var(--line);padding-top:5px;gap:35px}.hero{min-height:690px}.hero-copy{padding-left:7%;padding-right:7%}.hero-art .art-seal{display:none}.hero-art .art-note p{max-width:230px}.art-label{font-size:10px}.trade-row{grid-template-columns:56px 1.2fr 1fr 115px 25px;gap:15px}.trade-row h3{font-size:30px}.trade-state{font-size:11px}.project-layout{gap:28px}.project-info h3{font-size:40px}.country-grid{gap:15px}.country-grid article,.country-grid article:first-child{padding-left:20px;padding-right:20px}.country-grid p{min-height:145px}.country-state{font-size:10px}.partners small{max-width:100%;flex-basis:100%}}
@media(max-width:760px){.preview{font-size:10px;letter-spacing:.3px}.preview span:last-child{display:none}header{padding:17px 5% 10px;gap:12px;min-height:125px}.brand>span{font-size:17px}.brand small{font-size:8px}.brand svg{width:41px;height:41px}.header-right{gap:12px}.header-apply{display:none}.language-control select{font-size:14px;max-width:100px}.language-control>.ui-icon{width:18px}nav{display:flex;gap:24px;justify-content:space-between;font-size:14px;padding-top:0}nav a{padding:12px 0}.hero{grid-template-columns:1fr}.hero-copy{padding:35px 7% 25px}.eyebrow{font-size:12px}h1{font-size:clamp(66px,13.2vw,100px);letter-spacing:-1.5px;margin:28px 0}.intro{font-size:18px;max-width:520px}.hero-apply{font-size:16px}.hero-foot{font-size:11px;margin-top:30px}.hero-art{min-height:440px}.building{height:370px;margin:0;max-height:370px}.art-label{font-size:11px;padding:20px 24px}.art-note{bottom:30px;padding:0 24px}.art-number{font-size:48px}.art-note p{font-size:14px!important;max-width:230px!important}.hero-art .art-seal{display:flex;width:72px;height:72px;font-size:10px}.art-caption{font-size:10px;padding:6px 24px 12px}.manifest-strip{font-size:11px;letter-spacing:0;gap:10px;padding:21px 5%;text-align:center}.manifest-strip i{font-size:18px}.section{padding:60px 7%}.vision{grid-template-columns:1fr;gap:15px}.vision-columns{grid-template-columns:1fr;gap:20px;margin-top:25px}.vision-columns p,.section-top>p{font-size:17px}.founder{font-size:14px;gap:14px;margin-top:25px}.section-index{font-size:12px}h2{font-size:46px}.section-top{display:block}.section-top>p{max-width:100%;margin-top:20px}.trade-row{grid-template-columns:52px 1fr 25px;gap:15px;padding:23px 0}.trade-number{width:49px;height:49px;grid-row:1/3}.trade-row h3{font-size:31px}.trade-row p{display:block;grid-column:2;grid-row:2;font-size:14px}.trade-state{grid-column:2;grid-row:3;justify-self:start;font-size:11px}.trade-arrow{grid-column:3;grid-row:1}.projects{padding:60px 7%}.project-layout{grid-template-columns:1fr;gap:28px}.comparison{height:340px}.project-info h3{font-size:43px;margin:15px 0}.project-info>p{font-size:17px}.project-meta{font-size:12px}.project-buttons{margin-top:20px}.gallery-button{font-size:15px}.upload-note{flex-wrap:wrap;gap:15px}.upload-note p{font-size:14px;flex:1}.upload-button{margin-left:39px;font-size:14px}.country-grid{grid-template-columns:1fr;gap:20px;margin-top:30px}.country-grid article,.country-grid article:first-child{padding:25px}.country-grid article:first-child{padding-top:22px}.country-grid h3{font-size:43px;margin:15px 0 12px}.country-grid p{min-height:0;font-size:17px}.country-state{font-size:12px;margin-top:20px}.partners{padding:30px 7%;gap:25px}.partners>span{max-width:none;width:100%}.partner-mark strong{font-size:12px;width:140px}.partners small{font-size:12px}.closing{padding:50px 7%;gap:20px;align-items:center}.closing>div>span{font-size:11px}.closing h2{font-size:48px}.closing-apply{width:135px;height:135px;font-size:14px;gap:12px;margin:0;padding:15px}.closing-apply .ui-icon{width:28px;height:28px}footer{padding:30px 7%;flex-wrap:wrap;gap:20px}.footer-brand{font-size:14px}footer p{order:3;max-width:100%;font-size:12px}dialog{padding:42px 25px 30px}dialog h2{font-size:40px}.form-grid{grid-template-columns:1fr}.form-eyebrow{font-size:11px}.photo-gallery img{width:110px;height:85px}}
@media(max-width:380px){.brand svg{width:32px}.brand>span{font-size:15px}nav{gap:12px;font-size:13px}.header-right{gap:0}.closing{align-items:start;flex-direction:column}.closing-apply{border-radius:0;width:100%;height:58px;flex-direction:row;justify-content:space-between;margin-top:10px}.art-seal{display:none!important}.manifest-strip{font-size:10px}h2{font-size:42px}}

/* Mobile finishing pass: touch targets, safe areas and small-screen dialogs. */
html{scrollbar-gutter:stable}
body:has(dialog[open]){overflow:hidden}
dialog{overscroll-behavior:contain;max-height:calc(100dvh - 32px);scroll-padding-block:24px}
dialog input,dialog select{scroll-margin-block:24px}
#compare{touch-action:pan-y}
.upload-button:focus-visible{outline:3px solid #669c56;outline-offset:5px}
@media(max-width:760px){
  html{scrollbar-gutter:auto;scroll-padding-top:20px}
  header{padding-left:max(5%,env(safe-area-inset-left));padding-right:max(5%,env(safe-area-inset-right))}
  nav a{display:flex;align-items:center;justify-content:center;min-height:48px}
  .language-control select{font-size:16px;min-height:48px;max-width:108px}
  .language-control{border:1px solid #bdcbb1;border-radius:6px;padding:0 7px;background:#edf1e5}
  .hero-copy{padding-top:28px}
  .hero-apply{width:100%;max-width:400px;min-height:58px}
  .hero-foot{flex-wrap:wrap;gap:10px;margin-top:26px}
  .hero-foot>a{display:grid;place-items:center;min-width:48px;min-height:48px}
  .hero-foot>span:nth-child(2){flex:1;font-size:10px;letter-spacing:.3px}
  .hero-art{min-height:410px}
  .building{height:340px}
  .art-note{gap:12px}
  .art-note p{max-width:200px!important}
  .art-caption{padding-right:18px}
  .section-index{line-height:1.7}
  .manifest-strip{line-height:1.7}
  .trade-row{min-height:140px}
  .project-buttons{gap:10px;align-items:center}
  .project-buttons>button:not(.gallery-button){height:48px;width:48px;flex-shrink:0}
  .gallery-button{min-height:48px;padding:8px 0 8px 8px}
  .comparison{height:clamp(275px,80vw,360px)}
  .scene-label{font-size:11px;max-width:calc(50% - 20px);line-height:1.5}
  .compare-caption{font-size:11px}
  .upload-note{align-items:flex-start}
  .upload-note>span{padding-top:4px}
  .upload-button{margin-left:0;width:100%;justify-content:center;min-height:50px;border:1px solid #9eb28a;background:#eef3e5;border-radius:4px}
  .photo-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%}
  .photo-gallery:empty{display:none}
  .photo-gallery button{width:100%;min-height:64px;overflow:hidden}
  .photo-gallery img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}
  .footer-brand{display:flex;flex-direction:column;justify-content:center;min-height:48px}
  footer{padding-bottom:max(30px,env(safe-area-inset-bottom))}
  dialog{padding:54px 24px 28px;max-height:calc(100dvh - 24px);width:calc(100% - 24px);margin:auto;border-radius:10px}
  .close-dialog{height:48px;width:48px;top:3px;right:5px;background:var(--paper)}
  dialog h2{font-size:clamp(34px,9vw,44px);overflow-wrap:break-word}
  dialog>p{font-size:16px;line-height:1.7;margin:16px 0 24px}
  .form-grid{gap:18px}
  .form-grid input,.form-grid select{min-height:52px;font-size:17px}
  .consent{padding:8px 0;font-size:14px;gap:12px}
  .consent input{width:22px;height:22px}
  .submit-application{width:100%;min-height:54px;line-height:1.6}
  #form-success h3{font-size:34px}
}
@media(max-width:380px){
  header{column-gap:8px}
  .brand{gap:7px}.brand small{font-size:7px;letter-spacing:.8px}
  .language-control{padding:0 4px;gap:0}
  .language-control>.ui-icon{width:16px}
  .language-control select{max-width:103px;padding-left:2px}
  .hero-foot>span:first-child{display:none}
  .scene-label{font-size:10px;padding:7px;left:auto;right:10px;top:12px}
  .after .scene-label{left:10px}
  .project-meta{font-size:11px}
}
@media(max-height:500px) and (orientation:landscape){
  dialog{max-height:calc(100dvh - 16px);padding-top:45px}
  .hero{min-height:0}
}
