@font-face{font-family:"DM Sans";font-style:normal;font-weight:400 700;font-display:swap;src:url("/assets/cache/dm-sans-latin-9fea608a947e.woff2") format("woff2")}
@font-face{font-family:"Manrope";font-style:normal;font-weight:400 800;font-display:swap;src:url("/assets/cache/manrope-latin-a30ddcd34970.woff2") format("woff2")}
:root{--ink:#202624;--paper:#f3f2ec;--accent:#d4a276;--line:#c9ccc5;--muted:#5b635d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #bc6d36;outline-offset:6px}header{height:116px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:35px}.brand{font-family:'Manrope',Arial,sans-serif;font-size:29px;letter-spacing:.18em;font-weight:800;line-height:1.15}.brand span{display:block;font-family:'DM Sans',sans-serif;font-size:10px;letter-spacing:.25em;margin-top:10px;font-weight:600}nav{display:flex;align-items:center;gap:32px;font-size:14px}nav a:hover{color:#945c33}.nav-contact{border:1px solid var(--ink);padding:12px 19px}.nav-contact span{margin-left:22px}.hero{display:grid;grid-template-columns:46% 54%;min-height:660px;background:var(--ink);color:var(--paper)}.hero-copy{padding:64px 10.8% 24px;display:flex;align-items:flex-start;flex-direction:column}.eyebrow{font-size:12px;letter-spacing:.14em;font-weight:600;margin:0 0 32px;line-height:1.6}.hero .eyebrow{color:var(--accent)}h1,h2,h3{font-family:'Manrope',Arial,sans-serif;font-weight:500;letter-spacing:-.045em;line-height:1.12;margin:0}h1{font-size:clamp(44px,4.7vw,76px)}em{font-style:normal;color:var(--accent)}.intro{max-width:370px;font-size:18px;color:#c6cec7;margin:26px 0 32px}.button{display:inline-flex;background:var(--accent);color:var(--ink);padding:16px 22px;gap:50px;font-weight:600;font-size:14px}.button:hover{background:#e4b78d}.hero-bottom{display:flex;gap:20px;justify-content:space-between;width:100%;border-top:1px solid #526058;margin-top:auto;padding-top:24px;font-size:10px;letter-spacing:.11em}.hero-image{margin:0;position:relative;min-height:660px;background:#353e36;overflow:hidden}.hero-image img{height:100%;width:100%;position:absolute;object-fit:cover}.hero-image figcaption{position:absolute;bottom:0;left:0;right:0;padding:65px 30px 25px;background:linear-gradient(transparent,#101813ba);font-size:11px;letter-spacing:.1em;display:flex;justify-content:space-between;gap:20px}.hero-image figcaption span{letter-spacing:0;font-size:12px;color:#eee}.section{padding:100px 7%}.approach{display:grid;grid-template-columns:40% 60%;gap:0;border-bottom:1px solid var(--line)}.year{font-family:'Manrope',sans-serif;font-size:100px;line-height:1.2;font-weight:400;letter-spacing:-.06em}.year span{display:block;font-size:11px;letter-spacing:.15em;margin-top:16px}.approach h2{font-size:42px;margin-bottom:28px}.approach p:not(.eyebrow){max-width:580px;color:var(--muted);font-size:18px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:48px}.section-heading h2{font-size:48px}.section-heading>p{color:var(--muted);font-size:16px}.direction-list{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.direction-list article{padding:32px 28px 34px 0}.direction-list article+article{border-left:1px solid var(--line);padding-left:28px}.number{font-size:13px;color:var(--muted);display:block;margin-bottom:35px}.direction-list h3{font-size:28px}.direction-list p{color:var(--muted);min-height:100px;max-width:340px}.tag{font-size:10px;letter-spacing:.12em}.small-note{color:var(--muted);font-size:13px;margin:20px 0 0}.projects{background:#e5e8e1}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.project{border:1px solid #bdc5bb}.current{background:#303e34;color:#f3f2ec}.past{background:#f3f2ec}.project-label{padding:18px 25px;font-size:11px;letter-spacing:.1em;border-bottom:1px solid #8a978966;display:flex;justify-content:space-between;gap:20px}.project-body{padding:36px}.location{font-size:11px;letter-spacing:.12em;margin:0 0 22px}.project h3{font-size:36px}.project-body>p:not(.location):not(.project-note){max-width:390px;font-size:16px;margin:24px 0 30px}.current .project-body>p:not(.location){color:#d1d9d0}.project a{font-size:14px;border-bottom:1px solid;padding:0 0 8px;display:inline-flex;gap:30px}.project-note{font-size:12px;color:var(--muted);margin-top:25px;max-width:350px}.contact{background:var(--ink);color:var(--paper)}.contact>.eyebrow{color:var(--accent)}.contact>div{display:flex;align-items:center;justify-content:space-between;gap:40px}.contact h2{font-size:44px}.call{font-size:30px;letter-spacing:-.03em;white-space:nowrap}.call span{margin-left:20px;color:var(--accent)}.call small{display:block;font-size:11px;letter-spacing:.13em;margin-top:14px;color:#c6cec7}footer{padding:46px 5%;display:flex;align-items:center;justify-content:space-between;gap:30px}footer .brand{font-size:21px}footer p,footer>a:last-child{font-size:13px;color:var(--muted)}.skip{position:absolute;top:-60px;left:20px;background:white;padding:10px;z-index:10}.skip:focus{top:10px}@media(min-width:1600px){body{max-width:1800px;margin:auto}}@media(max-width:1050px){header{padding:0 4%}nav{gap:20px}.hero-copy{padding:50px 8% 25px}.hero-bottom{flex-direction:column;gap:6px}.section{padding:75px 6%}.hero-image figcaption{flex-direction:column;gap:3px}.approach h2,.section-heading h2{font-size:36px}.contact h2{font-size:34px}.call{font-size:25px}.project h3{font-size:30px}}@media(max-width:720px){header{height:auto;min-height:105px;align-items:flex-start;padding:25px 6%;gap:25px}.brand{font-size:23px}.brand span{font-size:9px}nav{gap:10px}nav>a:not(.nav-contact){display:none}.nav-contact{font-size:12px;padding:9px 12px}.nav-contact span{margin-left:8px}.hero{grid-template-columns:1fr}.hero-copy{padding:42px 6% 25px;min-height:500px}h1{font-size:53px}.intro{font-size:17px;max-width:340px}.hero-bottom{flex-direction:row;margin-top:38px;font-size:9px}.hero-image{min-height:430px}.hero-image figcaption{padding-left:6%}.section{padding:62px 6%}.approach{grid-template-columns:1fr;gap:40px}.year{font-size:82px}.approach h2,.section-heading h2{font-size:34px}.approach p:not(.eyebrow){font-size:16px}.eyebrow{font-size:11px;margin-bottom:24px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:22px}.direction-list{grid-template-columns:1fr}.direction-list article,.direction-list article+article{padding:25px 0;border-left:0}.direction-list article+article{border-top:1px solid var(--line)}.number{margin-bottom:20px}.direction-list p{min-height:0;max-width:none}.project-grid{grid-template-columns:1fr}.project-body{padding:30px 25px}.contact>div{display:block}.contact h2{font-size:33px}.call{display:inline-block;margin-top:40px;font-size:30px}footer{padding:36px 6%;flex-wrap:wrap}footer p{order:3;width:100%;margin:0}.hero-image figcaption span{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.munds-feature{margin-bottom:48px}.munds-intro{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end;margin-bottom:32px}.munds-intro h3{font-size:36px}.munds-intro>p{max-width:450px;color:var(--muted);margin:0}.munds-gallery{display:grid;grid-template-columns:1.25fr 1fr;gap:24px}.munds-gallery figure{margin:0;min-width:0}.munds-gallery .munds-lead{grid-row:span 2}.munds-gallery a{display:block;overflow:hidden}.munds-gallery img{display:block;width:100%;height:260px;object-fit:cover;object-position:center 45%;transition:transform .3s}.munds-gallery .munds-lead img{height:578px}.munds-gallery a:hover img{transform:scale(1.025)}.munds-gallery figcaption{font-size:13px;padding-top:10px;color:var(--muted)}.munds-link{display:inline-block;margin-top:28px;border-bottom:1px solid;padding-bottom:7px;font-size:14px}.projects .project-grid{grid-template-columns:1fr}.projects .past .project-body{display:block}.projects .past .project-body>p:not(.location){max-width:650px}.projects .past h3 br{display:none}@media(max-width:720px){.munds-intro{grid-template-columns:1fr;gap:24px}.munds-intro h3{font-size:30px}.munds-gallery{grid-template-columns:1fr 1fr;gap:18px}.munds-gallery .munds-lead{grid-column:1 / -1;grid-row:auto}.munds-gallery .munds-lead img{height:auto;max-height:560px;object-fit:cover}.munds-gallery img{height:210px}.munds-gallery figcaption{font-size:12px}.munds-link{font-size:13px}}@media(prefers-reduced-motion:reduce){.munds-gallery img{transition:none}}

.feather-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.feather-card{position:relative;overflow:hidden;isolation:isolate;border:1px solid #bac2b8;--card:#303e34;background:var(--card);color:#f3f2ec}.feather-card.stone{--card:#f3f2ec;color:#202624}.feather-card .project-label{position:relative;z-index:2;background:var(--card);font-size:12px}.feather-photo{position:absolute;top:55px;left:0;width:100%;height:430px;object-fit:cover;object-position:50% 44%;mask-image:linear-gradient(to bottom,#000 0%,#000 68%,rgba(0,0,0,.96) 76%,rgba(0,0,0,.48) 87%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 68%,rgba(0,0,0,.96) 76%,rgba(0,0,0,.48) 87%,transparent 100%);z-index:-1}.feather-copy{padding:355px 36px 40px}.feather-copy .location{font-size:12px}.feather-copy h3{font-size:38px}.feather-copy>p:not(.location){font-size:17px;max-width:390px;margin:24px 0 30px}.forest .feather-copy>p:not(.location){color:#d1d9d0}.feather-copy a{font-size:14px;border-bottom:1px solid;padding-bottom:8px;display:inline-flex;gap:22px}.progress-extra{display:flex;justify-content:space-between;align-items:center;gap:30px;margin:24px 0 48px}.progress-extra>a:first-child{display:flex;align-items:center;gap:18px;font-size:14px}.progress-extra img{width:112px;height:80px;object-fit:cover;border-radius:2px}.progress-extra>a:last-child{font-size:14px;border-bottom:1px solid;padding-bottom:6px}@media(max-width:720px){.feather-grid{grid-template-columns:1fr;gap:24px}.feather-copy{padding:315px 25px 32px}.feather-photo{height:390px}.feather-copy h3{font-size:33px}.feather-card .project-label{padding:16px 20px;font-size:12px;flex-wrap:wrap;gap:4px 12px}.progress-extra{align-items:flex-start;flex-direction:column}.progress-extra img{width:90px;height:70px}}

.brand{display:block}.brand-logo{display:block;width:230px;height:auto}.brand span{font-size:12px;letter-spacing:.15em;margin-top:0;text-align:center}header{height:128px}footer .brand-logo{width:190px}.montebello-photo{object-position:50% 30%}.feather-copy .project-note{font-size:12px}.progress-extra>a:last-child{border:0;padding:0;display:flex;align-items:center;gap:18px}.progress-extra{align-items:flex-start}.progress-extra>a{flex:1}@media(max-width:720px){header{height:auto;align-items:center}.brand-logo{width:180px}.brand span{font-size:10px}.progress-extra>a{width:100%}.progress-extra>a:last-child{font-size:14px}.montebello-photo{object-position:50% 20%}}

.direction-list{border:0;gap:24px}.direction-list article,.direction-list article+article{border:0;padding:0 0 28px}.direction-image{margin:0 0 26px;position:relative;overflow:hidden}.direction-image img{display:block;width:100%;height:300px;object-fit:cover}.direction-image figcaption{position:absolute;bottom:0;left:0;right:0;padding:40px 18px 16px;background:linear-gradient(transparent,rgba(15,25,19,.75));color:white;font-size:12px;letter-spacing:.1em}.direction-list .number{margin-bottom:16px}.direction-list h3{font-size:27px}.direction-list p{min-height:112px}.direction-list .tag{font-size:12px;letter-spacing:.06em}@media(max-width:1050px){.direction-image img{height:250px}.direction-list h3{font-size:23px}.direction-list p{min-height:160px}}@media(max-width:720px){.direction-list{gap:30px}.direction-image img{height:300px}.direction-list h3{font-size:29px}.direction-list p{min-height:0}.direction-list article+article{border:0;padding:0 0 28px}}

/* A contained 1985 flashback, with the original brand carried elsewhere. */
.approach{background:#14152d;color:#f6f3ff;position:relative;overflow:hidden;border:0;gap:6%;grid-template-columns:40% 54%;background-image:linear-gradient(90deg,rgba(20,21,45,0) 0%,#14152d 52%),linear-gradient(rgba(94,99,183,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(94,99,183,.13) 1px,transparent 1px);background-size:100% 100%,44px 44px,44px 44px}.flashback{position:relative;padding:10px 0 20px}.flashback .eyebrow{color:#aabcf1;font-size:12px}.retro-kicker{font-family:'Manrope',sans-serif;font-size:22px!important;font-weight:800;letter-spacing:.32em;color:#ff86cb!important;margin:30px 0 0!important;transform:skew(-8deg)}.year{line-height:1;font-size:clamp(84px,9vw,146px);font-weight:800;letter-spacing:-.075em;margin-top:4px}.year strong{display:inline-block;font-weight:800;transform:skew(-8deg);background:linear-gradient(#fff 0%,#d9eaff 35%,#7886b5 47%,#f5cafa 50%,#fbf8ff 58%,#c58ce0 80%,#7987bf);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(3px 4px 0 #923b8a) drop-shadow(0 0 18px #8856bc55)}.year span{font-family:'DM Sans',sans-serif;font-weight:500;letter-spacing:.17em;font-size:12px;color:#7de6fa;margin-top:26px}.approach .retro-caption{font-size:14px!important;color:#c3bdd7!important;margin-top:27px}.approach .retro-label{font-size:12px!important;letter-spacing:.11em;color:#ff9bd3!important;margin:14px 0 22px}.approach h2{font-size:42px;line-height:1.2}.approach p:not(.eyebrow){color:#d0cfe0}.approach>div:last-child{border-left:1px solid #69739966;padding-left:9%}@media(max-width:1050px){.approach h2{font-size:35px}}@media(max-width:720px){.approach{grid-template-columns:1fr;gap:28px;background-image:linear-gradient(0deg,#14152d 5%,transparent 95%),linear-gradient(rgba(94,99,183,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(94,99,183,.13) 1px,transparent 1px)}.year{font-size:116px}.approach>div:last-child{border-left:0;border-top:1px solid #69739966;padding:27px 0 0}.approach h2{font-size:34px}.retro-kicker{font-size:19px!important}}
/* Keep Montebello vivid; feather only the lower edge into the copy. */
.feather-photo.montebello-photo{filter:saturate(1.08) contrast(1.06);mask-image:linear-gradient(to bottom,#000 0%,#000 68%,rgba(0,0,0,.96) 76%,rgba(0,0,0,.48) 87%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 68%,rgba(0,0,0,.96) 76%,rgba(0,0,0,.48) 87%,transparent 100%)}
.feather-card.stone .feather-copy{padding-top:395px}
@media(max-width:720px){.feather-card.stone .feather-copy{padding-top:360px}}

.approach{grid-template-columns:46% 48%;align-items:center}.retro-home{margin:25px 0 0}.retro-home img{display:block;width:100%;aspect-ratio:3/2;height:auto;object-fit:cover;border:1px solid #8586b355}.retro-home figcaption{font-size:12px;color:#c3bdd7;line-height:1.5;margin-top:12px;max-width:420px}.flashback .eyebrow{margin-bottom:18px}.flashback .retro-kicker{margin:0!important;font-size:17px!important;letter-spacing:.24em}.flashback .year{font-size:clamp(80px,8vw,125px);margin-top:6px}.approach .experience-copy{padding-left:9%;padding-top:10px;padding-bottom:10px}.approach .experience-copy h2{font-size:clamp(30px,3.4vw,47px);line-height:1.18;letter-spacing:-.035em;margin-bottom:28px}.approach .experience-copy p:not(.retro-label){font-size:18px;line-height:1.7;max-width:480px}.approach .experience-copy .retro-label{font-size:12px!important;line-height:1.6;letter-spacing:.08em}@media(max-width:720px){.approach{grid-template-columns:1fr;gap:30px}.approach .experience-copy{padding:28px 0 0}.flashback .year{font-size:105px}.approach .experience-copy p:not(.retro-label){font-size:17px}.retro-home figcaption{max-width:none}}

/* Leave paint room around the skewed chrome numerals, including the final 5. */
.flashback{min-width:0}.flashback .year{overflow:visible;line-height:1.18;letter-spacing:-.055em}.flashback .year strong{padding:.06em .2em .12em .09em;margin-left:-.09em;max-width:100%;overflow:visible;box-sizing:content-box}.sunset-window{position:relative;overflow:hidden;border:1px solid #8586b355;aspect-ratio:3/2;background:#21182f}.retro-home .sunset-window img{width:100%;height:100%;border:0;object-fit:cover;transform-origin:60% 35%;animation:sunset-drift 24s ease-in-out infinite alternate}.sunset-window.is-paused img{animation-play-state:paused}.sunset-toggle{position:absolute;bottom:12px;right:12px;background:#14152de8;border:1px solid #b8b4d080;color:#fff;font:500 12px 'DM Sans',sans-serif;padding:9px 13px;cursor:pointer;border-radius:2px}.sunset-toggle:focus-visible{outline:2px solid #7de6fa;outline-offset:3px}@keyframes sunset-drift{from{transform:scale(1)}to{transform:scale(1.045)}}@media(max-width:400px){.flashback .year{font-size:94px}}

.hero .button{align-items:center;gap:24px;min-height:60px;padding:12px 14px 12px 24px;border-radius:10px;background:linear-gradient(125deg,#e6b88d,#cf9567);border:1px solid #ecc5a080;box-shadow:0 5px 16px #0000001f,inset 0 1px 0 #ffffff35;font-size:16px;font-weight:600;line-height:1.3;transition:transform .2s,box-shadow .2s,filter .2s}.hero .button span{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;border-radius:50%;background:#202624;color:#efd0b0;font-size:20px;transition:transform .2s}.hero .button:hover{transform:translateY(-2px);filter:brightness(1.05);box-shadow:0 8px 22px #00000030,inset 0 1px 0 #ffffff40}.hero .button:hover span{transform:rotate(45deg)}.hero .button:active{transform:translateY(0)}.hero .button:focus-visible{outline:3px solid #f7dfc7;outline-offset:5px}@media(prefers-reduced-motion:reduce){.hero .button,.hero .button span{transition:none}.hero .button:hover,.hero .button:hover span{transform:none}}

/* Immersive sunset backdrop replaces the framed illustration. */
.approach{isolation:isolate;min-height:660px;padding-top:110px;padding-bottom:125px;background:#1c1428;background-image:none;grid-template-columns:40% 54%}.approach .retro-home{position:absolute;inset:0;margin:0;z-index:-1;pointer-events:none}.approach .sunset-window{position:absolute;inset:0;border:0;aspect-ratio:auto;border-radius:0}.approach .sunset-window::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,16,35,.55),rgba(17,16,35,.79)),linear-gradient(0deg,rgba(16,16,31,.82),transparent 55%,rgba(16,16,31,.16));pointer-events:none}.approach .retro-home img{object-position:center 40%;animation:sunset-time 36s ease-in-out infinite alternate;transform-origin:center;filter:saturate(1.2)}.approach .sunset-window.is-paused img{animation-play-state:paused}.approach .retro-home figcaption{position:absolute;left:7%;bottom:24px;max-width:65%;color:#d9d1df;font-size:12px;z-index:2;margin:0}.approach .sunset-toggle{right:7%;bottom:22px;z-index:3;pointer-events:auto}.approach .flashback,.approach .experience-copy{position:relative;z-index:1}.approach .experience-copy{border-color:#ddd1e355}.approach .experience-copy p:not(.retro-label){color:#eee8ef}.approach .flashback .eyebrow{color:#e2d5ee}.approach .retro-label{color:#ffb9df!important}.approach .year strong{filter:drop-shadow(3px 4px 0 #923b8a) drop-shadow(0 4px 12px #140c23aa)}@keyframes sunset-time{0%{transform:scale(1.01);filter:saturate(1.1) brightness(1.05)}55%{filter:saturate(1.35) brightness(.9)}100%{transform:scale(1.07);filter:saturate(1.2) brightness(.72)}}@media(max-width:720px){.approach{min-height:760px;grid-template-columns:1fr;padding-top:65px;padding-bottom:110px;gap:22px}.approach .retro-home img{object-position:46% center}.approach .sunset-window::after{background:linear-gradient(0deg,#111023ed 0%,#111023ad 65%,#11102366 100%)}.approach .retro-home figcaption{left:6%;bottom:22px;max-width:58%;font-size:12px}.approach .sunset-toggle{right:6%;bottom:25px}}@media(prefers-reduced-motion:reduce){.approach .retro-home img{animation-play-state:paused}}

/* This selector must outrank the original framed-image animation. */
.approach .retro-home .sunset-window img{animation:sunset-visible 16s linear infinite alternate;animation-play-state:running;will-change:transform,filter}
.approach .retro-home .sunset-window.is-paused img{animation-play-state:paused}
.approach .retro-home{z-index:0}.approach .sunset-window::after{background:linear-gradient(90deg,#11102366,#111023c2),linear-gradient(0deg,#10101fc9,transparent 65%)}
@keyframes sunset-visible{from{transform:scale(1.03) translateX(-1%);filter:saturate(1.2) brightness(1.2)}to{transform:scale(1.19) translateX(2%);filter:saturate(1.55) brightness(.7)}}
@media(prefers-reduced-motion:reduce){.approach .retro-home .sunset-window img{animation-play-state:paused}.approach .retro-home .sunset-window:not(.is-paused) img{animation-play-state:running}}
@media(max-width:720px){.approach .sunset-window::after{background:linear-gradient(0deg,#111023e6,#11102388 75%,#11102355)}}

.feather-card.forest .progress-extra{margin:0 36px 34px;padding-top:24px;border-top:1px solid #d1d9d044;display:grid;grid-template-columns:1fr;gap:18px}.feather-card.forest .progress-extra>a{display:flex;align-items:center;gap:16px;color:#e5ece1;font-size:14px}.feather-card.forest .progress-extra img{width:94px;height:70px;flex-shrink:0;object-fit:cover}.feather-grid{align-items:start}@media(max-width:720px){.feather-card.forest .progress-extra{margin:0 25px 28px}}

.approach .retro-home .sunset-window img{animation:sunset-visible 16s linear 1 normal forwards;animation-play-state:paused}.approach.sunset-started .retro-home .sunset-window img{animation-play-state:running}@media(prefers-reduced-motion:reduce){.approach.sunset-started .retro-home .sunset-window img,.approach .retro-home .sunset-window img{animation:none;transform:scale(1.03);filter:saturate(1.2) brightness(1.05)}}
.gallery-open{font:inherit;font-size:14px;background:none;border:0;border-bottom:1px solid currentColor;padding:0 0 8px;color:inherit;cursor:pointer}.gallery-open span{margin-left:20px}.gallery-open:focus-visible,.gallery-close:focus-visible{outline:3px solid #d4a276;outline-offset:5px}#framing-gallery{width:min(1180px,94vw);max-height:90vh;border:0;background:#f3f2ec;color:#202624;padding:32px}#framing-gallery::backdrop{background:#111c18dc}.gallery-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:25px}.gallery-heading h2{font-size:30px}.gallery-close{padding:10px 16px;border:1px solid #a4afa5;background:transparent;color:inherit;font:inherit;cursor:pointer}.gallery-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gallery-photos figure{margin:0}.gallery-photos img{display:block;width:100%;height:390px;object-fit:contain;background:#e3e5dd}.gallery-photos figcaption{font-size:14px;margin-top:10px}@media(max-width:850px){.gallery-photos{grid-template-columns:1fr}.gallery-photos img{height:auto;max-height:70vh}.gallery-heading h2{font-size:26px}#framing-gallery{padding:24px}.gallery-close{white-space:nowrap}}

.contact>.inquiry-intro{display:grid;grid-template-columns:36% 58%;gap:6%;align-items:start}.inquiry-intro h2{font-size:44px}.inquiry-intro>div>p:not(.eyebrow){color:#cbd5cb;max-width:350px;margin:25px 0}.direct-contact{display:flex;flex-direction:column;gap:10px;margin-top:32px}.direct-contact a{font-size:17px;color:#dfb38c}.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px}.inquiry-form label{font-size:14px;font-weight:500;display:block;color:#f3f2ec}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{display:block;width:100%;border:1px solid #819085;border-radius:5px;background:#f4f3ed;color:#202624;padding:13px 14px;font:400 16px 'DM Sans',sans-serif;margin-top:8px;min-height:48px}.inquiry-form input::placeholder,.inquiry-form textarea::placeholder{color:#6b736a;opacity:1}.inquiry-form textarea{resize:vertical}.inquiry-form input:focus,.inquiry-form textarea:focus,.inquiry-form select:focus{outline:2px solid #e5b68d;outline-offset:3px}.full-field{grid-column:1/-1}.form-note{font-size:13px;color:#c6cfc5;line-height:1.6;margin:20px 0}.inquiry-submit{border:1px solid #edc7a7;border-radius:8px;background:linear-gradient(120deg,#e6b88d,#cf9567);color:#202624;font:600 16px 'DM Sans',sans-serif;min-height:54px;padding:15px 22px;cursor:pointer}.inquiry-submit span{margin-left:25px}.inquiry-submit:hover{background:#ecc19c}.inquiry-submit:disabled{opacity:.5;cursor:not-allowed}.inquiry-submit:focus-visible{outline:3px solid #f7dfc7;outline-offset:5px}@media(max-width:850px){.contact>.inquiry-intro{grid-template-columns:1fr;gap:40px}.inquiry-intro>div>p:not(.eyebrow){max-width:550px}}@media(max-width:550px){.form-fields{grid-template-columns:1fr;gap:18px}.inquiry-intro h2{font-size:36px}}

.contact-page{background:#202624}.contact-page header,.contact-page footer{background:var(--paper)}.contact-back{padding:32px 7% 0;color:#dfb38c;font-size:14px}.contact-page .contact{padding-top:42px}.contact-page .inquiry-intro h2{font-size:48px}.contact-page .inquiry-intro>div{position:sticky;top:35px}@media(max-width:850px){.contact-page .inquiry-intro>div{position:static}.contact-page .inquiry-intro h2{font-size:38px}}
/* Pale concrete above and dark lava concrete below frame the page. */
header,.contact-page header{background-color:#ecece6;background-image:linear-gradient(#f3f2ec33,#f3f2ec33),url("/assets/cache/concrete-texture-1000-7c12d243aa05.webp");background-size:auto,900px 900px;background-repeat:repeat;border-color:#aeb6ac}
footer,.contact-page footer{background-color:#40313e;background-image:linear-gradient(110deg,#3b2f4eab 0%,#5b314780 48%,#6947359e 100%),url("/assets/cache/lava-concrete-texture-1000-1b6529cb0784.webp");background-size:auto,900px 900px;background-repeat:repeat;color:#f6ede5;border-color:#ab806b55}
header{border-bottom:1px solid #2732291a}footer{border-top:1px solid #27322926}
/* Shared geometry keeps both project stories and actions aligned. */
.feather-grid{align-items:stretch}.feather-grid .feather-card{display:flex;flex-direction:column}.feather-grid .feather-card .project-label{min-height:56px;align-items:center}.feather-grid .feather-card .feather-copy{padding:395px 36px 40px;display:flex;flex-direction:column;flex:1}.feather-grid .feather-copy .location{min-height:3.2em;margin:0 0 18px}.feather-grid .feather-copy h3{min-height:2.24em}.feather-grid .feather-copy>p:not(.location){flex:1;margin:24px 0 30px}.feather-grid .feather-copy>a,.feather-grid .feather-copy>.gallery-open{align-self:flex-start;margin-top:auto;font-size:14px;line-height:1.6;padding:0 0 8px;border-bottom:1px solid currentColor}.feather-grid .feather-photo{top:56px;height:430px}@media(max-width:720px){.feather-grid .feather-card .feather-copy{padding:360px 25px 32px}.feather-grid .feather-photo{height:390px}.feather-grid .feather-copy .location{min-height:0}.feather-grid .feather-copy h3{min-height:0}}

/* Consistent control sizing across browsers, including native selects. */
.contact-page .inquiry-form{min-width:0;max-width:760px;width:100%}.form-guide{margin:0 0 28px;font-size:16px;line-height:1.5;color:#d7dfd6}.contact-page .form-fields{gap:24px 22px}.contact-page .inquiry-form label{font-size:15px;font-weight:600;line-height:1.5;min-width:0}.contact-page .inquiry-form label small{font-size:12px;font-weight:400;color:#bfcabd;margin-left:6px;white-space:nowrap}.required-mark{color:#e5b48b}.contact-page .inquiry-form input:not([type=hidden]),.contact-page .inquiry-form select{height:54px;min-height:54px;padding:0 15px;margin-top:9px;border:1px solid #a2afa1;border-radius:7px;font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.4;box-shadow:0 1px 2px #0000000d;box-sizing:border-box}.contact-page .inquiry-form select{appearance:none;-webkit-appearance:none;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23202624' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:16px}.contact-page .inquiry-form textarea{min-height:170px;line-height:1.6;padding:14px 15px;font-size:16px;margin-top:9px;border-radius:7px;border:1px solid #a2afa1}.contact-page .inquiry-form input::placeholder,.contact-page .inquiry-form textarea::placeholder{color:#667164;font-size:15px}.contact-page .form-note{max-width:590px;margin:22px 0;font-size:13px;line-height:1.65}.contact-page .inquiry-submit{height:56px;min-height:56px;padding:0 24px;font-size:16px;display:inline-flex;align-items:center;justify-content:center;gap:28px}.contact-page .inquiry-submit span{margin-left:0}@media(max-width:650px){.contact-page .form-fields{grid-template-columns:1fr;gap:21px}.contact-page .inquiry-form label{font-size:15px}.contact-page .inquiry-submit{width:100%}.contact-page .form-guide{margin-bottom:24px}}

/* Sunrise to sunset: two bookends, with bright project sections between. */
.daybreak,.day-end{position:relative;isolation:isolate;overflow:hidden;color:#fff4e9;background:#30271e}.daybreak{min-height:740px;padding:70px 7% 120px;display:flex;align-items:center}.day-scene{position:absolute;inset:0;z-index:-1;overflow:hidden}.day-scene img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 47%;transform:scale(1.015);animation:daylight-drift 7s ease-out 1 forwards;animation-play-state:paused}.scene-started .day-scene img{animation-play-state:running}.day-scene::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#1a241fd9 0%,#2530279c 39%,#30342514 75%),linear-gradient(0deg,#15241b8c,transparent 45%)}.daybreak-copy{max-width:860px;min-width:0}.daybreak h1{font-size:clamp(3rem,5.8vw,5.5rem);line-height:1.12;letter-spacing:-.045em;text-wrap:balance}.daybreak h1 em{color:#f4c690}.daybreak-copy>p:not(.eyebrow){font-size:clamp(1.25rem,1.7vw,1.5rem);line-height:1.6;color:#fff4e9;margin:28px 0 34px}.journey-button{display:inline-flex;align-items:center;gap:24px;min-height:60px;padding:12px 14px 12px 24px;border-radius:10px;background:linear-gradient(125deg,#e6b88d,#cf9567);border:1px solid #ecc5a080;box-shadow:0 5px 16px #0000001f;font-size:16px;font-weight:600;color:#202624}.journey-button span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#202624;color:#efd0b0;font-size:20px}.journey-button>span{flex-shrink:0;color:#dda979}.journey-button .conversation-icon{display:block;width:28px;height:28px}.journey-button:hover{background:#ecc5a0}.journey-button:hover>span{color:#ecc5a0}.daybreak-bottom{position:absolute;bottom:55px;left:7%;right:7%;display:flex;justify-content:space-between;gap:24px;border-top:1px solid #fff5df40;padding-top:20px;font-size:12px;letter-spacing:.08em}.daybreak-bottom a{letter-spacing:0;font-size:14px}.scene-caption{position:absolute;bottom:15px;left:7%;margin:0;font-size:12px;color:#f0e8dfcc}.builder-story{display:grid;grid-template-columns:1fr 1fr;gap:8%;background:#f5f4ee}.builder-story h2{font-size:40px;line-height:1.2}.builder-story>div>p:not(.eyebrow){font-size:18px;line-height:1.75;color:#586254;margin:0 0 20px}.day-end{min-height:660px;padding:115px 7%;display:flex;align-items:center}.day-end .day-scene img{object-position:center 43%}.day-end .day-scene::after{background:linear-gradient(90deg,#211726d9 0%,#20192b94 45%,#24172a22 100%),linear-gradient(0deg,#201624a6,transparent 60%)}.day-end-copy{max-width:730px}.day-end .eyebrow{font-size:12px;color:#f6c3a5}.day-end h2{font-size:clamp(40px,5vw,68px);line-height:1.13}.day-end h2 em{color:#ffc99f}.day-end-copy>p:not(.eyebrow){font-size:19px;color:#f2e7de;line-height:1.65;margin:26px 0 32px}.day-end .scene-caption{bottom:20px}@keyframes daylight-drift{from{transform:scale(1.015)}to{transform:scale(1.09)}}@media(max-width:720px){.daybreak{min-height:730px;padding:55px 6% 145px}.daybreak-copy{max-width:100%}.daybreak h1{font-size:clamp(2.75rem,12vw,3.5rem)}.daybreak .day-scene img{object-position:52% center}.day-scene::after{background:linear-gradient(90deg,#1a241fe0,#25302788),linear-gradient(0deg,#15241ba6,transparent)}.daybreak-bottom{left:6%;right:6%;bottom:58px;flex-direction:column;gap:10px;padding-top:16px;font-size:11px}.scene-caption{left:6%;font-size:11px;max-width:88%}.builder-story{grid-template-columns:1fr;gap:28px}.builder-story h2{font-size:33px}.builder-story>div>p:not(.eyebrow){font-size:17px}.day-end{min-height:610px;padding:75px 6% 90px}.day-end h2{font-size:42px}.day-end .day-scene img{object-position:55% center}.day-end .day-scene::after{background:linear-gradient(90deg,#211726d9,#20192b88)}.journey-button{font-size:15px;gap:20px}}
@media(prefers-reduced-motion:reduce){.daybreak .day-scene img,.day-end .day-scene img{animation:none;transform:none}}

.daybreak .day-scene::after{background:linear-gradient(90deg,#17241bd9 0%,#19281b9c 34%,#19281b14 70%),linear-gradient(0deg,#15241b88,transparent 40%)}.day-end .day-scene::after{background:linear-gradient(90deg,#211326d9 0%,#21132699 38%,#2113260d 78%),linear-gradient(0deg,#2016249c,transparent 50%)}@media(max-width:720px){.daybreak .day-scene::after{background:linear-gradient(90deg,#17241be0,#19281b70),linear-gradient(0deg,#15241ba6,transparent)}.day-end .day-scene::after{background:linear-gradient(90deg,#211326d9,#21132677)}}

/* Larger type and comfortable spacing in the opening sunrise. */
.daybreak .journey-button{font-size:1.125rem;min-height:64px}.daybreak-bottom{font-size:.875rem;letter-spacing:.06em}.daybreak-bottom a{font-size:1rem}.daybreak .scene-caption{font-size:.875rem;color:#fff0e0}.daybreak .journey-button{max-width:100%}@media(max-width:720px){.daybreak{padding-bottom:165px}.daybreak .journey-button{font-size:1.0625rem;gap:16px;padding-left:18px}.daybreak-bottom{font-size:.875rem;bottom:68px;gap:10px}.daybreak .scene-caption{bottom:16px;line-height:1.5}}

/* The new wordmark is framed to remove transparent canvas padding. */
header .brand-logo{width:300px;height:58px;object-fit:cover;object-position:center}.brand{flex-shrink:0}footer .brand-logo{width:270px;height:52px;object-fit:cover;object-position:center}.brand span{margin-top:4px}footer p,footer>a:last-child{color:#30362f;font-size:.9375rem}@media(max-width:720px){header{gap:12px}header .brand-logo{width:clamp(155px,46vw,205px);height:40px}header .brand span{font-size:10px}footer .brand-logo{width:230px;height:46px}}

.builder-story{background-color:#ecece6;background-image:linear-gradient(#f3f2ec66,#f3f2ec66),url("/assets/cache/concrete-texture-1000-7c12d243aa05.webp");background-size:auto,1000px 1000px;background-repeat:repeat}.builder-story>div>p:not(.eyebrow){color:#3f4b40}

/* Readable navigation with generous targets and room to wrap. */
header{height:auto;min-height:128px;padding-block:24px;flex-wrap:wrap;row-gap:18px}
header nav{min-width:0;max-width:100%;flex-wrap:wrap;gap:clamp(24px,2.5vw,40px);font-size:1.25rem;font-weight:600;line-height:1.4;color:#202624}
header nav>a{display:inline-flex;align-items:center;min-height:48px;white-space:nowrap}
header nav .nav-contact{font-size:1.25rem;min-height:58px;padding:14px 24px;border-width:2px}
header nav .nav-contact span{font-size:1.4rem;margin-left:24px;line-height:1}
@media(min-width:721px) and (max-width:1120px){header nav{width:100%;justify-content:space-between;gap:16px}}
@media(max-width:720px){header{min-height:105px;padding-block:20px;gap:16px 12px}header nav{gap:12px;font-size:1.125rem}header nav>a:not(.nav-contact){display:none}header nav .nav-contact{font-size:1.125rem;min-height:52px;padding:12px 16px}header nav .nav-contact span{margin-left:12px;font-size:1.25rem}}

/* Light lettering keeps the lava-concrete footer clear. */
footer .brand-logo{filter:brightness(0) invert(1);opacity:.94}footer .brand span{color:#f6ede5}footer p{color:#e4d4d3;font-size:1rem}footer>a:last-child{color:#f3cda8;font-size:1rem}footer a:focus-visible{outline-color:#edbd90}

/* A generated sun rises behind a mask aligned with the photographed skyline. */
.daybreak .sunrise-scene{container-type:size}
.daybreak .sunrise-scene img{animation:none;transform:none}
.sunrise-poster{position:absolute;inset:0;display:block;opacity:1;transition:opacity .5s}
.daybreak .sunrise-poster img{object-position:50% 0;filter:brightness(.52) saturate(.64) contrast(1.08)}
.sunrise-world{position:absolute;top:0;left:50%;width:max(100cqw,150cqh);height:max(100cqh,66.666667cqw);transform:translateX(-50%);visibility:hidden;opacity:0;pointer-events:none;transition:opacity .5s}
.daybreak .sunrise-landscape{position:absolute;inset:0;object-fit:fill;filter:brightness(.52) saturate(.64) contrast(1.08)}
.sunrise-sky-mask{position:absolute;inset:0;clip-path:polygon(0 0,100% 0,100% 28%,97% 29%,94% 27%,91% 29%,88% 29%,86% 26.8%,83% 27%,80% 27.9%,78% 28%,76% 28.9%,75% 29.6%,74% 29.2%,73% 28.7%,72% 28.3%,71% 28%,70% 27.6%,69% 27%,67.6% 26.5%,65% 27.3%,63% 28.1%,60% 29.2%,57% 27%,54% 25.3%,51% 27%,48% 27%,44% 23%,41% 22%,37% 24%,33% 26%,29% 24%,26% 21%,22% 22%,18% 24%,14% 27%,0 36%)}
.sunrise-path{position:absolute;inset:0;transform:translateY(34%)}
.daybreak .sunrise-scene .sunrise-disc{position:absolute;left:72%;top:0;width:16%;height:auto;aspect-ratio:1;object-fit:contain;transform:translate(-50%,-50%);filter:blur(.7px);opacity:.95}
.sunrise-warmth{position:absolute;inset:0;z-index:3;background:radial-gradient(ellipse at 72% 34%,#ffe1a6 0%,#f6b56c 38%,#bd69414d 75%,transparent 100%);mix-blend-mode:soft-light;opacity:0}
.sunrise-ready .sunrise-world{visibility:visible;opacity:1}
.sunrise-ready .sunrise-poster{opacity:0}
.sunrise-ready.scene-started .sunrise-path{animation:sunrise-lift 5s cubic-bezier(.25,.35,.45,1) 1 forwards}
.sunrise-ready.scene-started .sunrise-landscape{animation:sunrise-daylight 5s ease-out 1 forwards}
.sunrise-ready.scene-started .sunrise-warmth{animation:sunrise-warming 5s ease-out 1 forwards}
@keyframes sunrise-lift{from{transform:translateY(34%)}to{transform:translateY(17%)}}
@keyframes sunrise-daylight{0%{filter:brightness(.52) saturate(.64) contrast(1.08)}32%{filter:brightness(.67) saturate(.85) contrast(1.1)}72%{filter:brightness(.98) saturate(1.13) contrast(1.07)}100%{filter:brightness(1.12) saturate(1.15) contrast(1.06)}}
@keyframes sunrise-warming{0%{opacity:0}35%{opacity:.1}75%{opacity:.34}100%{opacity:.44}}
@media(max-width:720px){.sunrise-world{left:72%;transform:translateX(-72%)}.daybreak .sunrise-poster img{object-position:72% 0}}
@media(prefers-reduced-motion:reduce){.daybreak .sunrise-world{display:none}.daybreak .sunrise-poster{opacity:1;transition:none}.daybreak .sunrise-poster img{filter:none}.sunrise-path,.sunrise-warmth,.sunrise-landscape{animation:none!important}}

/* Cool dawn shadows retreat as golden light reaches the home and ground. */
.sunrise-world::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,#18254a38 15%,#111a3999 100%);mix-blend-mode:multiply;opacity:.85}.sunrise-sky-mask{z-index:2}.sunrise-ready.scene-started .sunrise-world::after{animation:sunrise-shadow-lift 5s ease-out 1 forwards}@keyframes sunrise-shadow-lift{0%{opacity:.85}40%{opacity:.55}100%{opacity:0}}

/* Explicit semibold for the three main navigation links. */
header nav>a:not(.nav-contact){font-weight:600}

/* Water and natural materials create a visual pause after the daylight story. */
.water-section{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);background:#27372f;color:#f8f1e7}
.water-image{position:relative;min-width:0;margin:0;min-height:620px;overflow:hidden;background:#3e473d}
.water-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block}
.water-image figcaption{position:absolute;bottom:0;left:0;right:0;margin:0;padding:65px 30px 24px;background:linear-gradient(transparent,#15221bc9);color:#fff5e6;font-size:.875rem;line-height:1.55}
.water-copy{min-width:0;align-self:center;padding:clamp(38px,4.5vw,80px) clamp(28px,4vw,68px)}
.water-copy .eyebrow{font-size:.875rem;color:#efc09a;margin-bottom:26px;letter-spacing:.12em}
.water-copy h2{font-size:clamp(2.25rem,3.5vw,3.75rem);line-height:1.15;letter-spacing:-.04em;text-wrap:balance}
.water-copy .water-lead{font-size:clamp(1.25rem,1.55vw,1.5rem);line-height:1.6;color:#f2e8d9;margin:26px 0 32px;max-width:40ch}
.water-ideas{margin:0}
.water-ideas>div{margin-top:26px;padding-top:25px;border-top:1px solid #dfd6c833}
.water-ideas dt{font-family:'Manrope',Arial,sans-serif;font-size:1.25rem;font-weight:600;letter-spacing:-.02em;line-height:1.4;margin-bottom:10px}
.water-ideas dd{font-size:1.125rem;line-height:1.75;color:#dce3d9;margin:0;max-width:49ch}
.water-copy a{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;text-decoration-color:#b8c4b6}
.water-copy a:hover{color:#f2c39b;text-decoration-color:currentColor}
.water-copy a:focus-visible{outline-color:#efc09a}
.water-planning{font-size:1rem;line-height:1.75;color:#dce3d9;margin:30px 0 0;padding-left:18px;border-left:2px solid #c79569}
.water-planning strong{display:block;color:#f1c29c;font-weight:600;margin-bottom:5px}
@media(max-width:1050px){.water-section{grid-template-columns:1fr}.water-image{min-height:0;aspect-ratio:3/2;max-height:620px}.water-copy{padding:56px 6% 62px}.water-copy h2{font-size:clamp(2.25rem,5vw,3.25rem)}.water-copy .water-lead{max-width:52ch}.water-ideas{display:grid;grid-template-columns:1fr 1fr;gap:32px}.water-ideas>div{margin-top:0}.water-planning{max-width:76ch}}
@media(max-width:650px){.water-image{aspect-ratio:6/5}.water-image figcaption{padding:55px 6% 20px}.water-copy{padding:42px 6% 50px}.water-copy .eyebrow{margin-bottom:22px}.water-copy .water-lead{margin-top:22px}.water-ideas{grid-template-columns:1fr;gap:25px}.water-ideas dt{font-size:1.25rem}.water-planning{margin-top:28px}}

/* Daylight planning carries the sunrise-to-sunset story into the home. */
.audio-section{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);background:#382f3d;color:#fcf1ed}
.audio-image{grid-column:2;grid-row:1;background:#473c3b}.audio-copy{grid-column:1;grid-row:1}
.audio-copy .water-ideas dd,.audio-research{color:#e6dce3}.audio-copy .eyebrow{color:#edbd9c}
.audio-research{font-size:1rem;line-height:1.75;margin:30px 0 0;padding-left:18px;border-left:2px solid #c595a8}
.audio-research strong{display:block;color:#f2c8b1;font-weight:600;margin-bottom:5px}
.audio-system-credit{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 22px;margin-top:28px;color:#f2c8b1;font-size:1rem;line-height:1.6}.audio-system-credit strong{font-weight:600;letter-spacing:.04em}.audio-system-credit a{display:inline-flex;align-items:center;gap:10px;min-height:44px;text-underline-offset:5px}
@media(max-width:1050px){.audio-section{grid-template-columns:1fr}.audio-image,.audio-copy{grid-column:auto;grid-row:auto}.audio-research{max-width:76ch}}

.daylight-section,.directions{background-color:#eee6da;background-image:linear-gradient(115deg,#f4e3d08f 0%,#f4f1e59e 55%,#e8e1ea8f 100%),url("/assets/cache/concrete-texture-1000-7c12d243aa05.webp");background-size:auto,1000px 1000px;background-repeat:repeat;border-block:1px solid #cbbfaf}
.projects{background-color:#e5e8e1;background-image:linear-gradient(#e5e8e199,#e5e8e199),url("/assets/cache/concrete-texture-1000-7c12d243aa05.webp");background-size:auto,1000px 1000px;background-repeat:repeat}
.daylight-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:start;margin-bottom:48px}
.daylight-heading .eyebrow{color:#75503a}
.daylight-heading h2{font-size:clamp(2.125rem,3.4vw,3.5rem);line-height:1.16;text-wrap:balance}
.daylight-intro p{font-size:clamp(1.125rem,1.45vw,1.375rem);line-height:1.65;color:#464d45;margin:0;max-width:48ch}
.daylight-intro p+p{margin-top:20px}
.daylight-intro a,.daylight-sources a{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.daylight-phases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.daylight-phase{display:flex;flex-direction:column;min-width:0;padding:30px clamp(22px,2.2vw,36px);border:1px solid #d6c3ad;background:#f1ddc5;color:#342b24}
/* Lifestyle photography sits below the card copy and a contrast-preserving tint. */
.daylight-phase{position:relative;isolation:isolate;overflow:hidden}
.phase-lifestyle-image{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:60% center;pointer-events:none}
.daylight-phase::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none}
.daylight-morning::before{background:linear-gradient(180deg,#f1ddc500 0%,#f1ddc51a 25%,#f1ddc5c2 62%,#f1ddc5eb 100%),linear-gradient(90deg,#f1ddc5ed 0%,#f1ddc5b8 62%,#f1ddc570 100%)}
.daylight-day::before{background:linear-gradient(180deg,#f8f5ec00 0%,#f8f5ec1a 25%,#f8f5ecc2 62%,#f8f5eceb 100%),linear-gradient(90deg,#f8f5eced 0%,#f8f5ecb8 62%,#f8f5ec70 100%)}
.daylight-evening::before{background:linear-gradient(180deg,#33293840 0%,#33293866 25%,#332938c2 70%,#332938e0 100%),linear-gradient(90deg,#3329389c 0%,#33293840 80%)}
.daylight-phase.daylight-day{background:#f8f5ec;border-color:#d8d3c5;color:#323b32}
.daylight-phase.daylight-evening{background:#443649;border-color:#443649;color:#fcf1ed}
.daylight-phase .phase-label{display:flex;align-items:center;gap:14px;margin:0 0 36px;font-size:.8125rem;font-weight:600;letter-spacing:.13em;line-height:1.5}
.phase-label span{font-variant-numeric:tabular-nums;letter-spacing:0;opacity:.7}
.daylight-phase h3{font-size:clamp(1.5rem,2.05vw,2rem);line-height:1.2;letter-spacing:-.035em;margin:0 0 22px}
.daylight-phase>p:not(.phase-label):not(.phase-detail){font-size:1.125rem;line-height:1.7;margin:0 0 30px;flex:1}
.daylight-phase .phase-detail{margin:auto 0 0;padding-top:20px;border-top:1px solid #342b2438;font-size:.875rem;line-height:1.5}
.daylight-evening .phase-label{color:#f0c9b4}.daylight-evening .phase-detail{border-color:#fcf1ed40;color:#ebd8dc}
.daylight-bottom{display:flex;align-items:center;justify-content:space-between;gap:36px;margin-top:38px}
.daylight-bottom>p{font-size:1.125rem;color:#4c5149;line-height:1.65;max-width:65ch;margin:0}
.daylight-bottom strong{display:block;color:#2f382f;font-weight:600;margin-bottom:5px}
.daylight-link{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;flex-shrink:0;min-height:48px;font-size:1rem;font-weight:600;border-bottom:1px solid #6b665f}
.daylight-link span{font-size:1.5rem;font-weight:400}
.daylight-link:hover{color:#785031;border-color:currentColor}
.daylight-sources{margin:30px 0 0;font-size:.875rem;line-height:1.7;color:#59564f}
.daylight-sources a{display:inline-block;padding-block:4px}
@media(max-width:1000px){.daylight-heading{grid-template-columns:1fr;gap:26px}.daylight-intro p{max-width:68ch}.daylight-bottom{flex-direction:column;align-items:flex-start;gap:20px}}
@media(max-width:800px){.daylight-phases{grid-template-columns:1fr;gap:18px}.daylight-phase{padding:28px}.daylight-phase .phase-label{margin-bottom:24px}.daylight-phase h3{font-size:1.75rem}.daylight-phase>p:not(.phase-label):not(.phase-detail){margin-bottom:25px}.daylight-heading{margin-bottom:32px}.daylight-bottom{margin-top:30px}}

/* Give the design introduction equal presence beside its heading. */
.daylight-feature{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,4.5vw,76px);align-items:center;margin-bottom:50px}
.daylight-phase .phase-label{font-size:.875rem;gap:13px}.phase-icon{display:block;width:30px;height:30px;flex-shrink:0;color:#805333}.daylight-day .phase-icon{color:#506341}.daylight-evening .phase-icon{color:#f0c9b4}
.daylight-overview{min-width:0}.daylight-overview .eyebrow{font-size:.875rem;color:#75503a;margin-bottom:25px}.daylight-overview h2{font-size:clamp(2.125rem,3.4vw,3.5rem);line-height:1.16;text-wrap:balance}
.daylight-overview .daylight-intro{margin-top:26px}.daylight-overview .daylight-intro p{line-height:1.7}
.daylight-shade-note{border-left:2px solid #b27a4e;padding-left:18px;margin:28px 0 0;font-size:1rem;line-height:1.75;color:#464d45}.daylight-shade-note strong{display:block;font-weight:600;color:#75503a;margin-bottom:5px}.daylight-shade-note a{text-decoration:underline;text-underline-offset:4px}
.daylight-visual{min-width:0;margin:0;background:#f8f5ed;border:1px solid #cfc7bc;box-shadow:0 16px 40px #47351d0d}
.shade-demo{position:relative;aspect-ratio:3/2;width:100%;overflow:hidden;background:#584a38;isolation:isolate}
/* Generated fabric and room lighting share the same aligned scene. */
.shade-scene,.shade-reveal,.shade-room-lighting{position:absolute;inset:0}.shade-demo img{display:block;width:100%;height:100%;object-fit:fill}
.shade-reveal,.shade-room-lighting{mask-size:100% 100%;mask-mode:luminance;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat}
.shade-reveal{clip-path:inset(0 0 100% 0);mask-image:url("/assets/shade-window-mask.svg");-webkit-mask-image:url("/assets/shade-window-mask.svg")}
.shade-room-lighting{opacity:0;mask-image:url("/assets/shade-room-mask.svg");-webkit-mask-image:url("/assets/shade-room-mask.svg")}
.shade-demo.is-playing .shade-reveal{animation:shade-lower 8s linear 1 forwards}.shade-demo.is-playing .shade-room-lighting{animation:shade-light-soften 8s linear 1 forwards}
.shade-demo.is-complete .shade-reveal{clip-path:inset(0 0 53.8% 0)}.shade-demo.is-complete .shade-room-lighting{opacity:1}
@keyframes shade-lower{0%,8%{clip-path:inset(0 0 100% 0)}100%{clip-path:inset(0 0 53.8% 0)}}
/* Direct light fades as the fabric reaches the sun's height in the glazing. */
@keyframes shade-light-soften{0%,64%{opacity:0}78%{opacity:.38}93%{opacity:.93}100%{opacity:1}}
@media(max-width:1100px){.daylight-feature{grid-template-columns:1fr;gap:30px}.daylight-overview .daylight-intro p{max-width:68ch}.daylight-shade-note{max-width:75ch}.daylight-visual{width:100%}}
@media(max-width:650px){.daylight-feature{margin-bottom:34px}}
@media(prefers-reduced-motion:reduce){.shade-demo.is-playing .shade-reveal,.shade-demo.is-playing .shade-room-lighting{animation:none}}
.directions .section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(32px,5vw,96px);align-items:end}.directions .section-heading>.design-intro{font-size:clamp(1.375rem,1.8vw,1.75rem);line-height:1.5;color:#4b554e;margin:0;max-width:36ch;text-wrap:pretty}.design-intro span{display:block}.design-intro span+span{margin-top:.25em}@media(max-width:900px){.directions .section-heading{grid-template-columns:1fr;row-gap:24px}.directions .section-heading>.design-intro{max-width:38ch}}

/* Real project photography, with consistent crops and full-frame viewing. */
.project-archive{margin-top:64px;padding-top:44px;border-top:1px solid #b9c2b6}
.project-archive-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:28px}
.project-archive-heading h3{font-size:clamp(1.8rem,2.5vw,2.6rem);line-height:1.2}
.project-archive-heading p{margin:0;max-width:36ch;color:#505c51;font-size:1.0625rem;line-height:1.6}
.project-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px}
.portfolio-photo{display:block;min-width:0;border:1px solid #bcc5b7;background:#f3f2ec;color:#26332c;overflow:hidden}
.portfolio-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:var(--photo-position,center);filter:var(--photo-adjust,none);transition:opacity .2s}
.portfolio-photo:hover img{opacity:.94}
.portfolio-photo-label{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 19px;font-size:1rem;font-weight:500;line-height:1.45}
.portfolio-photo-label span{font-size:1.4rem;color:#765332}
.portfolio-photo:focus-visible{outline:3px solid #a86534;outline-offset:5px}
#project-viewer{width:min(1240px,96vw);max-width:none;max-height:94dvh;overflow:auto;border:1px solid #667369;background:#18231e;color:#fff7ed;padding:20px 24px 24px}
#project-viewer::backdrop{background:#0c1712e8}
.project-viewer-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px}
.project-viewer-header p{margin:0;font-size:1rem;letter-spacing:.03em}
#project-viewer button{font:inherit;font-size:1rem;min-height:44px;padding:9px 16px;border:1px solid #7d897c;color:#fff7ed;background:#27382e;cursor:pointer}
#project-viewer button:hover{background:#3b4c40}#project-viewer button:focus-visible{outline:3px solid #e9b17b;outline-offset:3px}
.project-viewer-image{display:block;width:100%;height:min(65dvh,760px);object-fit:contain;filter:var(--photo-adjust,none);background:#111c16}
.project-viewer-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:20px}
#project-viewer-caption{font-size:1.125rem;line-height:1.5;margin:0}
.project-viewer-nav{display:flex;align-items:center;gap:15px}.project-viewer-count{font-size:1rem;min-width:44px;text-align:center;white-space:nowrap}
@media(max-width:1000px){.project-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.project-archive{margin-top:42px;padding-top:32px}.project-archive-heading{display:block}.project-archive-heading p{margin-top:17px}.project-photo-grid{grid-template-columns:1fr;gap:22px}#project-viewer{padding:14px;width:96vw}.project-viewer-image{height:58dvh}.project-viewer-footer{align-items:flex-start;flex-direction:column;gap:16px}.project-viewer-nav{width:100%;justify-content:space-between}}
@media(prefers-reduced-motion:reduce){.portfolio-photo img{transition:none}}

/* Keep the actual construction details visible above the feathered caption. */
.feather-card.forest .feather-photo{filter:contrast(1.12) saturate(1.06) brightness(1.035)}

/* Let the selected wide speaker arrangement remain visible on compact desktops. */
@media(min-width:1051px) and (max-width:1500px){.audio-section{grid-template-columns:1fr}.audio-image,.audio-copy{grid-column:auto;grid-row:auto}.audio-image{min-height:0;aspect-ratio:3/2;max-height:900px}.audio-research{max-width:76ch}}

/* Architectural symbols follow the blue and purple sun mark. */
.building-icon{display:block;width:52px;height:52px;margin:0 0 18px;color:#4d70aa}
.building-icon .icon-accent{stroke:#77618f}
footer .brand .brand-logo-stack{position:relative;display:block;width:270px;height:52px;margin:0;line-height:0;letter-spacing:0}
footer .brand-logo-color{position:absolute;inset:0;clip-path:inset(0 73.8% 0 0);filter:brightness(1.65) saturate(.8);opacity:1;pointer-events:none}
@media(max-width:720px){footer .brand .brand-logo-stack{width:230px;height:46px}}

/* A quiet morning at home gives the inquiry introduction a warmer setting. */
.contact-page .contact>.inquiry-intro{align-items:stretch}
.contact-page .inquiry-intro>.inquiry-story{position:relative;top:auto;min-height:680px;padding:32px 28px;background-color:#202624;background-image:linear-gradient(180deg,#18241fee 0%,#18241fe3 34%,#18241f8c 61%,#18241f33 100%),url("/assets/optimized/morning-lifestyle-1024.webp");background-position:center,85% center;background-size:cover;background-repeat:no-repeat}
.contact-page .inquiry-story>p:not(.eyebrow){color:#f0f1e8}
.contact-page .inquiry-story .direct-contact a{color:#f2c69f}
@media(max-width:850px){.contact-page .inquiry-intro>.inquiry-story{min-height:610px;padding:32px;background-position:center,85% 42%}}
@media(max-width:550px){.contact-page .inquiry-intro>.inquiry-story{min-height:620px;padding:28px 22px}}

/* Use GEOLINK’s official wordmark as the linked audio partner credit. */
.audio-partner{display:inline-flex;flex-wrap:wrap;align-items:center;gap:12px}
.audio-system-credit .audio-partner-logo{padding:10px 0;background:none;border:0;border-radius:0;text-decoration:none}
/* Screen blending drops the dark image backdrop; contrast removes its navy tint. */
.audio-partner-logo img{display:block;width:166px;height:auto;mix-blend-mode:screen;filter:contrast(1.18)}
.audio-system-credit .audio-partner-logo:hover img{filter:contrast(1.18) brightness(1.12)}
.audio-system-credit .audio-partner-logo:focus-visible{outline:3px solid #efc09a;outline-offset:5px}

/* Construction photography shares the sunset palette and material texture. */
.project-archive.section{margin:0;border:0;padding-top:clamp(64px,7vw,112px);padding-bottom:clamp(64px,7vw,112px);background-color:#40313e;background-image:linear-gradient(120deg,#30263de8 0%,#483443d9 48%,#624635c9 100%),url("/assets/cache/lava-concrete-texture-1000-1b6529cb0784.webp");background-size:auto,900px 900px;color:#fcf1ed}
.project-archive-heading{align-items:end;gap:48px;margin-bottom:42px}
.project-archive-heading .eyebrow{margin:0 0 22px;color:#edbd9c;font-size:.875rem;letter-spacing:.12em}
.project-archive-heading h2{font-size:clamp(2.5rem,4.5vw,4.4rem);line-height:1.1}
.project-archive-heading h2 em{color:#efbb96}
.project-archive-heading>p{max-width:34ch;margin:0 0 3px;color:#e8dce0;font-size:clamp(1.125rem,1.35vw,1.3rem);line-height:1.65}
.project-photo-feature{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:24px;height:clamp(580px,56vw,850px);margin-bottom:24px}
.project-photo-feature .portfolio-photo-featured{grid-row:span 2}
.project-archive .portfolio-photo{position:relative;isolation:isolate;display:block;border:0;background:#28232b;color:#fff8f0;overflow:hidden}
.project-photo-feature .portfolio-photo img{height:100%;aspect-ratio:auto}
.project-archive .portfolio-photo img{transition:transform .4s ease;opacity:1}
.project-archive .portfolio-photo::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,transparent 42%,#211b2940 65%,#211b29ed 100%);pointer-events:none}
.project-archive .portfolio-photo-label{position:absolute;inset:auto 0 0;z-index:2;padding:24px;gap:18px;font-size:clamp(1.125rem,1.6vw,1.5rem);font-weight:500;line-height:1.35;letter-spacing:-.02em}
.project-archive .portfolio-photo-featured .portfolio-photo-label{padding:32px;font-family:'Manrope',Arial,sans-serif;font-size:clamp(1.75rem,2.9vw,2.75rem);max-width:100%}
.project-archive .portfolio-photo-label>span{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border:1px solid #f5d9c270;border-radius:50%;font-size:1.4rem;color:#f4c6a2}
.project-archive .portfolio-photo:hover img{transform:scale(1.025);opacity:1}
.project-archive .portfolio-photo:focus-visible{outline:3px solid #f4c6a2;outline-offset:5px}
.project-archive .project-photo-grid{gap:24px}
.project-archive .project-photo-grid img{aspect-ratio:4/3}
.project-archive .project-photo-grid .portfolio-photo-label{font-size:clamp(1.125rem,1.35vw,1.3rem);padding:22px}
@media(max-width:1050px){.project-archive-heading{gap:30px}.project-photo-feature{gap:18px;margin-bottom:18px;height:620px}.project-archive .project-photo-grid{gap:18px}.project-archive .portfolio-photo-label{padding:20px}.project-archive .portfolio-photo-featured .portfolio-photo-label{padding:24px}}
@media(max-width:650px){.project-archive-heading{display:block;margin-bottom:30px}.project-archive-heading>p{margin:22px 0 0}.project-archive-heading .eyebrow{margin:0 0 20px}.project-photo-feature{grid-template-columns:1fr;grid-template-rows:none;height:auto;gap:22px;margin-bottom:22px}.project-photo-feature .portfolio-photo-featured{grid-row:auto}.project-photo-feature .portfolio-photo img{height:auto;aspect-ratio:4/3}.project-photo-feature .portfolio-photo-featured img{aspect-ratio:4/5}.project-archive .project-photo-grid{gap:22px}.project-archive .portfolio-photo-label,.project-archive .project-photo-grid .portfolio-photo-label{padding:22px;font-size:1.25rem}.project-archive .portfolio-photo-featured .portfolio-photo-label{padding:24px;font-size:1.875rem}}
@media(prefers-reduced-motion:reduce){.project-archive .portfolio-photo img{transition:none}.project-archive .portfolio-photo:hover img{transform:none}}

/* Shared reading scale, touch targets, and responsive navigation. */
:root{--body-size:1.125rem;--section-title:clamp(2.125rem,3.4vw,3.5rem);--card-title:clamp(1.625rem,2.1vw,2rem)}
body{font-size:var(--body-size)}
button,input,select,textarea{font-family:inherit}
h1,h2,h3,p,dd{overflow-wrap:break-word}
.eyebrow{font-size:.875rem}
.builder-story h2,.section-heading h2{font-size:var(--section-title);line-height:1.17}
.builder-story>div>p:not(.eyebrow){font-size:var(--body-size);max-width:62ch}
.section-heading>p{font-size:var(--body-size);line-height:1.65}
.direction-list{grid-template-columns:repeat(3,minmax(0,1fr))}
.direction-list article{min-width:0}
.direction-list h3{font-size:var(--card-title);line-height:1.25}
.direction-list p{font-size:var(--body-size);line-height:1.65;max-width:40ch;min-height:0}
.direction-list .tag,.direction-image figcaption,.small-note{font-size:.875rem;line-height:1.6}
.direction-list .tag{display:block;margin-top:24px;letter-spacing:.03em}
.direction-image img{height:auto;aspect-ratio:4/3}
.feather-card .project-label,.feather-copy .location{font-size:.875rem;letter-spacing:.055em}
.feather-grid .feather-copy>p:not(.location){font-size:var(--body-size);line-height:1.65}
.feather-grid .feather-copy>a,.feather-grid .feather-copy>.gallery-open{font-size:1rem;min-height:44px;align-items:center;display:inline-flex;gap:16px}
.gallery-open span{margin-left:0}
.day-end .eyebrow,.day-end .scene-caption{font-size:.875rem}
header{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;column-gap:clamp(18px,2vw,32px);align-items:center}
header nav.primary-nav{width:auto;justify-content:flex-end;gap:clamp(18px,2.2vw,32px);font-size:1.125rem;flex-wrap:nowrap}
header nav.primary-nav>a{display:inline-flex;min-height:48px}
header>.header-contact{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:12px 22px;border:2px solid currentColor;font-size:1.125rem;font-weight:600;line-height:1.4;white-space:nowrap}
header>.header-contact span{margin-left:20px;font-size:1.4rem}
header>.header-contact:hover{color:#754a2e;background:#fff3}
@media(min-width:721px) and (max-width:1120px){header{grid-template-columns:1fr auto}header nav.primary-nav{grid-column:1/-1;grid-row:2;justify-content:space-between}header>.header-contact{grid-column:2;grid-row:1}}
@media(max-width:900px){.direction-list{grid-template-columns:1fr;gap:38px}.direction-list p{max-width:62ch}.direction-image img{max-height:470px;aspect-ratio:3/2}.direction-list article,.direction-list article+article{padding:0}.daylight-phases{grid-template-columns:1fr;gap:20px}.daylight-phase>p:not(.phase-label):not(.phase-detail){max-width:65ch}.feather-grid{grid-template-columns:1fr;gap:28px}}
@media(max-width:720px){header{grid-template-columns:minmax(0,1fr) auto;padding:18px 6% 12px;row-gap:10px}header .brand-logo{width:clamp(142px,44vw,205px);height:40px}header nav.primary-nav{grid-column:1/-1;grid-row:2;justify-content:space-between;gap:12px;font-size:.9375rem}header nav.primary-nav>a{display:inline-flex;min-height:44px}header>.header-contact{grid-column:2;grid-row:1;font-size:1rem;min-height:48px;padding:10px 12px}header>.header-contact span{margin-left:10px;font-size:1.25rem}.daybreak h1{font-size:clamp(2.125rem,10.2vw,3.125rem)}.daybreak{min-height:680px;padding-top:42px}.day-end h2{font-size:clamp(2.125rem,10vw,2.75rem)}.daylight-phase{padding:28px 24px}.section-heading h2,.builder-story h2{font-size:var(--section-title)}.direction-list h3{font-size:1.75rem}.direction-image img{max-height:none}.eyebrow{font-size:.875rem}.feather-copy h3{font-size:2rem}.feather-card .project-label{gap:4px 12px}.daybreak-bottom{letter-spacing:.03em}}
@media(max-width:359px){header nav.primary-nav{font-size:.875rem;gap:8px}header>.header-contact{padding:10px;font-size:.9375rem}header>.header-contact span{margin-left:7px}.brand span{letter-spacing:.1em}.daybreak-copy>p:not(.eyebrow){font-size:1.125rem}.journey-button{gap:12px}}
/* A single page heading and consistent, legible form controls. */
.contact-page .inquiry-story h1{font-size:clamp(2.125rem,3.4vw,3rem);line-height:1.15}
.contact-page .inquiry-story>p:not(.eyebrow){font-size:var(--body-size);line-height:1.65;max-width:40ch}
.contact-page .inquiry-form label{font-size:1rem}
.contact-page .inquiry-form label small,.contact-page .form-note{font-size:.875rem}
.contact-page .inquiry-form input::placeholder,.contact-page .inquiry-form textarea::placeholder{font-size:1rem}
.contact-page .inquiry-form input[type=hidden]{display:none}
.form-guide{font-size:var(--body-size)}
.direct-contact a{font-size:1.125rem;min-height:44px;display:inline-flex;align-items:center}
.contact-back a{display:inline-flex;align-items:center;min-height:44px;font-size:1rem}
@media(max-width:850px){.contact-page .inquiry-intro>.inquiry-story{min-height:0;padding:32px 28px 48px}.contact-page .contact{padding-top:24px}.contact-back{padding-top:18px}.contact-page .inquiry-intro{gap:36px}}
@media(max-width:550px){.contact-page .inquiry-intro>.inquiry-story{padding:28px 22px 36px}.contact-page .form-fields{gap:22px}.contact-page .inquiry-form label small{white-space:normal}.contact-page .inquiry-submit{height:auto;min-height:56px;padding:14px 18px;line-height:1.5}}
/* Dialogs keep keyboard focus and scrolling within the photo viewer. */
body:has(dialog[open]){overflow:hidden}
#framing-gallery{max-height:90dvh;overscroll-behavior:contain}
#project-viewer{overscroll-behavior:contain}
.gallery-close{min-height:44px;flex-shrink:0}
@media(max-width:550px){#framing-gallery{padding:20px}.gallery-heading{gap:12px;align-items:start}.gallery-heading h2{font-size:1.5rem;line-height:1.3}.gallery-close{font-size:1rem;padding:8px 12px}.project-viewer-header{gap:12px}.project-viewer-header p{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}.journey-button,.sunrise-world{transition:none}}
@media(max-width:650px){.audio-image{aspect-ratio:3/2}}
header>.brand{justify-self:start;max-width:100%}
@media(min-width:1051px) and (max-width:1500px){.audio-copy .water-ideas{display:grid;grid-template-columns:1fr 1fr;gap:32px}.audio-copy .water-lead{max-width:65ch}}

/* Reuse the original logo silhouette with a warm golden-orange sun mark. */
header .brand .brand-logo-stack{position:relative;display:block;margin:0;line-height:0;letter-spacing:0}
.brand .brand-logo-stack .brand-logo-sun{position:absolute;inset:auto 0;top:50%;width:100%;height:auto;aspect-ratio:2172/724;transform:translateY(-50%);display:block;margin:0;pointer-events:none;clip-path:polygon(0 0,26.2% 0,26.2% 61.2%,19.15% 61.2%,15.15% 49.1%,10.95% 61.2%,0 61.2%);background:linear-gradient(110deg,#efb347 0%,#d58628 26%,#d58628 100%);mask:url("/assets/optimized/sundeara-logo-blue-purple-900.webp") center/100% auto no-repeat;-webkit-mask:url("/assets/optimized/sundeara-logo-blue-purple-900.webp") center/100% auto no-repeat}
footer .brand .brand-logo-sun{background:linear-gradient(110deg,#f4bd56 0%,#e99a35 26%,#e99a35 100%)}
/* Photographic motion is clipped in image coordinates; captions stay still. */
.ambient-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}
.ambient-canvas[hidden]{display:none}
[data-ambient-scene] figcaption{z-index:1}
@media(prefers-reduced-motion:reduce){.ambient-canvas{display:none}}

/* Keep the original blue-purple roofline beneath the gold sun. */
.brand .brand-logo-stack{overflow:hidden}

footer .footer-origin{display:block;margin-top:6px;color:#f3cda8;font-size:.9375rem}

/* A real project photograph connects the builder story to the work. */
.builder-story-photo{margin:32px 0 0;aspect-ratio:16/9;overflow:hidden;border:1px solid #27322926}
.builder-story-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 52%}
@media(max-width:720px){.builder-story-photo{margin-top:28px}}

/* Compact project cards retain the shared reading scale and aligned actions. */
.feather-grid{--project-photo-height:clamp(260px,24vw,340px)}
.feather-grid .feather-photo{height:var(--project-photo-height)}
.feather-grid .feather-card .feather-copy{padding:calc(var(--project-photo-height) - 35px) 30px 28px}
.feather-grid .feather-copy .location{min-height:1.6em;margin-bottom:14px}
.feather-grid .feather-copy>p:not(.location){max-width:none;margin:18px 0 20px}
@media(max-width:900px){.feather-grid{--project-photo-height:clamp(220px,58vw,340px)}}
@media(max-width:720px){.feather-grid .feather-card .feather-copy{padding-right:24px;padding-left:24px;padding-bottom:24px}.feather-grid .feather-copy .location{min-height:0}}

/* Give the builder biography enough presence to balance the project photo. */
.builder-story-copy{align-self:center;display:grid;gap:20px}
.builder-story>.builder-story-copy>p:not(.eyebrow){font-size:var(--body-size);line-height:1.7;margin:0;max-width:none}
@media(max-width:720px){.builder-story-copy{gap:22px}}

/* Conservation uses the site's concrete texture with a deep landscape green. */
.conservation-section{color:#f4f1e9;background-color:#2e3e36;background-image:linear-gradient(115deg,#21372ded,#364b3de3),url("/assets/cache/concrete-texture-1000-7c12d243aa05.webp");background-size:auto,1000px 1000px;border-block:1px solid #667566}
.conservation-heading{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:end;margin-bottom:48px}
.conservation-heading .eyebrow{color:#e5bc99;margin-bottom:28px}
.conservation-heading h2{font-size:var(--section-title);line-height:1.17}
.conservation-heading h2 em{font-style:normal;color:#e7b282}
.conservation-heading>p{font-size:var(--body-size);line-height:1.7;max-width:54ch;margin:0;color:#e1e6dc}
.conservation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.conservation-topic{position:relative;isolation:isolate;min-width:0;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;padding:24px;background:#263c31;border:1px solid #afbdad44}
.conservation-photo{position:absolute;z-index:-2;inset:0 0 auto;width:100%;height:430px;object-fit:cover;object-position:center 42%;opacity:.8;pointer-events:none}
.conservation-topic::before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:linear-gradient(180deg,#20362b33 0,#20362b44 110px,#263c31c7 230px,#263c31f2 360px,#263c31 450px)}
.conservation-topic--rachio .conservation-photo{height:260px;object-fit:contain;object-position:center top;background:#d6d6d6;opacity:.8;mask-image:linear-gradient(#000 65%,transparent 100%)}
.conservation-topic--rachio::before{background:linear-gradient(180deg,#20362b44 0,#20362b33 145px,#263c31cc 230px,#263c31 300px)}
.conservation-icon{display:block;flex:none;width:44px;height:44px;margin-bottom:142px;color:#ffd0a1;filter:drop-shadow(0 1px 5px #15261daa)}
.conservation-topic:nth-child(2) .conservation-icon{color:#c4e4eb}.conservation-topic:nth-child(3) .conservation-icon{color:#ffcf79}.conservation-topic:nth-child(4) .conservation-icon{color:#ded5f1}
.conservation-topic h3{font-size:clamp(1.5rem,2vw,1.875rem);line-height:1.25;letter-spacing:-.025em;margin:0 0 20px;min-height:2.5em;text-wrap:balance}
.conservation-topic>p{font-size:var(--body-size);line-height:1.65;margin:0 0 24px;color:#edf0e8}
.conservation-links{margin-top:auto;display:flex;flex-direction:column;gap:6px;width:100%;min-height:114px}
.conservation-links a{display:inline-flex;align-items:center;min-height:44px;font-size:1rem;line-height:1.5;color:#f2cba8;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.conservation-links a:hover{color:#fff8ee}.conservation-links a:focus-visible{outline:2px solid #f2cba8;outline-offset:5px;border-radius:2px}
.conservation-links .rachio-brand-link{align-items:flex-start;flex-direction:column;gap:10px;padding:4px 0}
.rachio-brand-link img{display:block;width:118px;height:auto;filter:grayscale(1) invert(1);mix-blend-mode:screen}
.conservation-note{font-size:1rem;line-height:1.65;margin:32px 0 0;padding-top:24px;border-top:1px solid #afbdad55;color:#d0dace}
@media(max-width:1150px){.conservation-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.conservation-topic h3{min-height:0}.conservation-links{min-height:114px}}
@media(max-width:720px){.conservation-heading{grid-template-columns:1fr;gap:24px;margin-bottom:32px}.conservation-heading .eyebrow{margin-bottom:24px}.conservation-heading>p{max-width:none}}
@media(max-width:600px){.conservation-grid{grid-template-columns:1fr;gap:24px}.conservation-topic{padding:24px}.conservation-icon{margin-bottom:142px}.conservation-topic h3{font-size:1.625rem;margin-bottom:16px}.conservation-topic>p{margin-bottom:18px}.conservation-links{min-height:0}.conservation-note{margin-top:28px}}


/* Keep sound focused on living, with the complete speaker image in view. */
.audio-section{padding:80px 7%;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:6%;align-items:center}
.audio-section .audio-image{grid-column:2;grid-row:1;width:100%;min-height:0;max-height:none;aspect-ratio:3/2}
.audio-section .audio-image img{object-fit:contain}
.audio-section .audio-copy{grid-column:1;grid-row:1;padding:0}
.audio-copy h2{font-size:var(--section-title);line-height:1.17}
.audio-copy .water-lead{font-size:var(--body-size);line-height:1.65;margin:24px 0;max-width:52ch}
.audio-living{font-size:var(--body-size);line-height:1.65;margin:0;color:#e6dce3;max-width:52ch}
.audio-living strong{display:block;font-size:1.25rem;font-weight:600;color:#fcf1ed;margin-bottom:10px}
.audio-copy .audio-system-credit{margin-top:26px;padding-top:20px;border-top:1px solid #dfd6c833}
@media(max-width:1050px){.audio-section{padding:0;grid-template-columns:1fr;gap:0}.audio-section .audio-image,.audio-section .audio-copy{grid-column:auto;grid-row:auto}.audio-section .audio-image{max-height:none}.audio-section .audio-copy{padding:56px 6% 62px}}
@media(max-width:720px){.audio-section .audio-copy{padding:42px 6% 50px}}

/* Consistent category icons replace the numbered section labels. */
.eyebrow.section-kicker{display:flex;align-items:center;gap:12px;line-height:1.5}
.section-category-icon{display:block;flex:0 0 28px;width:28px;height:28px}
.section-kicker>span{min-width:0}

@media(max-width:480px){.audio-partner{flex-direction:column;align-items:flex-start;gap:4px}}

.daylight-shade-note .lutron-shade-link{display:inline-flex;flex-wrap:wrap;align-items:center;gap:0 7px;max-width:100%;min-height:44px;vertical-align:middle}
.lutron-shade-link img{display:block;width:96px;height:auto;flex:none}
.lutron-shade-link:focus-visible{outline:2px solid #75503a;outline-offset:4px}

.section-category-icon.arizona-category-icon{width:40px;height:auto;flex:0 0 40px}

/* Responsive polish: preserve the materials and let the content breathe. */
@media (max-width:980px) {
  .builder-story {grid-template-columns:minmax(0,1fr);gap:32px}
  .builder-story-photo img {max-height:440px;aspect-ratio:16/10;object-fit:cover}
  .builder-story-copy {gap:22px;max-width:68ch}
}
@media (min-width:601px) and (max-width:1440px) {
  .conservation-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .conservation-topic h3 {min-height:0}
}
.project-gallery-toggle {display:none}
@media (max-width:650px) {
  .project-gallery-toggle:not([hidden]) {display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;margin:0 0 24px;border:1px solid #f4c6a2;background:transparent;color:#f4c6a2;font:600 1rem/1.5 'DM Sans',sans-serif;cursor:pointer}
  .project-gallery-toggle:hover {background:#f4c6a217}
  .project-gallery-toggle:focus-visible {outline:3px solid #f4c6a2;outline-offset:5px}
  .gallery-collapsed #more-project-photos {display:none}
}
.contact-page .inquiry-form .inquiry-optional {margin-top:28px;border-block:1px solid #a7b0a355}
.contact-page .inquiry-optional summary {display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:14px 0;font-size:1rem;font-weight:600;cursor:pointer;list-style:none}
.contact-page .inquiry-optional summary::-webkit-details-marker {display:none}
.contact-page .inquiry-optional summary::after {content:'+';font-size:1.5rem;line-height:1}
.contact-page .inquiry-optional[open] summary::after {content:'−'}
.contact-page .inquiry-optional summary:focus-visible {outline:3px solid #edbd9c;outline-offset:4px}
.contact-page .inquiry-optional .form-fields {padding:12px 0 24px}
@media (orientation:landscape) and (max-height:600px) and (max-width:1120px) {
  header {height:auto;min-height:80px;padding:10px 4%;gap:10px 18px;grid-template-columns:minmax(150px,1fr) auto auto}
  header .brand-logo {width:170px;height:36px}
  header .brand>span:last-child {font-size:9px;margin-top:4px;letter-spacing:.16em}
  header nav.primary-nav {grid-row:auto;grid-column:auto;gap:16px;font-size:.875rem}
  header nav.primary-nav>a {min-height:44px}
  header>.header-contact {grid-row:auto;grid-column:auto;min-height:44px;padding:8px 12px;font-size:.9375rem}
  header>.header-contact span {margin-left:8px}
  .daybreak {min-height:0;align-items:flex-start;padding:24px 6% 140px}
  .daybreak .eyebrow {margin-bottom:10px}
  .daybreak h1 {font-size:clamp(1.875rem,4.2vw,2.5rem);line-height:1.12}
  .daybreak-copy>p:not(.eyebrow) {font-size:1.125rem;line-height:1.45;margin:12px 0 18px}
  .daybreak .journey-button {min-height:48px;padding:8px 12px 8px 18px;font-size:1rem}
  .daybreak-bottom {bottom:48px;padding-top:12px;gap:10px;font-size:.875rem}
  .daybreak .scene-caption {bottom:12px;font-size:.8125rem}
}
@media (orientation:landscape) and (max-height:600px) and (max-width:740px) {
  header {grid-template-columns:minmax(0,1fr) auto;row-gap:4px}
  header nav.primary-nav {grid-column:1/-1;grid-row:2;justify-content:space-between}
  header>.header-contact {grid-column:2;grid-row:1}
}

/* Trim the baked-in low-opacity logo halo at phone sizes. */
@media (max-width:720px) {
  header .brand .brand-logo-stack {filter:url('#mobile-logo-clean')}
}

/* A calm desktop navigation, with a compact disclosure on smaller screens. */
header {position:relative;z-index:5}
header .menu-toggle {display:none}
header nav.primary-nav {align-items:center}
header nav.primary-nav>a,
header .nav-living>summary {white-space:nowrap}
header .nav-living {position:relative}
header .nav-living>summary {display:flex;align-items:center;gap:10px;min-height:48px;cursor:pointer;list-style:none;font:inherit}
header .nav-living>summary::-webkit-details-marker {display:none}
header .nav-chevron {width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg)}
header .nav-living[open] .nav-chevron {transform:translateY(2px) rotate(225deg)}
header .living-links {position:absolute;top:calc(100% + 8px);left:-20px;min-width:264px;padding:10px;background:#f4f1e8;border:1px solid #24332b33;box-shadow:0 12px 28px #24332b14}
header .living-links a {display:flex;align-items:center;min-height:48px;padding:10px 14px;font-size:1rem;line-height:1.5;white-space:nowrap}
header .living-links a:hover {background:#e5e9df}
header .primary-nav a:focus-visible,
header .nav-living>summary:focus-visible,
header .menu-toggle:focus-visible {outline:2px solid #78512d;outline-offset:4px}
@media (max-width:1200px) {
  header {height:auto;min-height:108px;padding:20px 5%;grid-template-columns:minmax(0,1fr) auto auto;gap:0 20px}
  header .brand {grid-column:1;grid-row:1;min-width:0}
  header .brand-logo {width:230px;height:48px;max-width:100%}
  header.navigation-ready .menu-toggle {display:inline-flex;align-items:center;justify-content:center;grid-column:2;grid-row:1;min-height:48px;padding:10px 8px;border:0;background:transparent;color:inherit;font:500 1.0625rem/1.5 'DM Sans',sans-serif;cursor:pointer}
  header.navigation-ready .menu-toggle[aria-expanded=true] {text-decoration:underline;text-underline-offset:6px}
  header>.header-contact {grid-column:3;grid-row:1;min-height:48px;font-size:1rem;padding:10px 16px}
  header nav.primary-nav {grid-column:1/-1;grid-row:2;display:flex;align-items:stretch;flex-direction:column;justify-content:flex-start;gap:0;width:100%;margin-top:18px;padding-block:10px;border-block:1px solid #24332b33;font-size:1.125rem}
  header.navigation-ready:not(.menu-open) nav.primary-nav {display:none}
  header nav.primary-nav>a,
  header .nav-living>summary {min-height:48px;padding:12px 0;line-height:1.4}
  header .nav-living>summary {justify-content:space-between}
  header .nav-chevron {margin-right:6px}
  header .living-links {position:static;min-width:0;padding:0 0 8px 14px;margin:0 0 8px 2px;border:0;border-left:2px solid #ad896366;box-shadow:none;background:transparent}
  header .living-links a {white-space:normal;padding:10px 12px}
}
@media (max-width:720px) {
  header {min-height:88px;padding:16px max(16px,4vw);column-gap:8px}
  header .brand-logo {width:clamp(120px,calc(100vw - 200px),205px);height:40px}
  header .brand>span:last-child {font-size:8.5px;letter-spacing:.07em;margin-top:4px}
  header.navigation-ready .menu-toggle {min-height:44px;padding:10px 4px;font-size:1rem}
  header>.header-contact {min-height:44px;padding:9px 10px;font-size:.9375rem}
  header>.header-contact span {display:none}
  header nav.primary-nav {font-size:1.0625rem}
}
@media (orientation:landscape) and (max-height:600px) and (max-width:1200px) {
  header {min-height:80px;padding-block:10px}
}
