/* Responsive sizing for the retained four-page MIY design. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
main,section,article,form,.hero-copy,.hero-photo,.intro>div,.vision-grid>a,.space-grid>button,.contact>div,.footer-grid>div{min-width:0}
img{max-width:100%}p,a,dd{overflow-wrap:break-word}
[hidden]{display:none!important}
@media(max-width:1180px){
 header{padding-inline:5%;height:104px}nav{gap:25px}
 .hero{height:auto;min-height:620px;max-height:none;grid-template-columns:minmax(0,47fr) minmax(0,53fr)}
 .hero-copy{padding:44px 8% 30px 10%}.hero h1{font-size:clamp(70px,7.4vw,88px)}
 .hero-photo{min-height:620px}.section{padding:80px 6%}
 .intro{grid-template-columns:minmax(0,27fr) minmax(0,73fr)}.intro-bottom{gap:32px}
 .card-caption{align-items:flex-start;flex-wrap:wrap;gap:8px}.card-caption h3{font-size:26px}
 .build-section{gap:7%;grid-template-columns:repeat(2,minmax(0,1fr))}.build-section h2{font-size:clamp(42px,4.7vw,58px)}
 .promise-grid{gap:28px}.promise-grid h3{font-size:25px}
 .contact{gap:5%;grid-template-columns:repeat(2,minmax(0,1fr))}.contact h1{font-size:clamp(60px,6.8vw,82px)}
 .contact form{padding:28px}.contact .form-row{grid-template-columns:1fr;gap:0}
 .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 55px}
 .footer-grid p{font-size:14px}.footer-bottom{flex-wrap:wrap;font-size:11px}
}
@media(max-width:900px){
 header{height:94px;padding:5px 6%;gap:20px}header .brand.brand-artwork{width:168px}
 nav{display:none}.menu-button{display:flex;align-items:center;justify-content:center;gap:18px;min-width:86px;min-height:44px;font-size:14px;border:0;background:none}.menu-button span{font-size:23px}
 #mobile-menu:not([hidden]){display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:10px;padding:22px 6%;max-height:calc(100dvh - 94px);overflow-y:auto;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 15px 25px #17324d20}
 #mobile-menu a{display:flex;align-items:center;min-height:48px;font:27px/1.3 Georgia,serif;padding:6px 0}
 .hero{display:flex;flex-direction:column;height:auto;min-height:0;max-height:none}
 .hero-copy{padding:44px 7% 36px}.hero h1{font-size:clamp(68px,10vw,90px);margin:26px 0}
 .hero-copy>p{font-size:16px;line-height:1.75}.hero-copy .eyebrow{font-size:10px}
 .hero-photo{min-height:0;height:clamp(380px,62vw,540px)}.hero-photo img{object-position:center 58%}.scroll-link{display:none}
 .hero-stamp{right:25px;top:25px}.image-label{font-size:10px}.photo-note{font-size:11px}
 .section{padding:64px 7%}.intro{display:block}.intro h2{margin-top:22px}.intro-bottom{grid-template-columns:1.2fr 1fr;gap:30px}.intro-bottom p{font-size:15px}
 h2{font-size:clamp(40px,6vw,54px)}.section-heading{gap:28px}.section-heading .text-link{flex-shrink:0}
 .vision-grid{gap:6%;grid-template-columns:repeat(2,minmax(0,1fr))}.vision-grid .image-wrap{height:350px}.vision-grid .second{padding-top:65px}.vision-grid .second .image-wrap{height:300px}
 .build-section{grid-template-columns:1fr;gap:40px}.build-heading{position:static}.build-heading>p:last-child{max-width:540px;font-size:15px}.build-section h2{font-size:clamp(40px,6vw,54px)}
 .stages{max-width:660px}.stage>p:last-child{font-size:15px}.stage h3{font-size:27px}
 .promise-grid{grid-template-columns:1fr;gap:28px}.promise-grid article{max-width:660px}.promise-grid h3{margin:14px 0}.promise-grid p{font-size:15px}.value-icon{font-size:28px}
 .page-heading h1{font-size:clamp(60px,9vw,82px)}.page-intro{margin-left:0;max-width:540px;font-size:16px;margin-top:28px}.wide-image{height:clamp(340px,55vw,480px)}
 .journey-grid{grid-template-columns:1fr;gap:30px}.journey-grid article{max-width:660px}.journey-grid p{font-size:15px}
 .space-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 25px}.space-card .image-wrap{height:300px}.space-card>p{font-size:14px}
 .mood-section{grid-template-columns:1fr;gap:35px}.mood-display{width:100%;max-width:520px;aspect-ratio:4/3;max-height:none}.mood-section p:not(.eyebrow){font-size:15px}
 .contact{grid-template-columns:1fr;gap:42px}.contact h1{font-size:clamp(60px,9vw,82px)}.contact-copy>p:not(.eyebrow){max-width:540px;font-size:16px}.contact form{width:100%;max-width:680px;padding:36px}.contact .form-row{grid-template-columns:1fr 1fr;gap:22px}
 .address-section{grid-template-columns:1fr 1fr;gap:28px}.address-section>.eyebrow{grid-column:1/-1}
 .footer-grid>div:last-child{display:block}.footer-grid>.brand{grid-column:1/-1}.footer-title{font-size:clamp(42px,7vw,64px)}.footer-title>span{font-size:44px}
 .button{min-height:50px;font-size:14px;max-width:100%}.text-link{font-size:14px;min-height:44px;align-items:center;padding-top:8px}
 .filter-bar button,.mood-controls button{min-height:44px;font-size:13px;padding:10px 16px}
 input,textarea,select{font-size:16px;min-height:48px}label{font-size:13px}.form-note,.caption{font-size:12px}.person p{font-size:13px}.contact-link{font-size:16px;min-height:44px;display:flex;align-items:center;margin:0}
 .dialog-close{width:44px;height:44px;display:grid;place-items:center;right:10px;top:10px}.footer-grid a{display:inline-block;min-height:36px}
 dialog{max-height:85dvh;overflow:auto;padding:50px 35px}
}
@media(max-width:600px){
 header{height:84px;padding-inline:6%;gap:12px}header .brand.brand-artwork{width:148px}#mobile-menu:not([hidden]){max-height:calc(100dvh - 84px)}
 .hero-copy{padding:32px 7%}.hero h1{font-size:clamp(56px,15vw,78px);line-height:1.02;margin:24px 0}.hero-copy .eyebrow{font-size:9px;letter-spacing:1.1px}.hero-copy>p{font-size:15px;margin-bottom:24px}
 .hero-photo{height:clamp(310px,95vw,440px)}.hero-stamp{width:82px;height:82px;font-size:8px;right:18px;top:18px}.hero-stamp i{font-size:22px}.image-label{left:18px;right:18px;font-size:8px;letter-spacing:1px;gap:15px}.photo-note{left:18px;right:18px;font-size:10px}
 .statement-strip{font-size:11px;padding:20px 7%;gap:20px}.statement-strip span:nth-child(2){display:none}
 .section{padding:52px 7%}h2{font-size:clamp(34px,9.7vw,48px)}h3{font-size:25px}.intro-bottom{display:block}.intro-bottom .text-link{margin-top:18px}.section-heading{display:block;margin-bottom:26px}.section-heading .text-link{margin-top:18px}
 .vision-grid{display:block}.vision-grid .image-wrap,.vision-grid .second .image-wrap{height:auto;aspect-ratio:1.05}.vision-grid .second{padding-top:32px}.card-caption{gap:8px}.card-caption h3{font-size:25px}.card-caption>span{font-size:9px}
 .build-section{gap:32px}.build-section h2{font-size:clamp(34px,9.7vw,48px)}.stages{padding-left:48px}.stage-dot{left:-48px}.stage{padding-bottom:36px}.stage h3{font-size:25px}
 #promise>h2{margin-bottom:30px}.promise-grid{gap:25px}
 .page-heading h1,.contact h1{font-size:clamp(49px,12.3vw,70px)}.page-intro{font-size:15px}.wide-image{height:330px}
 .space-grid{grid-template-columns:1fr;gap:32px}.space-card .image-wrap{height:auto;aspect-ratio:1.05}.filter-bar{gap:8px}.filter-bar button{padding:10px 14px}.filter-bar button span{margin-left:10px}.mood-controls{gap:9px}.mood-display{padding:30px 24px;gap:25px;aspect-ratio:1.15}.swatches{height:180px}
 .contact{gap:32px}.contact form{padding:26px 22px}.contact .form-row{grid-template-columns:1fr;gap:0}form h2{font-size:clamp(30px,8.6vw,42px)}.contact-copy>p:not(.eyebrow){font-size:15px}
 .address-section{display:block}.address-section h2{margin:22px 0}.address-section>div{margin-top:25px}
 footer{padding:48px 7% 24px}.footer-title{font-size:clamp(34px,8.6vw,48px);padding-right:20px}.footer-title>span{font-size:28px;right:0;top:auto;bottom:3px}.footer-grid{grid-template-columns:1fr;gap:26px;padding:32px 0}.footer-grid>.brand{grid-column:auto}.footer-grid>div:last-child{display:block}.footer-grid p{font-size:14px;margin-top:6px}.footer-grid .eyebrow{font-size:10px}.footer-bottom{font-size:11px;align-items:center}.footer-bottom a{min-height:44px;display:flex;align-items:center}.footer-bottom>span:nth-child(2){display:none}
 dialog{padding:48px 24px 30px;width:calc(100% - 32px);max-height:calc(100dvh - 40px)}dialog h2{font-size:clamp(30px,8.6vw,40px)}
}
@media(hover:none) and (pointer:coarse){.button:hover{transform:none}.image-card:hover img,.space-card:hover img{transform:none}.brand:hover{opacity:1}}
