/* Gallery mark uses the supplied white-A logo directly. */
.gallery-section .section-head>div>svg image{filter:grayscale(1)}
.section-head>div,.contact-grid>div,.feature-caption>div,.journal-card>div{min-width:0}
@media(max-width:899px){
 html,body{max-width:100%;overflow-x:clip}
 .filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
 .filter{padding:12px 8px;font-size:12px;min-height:44px;text-align:center}
 .section-head{gap:24px}
 .section-head h2{font-size:clamp(30px,5.5vw,45px);line-height:1.25;overflow-wrap:break-word}
 .gallery-section .section-head>div:last-child{width:100%;justify-content:space-between;gap:15px!important}
 .gallery-section .section-head svg{width:42px;height:46px;flex-shrink:0}
 .gallery{gap:25px 15px}.gallery-card h3{font-size:13px;line-height:1.6}.gallery-card p{font-size:10px;line-height:1.6}
 .field input,.field select,.field textarea,.aura-compose input{font-size:16px}
 .consent{font-size:12px;line-height:1.75}.consent input{width:18px;height:18px}
 .form-note,.privacy-details,.privacy-details p{font-size:11px;line-height:1.8}
 .pill,.menu-toggle,.aura-close,.article-close,.lightbox button{min-height:44px}
 .aura-close{width:44px;flex-shrink:0}.article-close{flex-shrink:0}
 .aura-panel{height:min(610px,calc(100dvh - 110px));max-height:calc(100dvh - 110px)}
 .aura-chip{font-size:11px;min-height:36px}.aura-message{font-size:13px;line-height:1.85}
 .aura-compose button{width:42px;height:42px;flex-shrink:0}.aura-disclosure{font-size:10px;line-height:1.7}
 .aura-spotlight p{font-size:13px}.aura-spotlight button{font-size:12px;min-height:40px}
}
@media(max-width:540px){
 html{scroll-padding-top:25px}
 .wrap{padding-inline:6vw}
 .header{top:14px;left:5vw;right:5vw;padding-inline:14px;gap:14px;height:68px}
 .brand{gap:8px;min-width:0}.brand span{font-size:13px;letter-spacing:.14em}.brand small{font-size:6px;letter-spacing:.1em;white-space:nowrap}
 .brand svg{width:25px;height:31px;flex-shrink:0}.menu-toggle{padding:10px 12px;font-size:11px;flex-shrink:0}
 .hero{height:auto;min-height:100svh;max-height:none;display:flex;flex-direction:column;padding-bottom:25px}
 .hero-copy{height:auto;min-height:540px;padding:145px 6vw 38px;flex:1;max-width:100%;width:100%;justify-content:center}
 .hero h1{font-size:clamp(40px,10.8vw,58px);letter-spacing:-.055em;line-height:1.15;max-width:100%;margin:24px 0}
 .hero .eyebrow{font-size:8px;letter-spacing:.08em;line-height:1.8;flex-wrap:wrap}
 .hero .intro{font-size:14px;line-height:1.8;max-width:350px;margin:0 0 27px}
 .hero-actions{gap:15px 22px;align-items:center}.hero .pill{font-size:12px;gap:20px;padding:15px 17px}.hero-secondary{font-size:12px;line-height:1.7}
 .hero-monogram{width:125px;height:150px;top:25%;right:5vw;opacity:.1}
 .hero-plaque{position:relative;left:auto;right:auto;bottom:auto;width:auto;max-width:360px;margin:0 6vw 26px;padding:17px 19px}
 .hero-plaque .eyebrow{font-size:7px;line-height:1.8}.hero-plaque p{font-size:17px;line-height:1.45;margin-top:11px}
 .hero-bottom{position:relative;left:auto;bottom:auto;max-width:none;margin:0 6vw 17px;font-size:8px;line-height:1.7;gap:12px}
 .photo-note{position:relative;right:auto;bottom:auto;text-align:left;max-width:none;margin:0 6vw;font-size:8px;line-height:1.8}
 .ticker{padding:24px 6vw;font-size:9px;gap:19px 14px}.ticker span{flex-basis:calc(50% - 7px);min-width:0}
 .statement,.services,.journal,.contact{padding:60px 6vw}.statement{gap:25px}.statement h2{font-size:clamp(28px,8vw,36px);line-height:1.25}
 .statement p,.services-intro,.service-row p{font-size:14px;line-height:1.85}
 .statement .eyebrow,.services .eyebrow,.section-head .eyebrow,.contact>.eyebrow{font-size:9px;line-height:1.8}
 .brandline{padding:30px 6vw}.brandline h2{font-size:27px;line-height:1.3}.brandline .eyebrow{font-size:9px}
 .services h2{font-size:34px;line-height:1.25}.service-row summary{font-size:23px;min-height:35px}.text-link{font-size:12px;line-height:1.8;white-space:normal}
 .section-head h2{font-size:clamp(29px,8vw,36px);line-height:1.25;margin-top:17px}
 .projects{padding-top:60px}.project-rail{padding-inline:6vw;gap:17px;padding-bottom:55px}.feature{flex:0 0 88vw;min-width:0}
 .feature img{height:auto;min-height:0;aspect-ratio:1.25;max-height:none;object-fit:cover}.feature-caption{gap:13px;align-items:start}.feature-caption h3{font-size:15px;line-height:1.55}.feature-caption span{font-size:9px;line-height:1.8}.feature-caption .number{font-size:23px}
 .gallery-section{padding-top:60px;padding-bottom:60px}.gallery-section .section-head{gap:24px;margin-bottom:25px}.gallery-section .section-head h2{max-width:100%;font-size:32px}
 #gallery-count{font-size:10px;letter-spacing:.08em}.filters{gap:8px;margin-bottom:28px}.filter{font-size:12px;padding:12px 6px;border-radius:6px}
 .gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 13px}.gallery-card .thumb{aspect-ratio:1.12}.gallery-card h3{font-size:12px;line-height:1.6;margin:11px 0 7px;overflow-wrap:break-word}.gallery-card p{font-size:9px;line-height:1.65;letter-spacing:.04em}
 .brand-process{padding:45px 6vw;gap:30px}.process-item{display:block;padding-top:20px}.process-item .number{display:block;font-size:10px;margin-bottom:15px}.process-item h3{font-size:22px;margin:0 0 14px}.process-item p{font-size:14px;line-height:1.85}
 /* Grid scenes keep the illustration and controls inside the visible viewport. */
 .sun-section,.pergola-section{height:170svh}
 .sun-stage,.pergola-stage{height:100svh;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto minmax(140px,1fr) auto;gap:10px 20px;padding:25px 6vw 30px;overflow:hidden}
 .sun-top,.pergola-top{grid-column:1/-1;gap:18px;min-width:0;padding:0!important;align-items:start}
 .sun-top .eyebrow,.pergola-top .eyebrow{font-size:8px!important;line-height:1.75;max-width:145px}
 .sun-top .eyebrow:last-child,.pergola-top .eyebrow:last-child{text-align:right}
 .sun-stage h2{grid-column:1/-1;font-size:clamp(29px,8.4vw,37px);line-height:1.2;margin:12px 0 0;padding:0!important}
 .awning-visual{position:relative;grid-column:1/-1;width:125%;height:100%;min-height:0;right:auto;bottom:auto;justify-self:center;align-self:stretch}
 .sun-status{position:static;grid-column:1;grid-row:4;font-size:8px;line-height:1.8;min-width:0;align-self:end}.sun-meter{width:100%;max-width:140px;margin:12px 0}
 .visual-label{position:static;grid-column:2;grid-row:4;font-size:8px;max-width:none;align-self:end;line-height:1.8}
 .pergola-copy{position:relative;grid-column:1/-1;margin:12px 0 0;max-width:100%}.pergola-copy>.eyebrow{font-size:8px;line-height:1.7;max-width:300px}
 .pergola-copy h2{font-size:clamp(31px,8.6vw,39px);line-height:1.15;margin:14px 0}.pergola-copy p{font-size:12px;line-height:1.75;max-width:340px;margin:0}
 .pergola-svg{position:relative;grid-column:1/-1;width:125%;height:100%;min-height:0;right:auto;top:auto;justify-self:center;align-self:stretch}
 .pergola-controls{position:static;grid-column:1;grid-row:4;width:100%;min-width:0;align-self:end}.pergola-controls label{font-size:8px;letter-spacing:.06em;gap:8px}.pergola-controls input{margin:18px 0}.pergola-controls small{font-size:8px;line-height:1.7}
 .pergola-mode{position:static;grid-column:2;grid-row:4;max-width:none;min-width:0;align-self:end}.pergola-mode strong{font-size:17px;line-height:1.3;margin:9px 0}.pergola-mode .eyebrow{font-size:7px;line-height:1.7}.pergola-mode p{font-size:8px;line-height:1.7;max-width:none;margin:0}
 .pergola-orbit{width:280px;height:280px;top:40%;right:0}
 .journal-intro{font-size:14px;line-height:1.85}.journal-card h3{font-size:23px;line-height:1.35}.journal-card p{font-size:13px;line-height:1.85}
 .journal-card:nth-child(n+3){grid-template-columns:85px minmax(0,1fr);gap:15px}.journal-card:nth-child(n+3) .journal-thumb{height:95px}.journal-card:nth-child(n+3) h3{font-size:17px;line-height:1.45}.journal-card-meta{font-size:9px;line-height:1.7;gap:12px}
 .brief-request{padding:35px 6vw}.brief-request h2{font-size:28px;line-height:1.3}.brief-request .pill{font-size:12px;max-width:100%}
 .contact h2{font-size:clamp(30px,8.8vw,40px);line-height:1.22;overflow-wrap:break-word}.contact-grid{gap:29px;padding-top:28px}.contact-grid h3{font-size:10px}.contact-grid p{font-size:14px}.contact-grid .phone{font-size:26px}
 .lead-form-wrap{gap:25px;padding-top:40px;margin-top:45px}.lead-form-intro h3{font-size:30px;line-height:1.25}.lead-form-intro p{font-size:14px;line-height:1.85}.lead-form{padding:22px 17px}.field>span{font-size:12px}.form-grid{gap:21px}
 .aura-spotlight{padding:20px 17px;gap:15px}.aura-spotlight .aura-orb{width:37px;height:37px;font-size:19px}.aura-spotlight p{font-size:12px}
 .aura-launch{max-width:calc(100vw - 28px);font-size:11px;padding:12px 15px;gap:9px;bottom:max(15px,env(safe-area-inset-bottom));right:14px}
 .aura-panel{right:12px;width:calc(100vw - 24px);max-width:none;bottom:calc(78px + env(safe-area-inset-bottom));height:min(600px,calc(100dvh - 100px));max-height:calc(100dvh - 100px - env(safe-area-inset-bottom))}
 .aura-header{padding:15px;gap:12px}.aura-name{gap:10px;min-width:0}.aura-name strong{font-size:17px;letter-spacing:.08em}.aura-name small{font-size:8px;line-height:1.6}.aura-name .aura-orb{width:33px;height:33px;flex-shrink:0}
 .aura-promise{font-size:11px;padding:11px 17px}.aura-feed{padding:15px;min-height:100px}.aura-chips{padding-inline:15px;gap:7px}.aura-chip{font-size:10px;min-height:34px}.aura-to-form{margin-inline:15px;font-size:11px;min-height:42px}.aura-disclosure{font-size:9px;padding-inline:17px}.aura-compose{padding:10px 13px}
 .article-toolbar{padding:12px 17px;gap:12px}.article-toolbar span{font-size:8px;line-height:1.8;max-width:210px}.article-close{font-size:12px}.article-content{padding:28px 21px 40px}.article-content h2{font-size:28px;line-height:1.3}.article-content h3{font-size:21px}.article-content p,.article-content li{font-size:15px;line-height:1.85}.article-content .lead{font-size:17px}.article-cta{padding:22px 18px}.article-cta h3{font-size:22px}.article-cta .pill{font-size:11px;gap:15px;max-width:100%}
 .lightbox{max-width:96vw;width:96vw;padding:12px}.lightbox-bar{font-size:12px;line-height:1.6;gap:12px}.lightbox button{width:44px;flex-shrink:0}.lightbox-nav{flex-shrink:0}
 .footer{padding:35px 6vw 105px}.footer-main{gap:20px;align-items:center}.footer-words{font-size:clamp(19px,5.8vw,25px);max-width:170px;line-height:1.3}.footer-bottom{font-size:9px;line-height:1.85}
}
@media(max-width:899px) and (max-height:530px){
 .sun-section,.pergola-section{height:auto}
 .sun-stage,.pergola-stage{position:relative;height:auto;min-height:0;display:block;padding:35px 6vw}
 .sun-stage h2,.pergola-copy h2{font-size:34px}.awning-visual,.pergola-svg{position:relative;display:block;width:100%;height:300px;inset:auto;margin:10px auto}
 .sun-status,.visual-label,.pergola-controls,.pergola-mode{position:relative;inset:auto;display:inline-block;width:45%;vertical-align:bottom;margin-top:20px}
 .aura-panel{bottom:15px;height:calc(100dvh - 30px);max-height:calc(100dvh - 30px)}
}
@media(prefers-reduced-motion:reduce) and (max-width:540px){.sun-section,.pergola-section{height:auto}.sun-stage,.pergola-stage{position:relative}}
