/* Separate photo-led direction. Original Firefly Night files remain intact. */
:root{--gutter:clamp(22px,4vw,68px);--section-y:clamp(64px,7vw,104px);--daylight:#f4f2ec;--body-on-light:#535060;--header-h:88px}
.concept-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px max(22px,calc((100vw - 1310px)/2));font-size:11px;letter-spacing:.06em;background:#27203f;color:#ded7ec}
.concept-banner b{padding:0 8px;font-weight:400;color:#8a809f}.concept-banner a{color:inherit;text-underline-offset:3px}.concept-banner>span:first-child{color:#fee650;letter-spacing:.13em}
.site-header{background:#1a1433}.site-header .wrap{height:88px}.wrap{max-width:1440px}.brand-name{font-size:27px}.nav-main{gap:24px}.nav-main a{font-size:14px}.header-actions{gap:20px}.header-phone{font-size:14px}.header-actions .btn{font-size:14px;padding-inline:22px}.btn{font-size:15px}.btn-row{gap:24px}
.kicker{font-size:11px;line-height:1.5;letter-spacing:.13em;font-weight:600;color:#bfb5d0;margin-bottom:23px}.light .kicker{color:#66566b}.kicker>span{display:inline-block;width:6px;height:6px;border-radius:50%;background:#fee650;margin:0 9px 1px 0}
.photo-hero{padding:28px 0 54px}.hero-grid{display:grid;grid-template-columns:1fr 1.12fr;align-items:center;gap:54px}.photo-hero-copy{padding-bottom:27px}.photo-hero h1{font-family:var(--font-display);font-weight:400;font-size:clamp(44px,4.35vw,63px);line-height:1.12;letter-spacing:-.035em;text-wrap:balance}.photo-hero h1 em{font-style:normal;color:#feeaa2}.hero-intro{max-width:470px;font-size:17px;margin:25px 0 29px;line-height:1.7}.hero-small{font-size:12px;color:#bdb3cf;margin-top:29px}.quiet-link{font-size:13px;color:#f6f2ff;text-underline-offset:5px;white-space:nowrap}.quiet-link span{margin-left:8px}.photo-hero .btn-row{gap:18px;flex-wrap:wrap}.photo-hero .btn{padding-inline:24px;gap:20px}
.hero-photograph{min-width:0;scroll-margin-top:25px}.photo-frame{position:relative;overflow:hidden;border-radius:6px;background:#100e14;aspect-ratio:1.13}.photo-frame>img{width:100%;height:100%;object-fit:cover;object-position:50% 46%}.photo-frame:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(13,10,20,.8));pointer-events:none}.photo-caption{position:absolute;bottom:25px;left:28px;right:20px;z-index:1}.photo-caption>span{display:block;font-size:9px;letter-spacing:.13em;color:#ded7e7;margin-bottom:6px}.photo-caption strong{font-size:22px;font-weight:400;font-family:var(--font-display)}.look-controls{display:flex;justify-content:space-between;gap:5px;margin-top:14px}.look-controls button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;background:none;font-size:11px;border-radius:4px;min-height:44px;padding:9px 10px;color:#d8cfe7;cursor:pointer}.look-controls button[aria-pressed=true]{border-color:#aa9661;background:#2d2541;color:#ffebad}.look-controls button:hover{background:#302644}.look-controls i{width:9px;height:9px;border-radius:50%;background:var(--swatch);flex-shrink:0}.photograph-note{text-align:center;font-size:10px;color:#afa5c2;margin-top:6px}
.proof-strip{border-block:1px solid #41374f;padding:22px 0}.proof-strip .wrap{display:flex;justify-content:space-between;gap:20px}.proof-strip span{color:#e2dbe9;font-size:12px}.proof-strip b{font-size:10px;font-weight:400;color:#bbab78;margin-right:13px}
h2{font-family:var(--font-display);font-size:clamp(33px,3.3vw,48px);font-weight:400;line-height:1.17;letter-spacing:-.025em}.editorial-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:41px}.editorial-heading>p{max-width:340px;font-size:15px;line-height:1.7;padding-bottom:5px}.editorial-heading .kicker{margin-bottom:16px}.lighting-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px}.photo-link{display:block;position:relative;overflow:hidden;border-radius:5px}.photo-link>img{width:100%;aspect-ratio:1.5;object-fit:cover;transition:transform .4s}.photo-link:hover>img{transform:scale(1.025)}.photo-arrow{position:absolute;right:18px;bottom:18px;display:grid;place-items:center;background:#f4f2ec;color:#1a1433;border-radius:50%;width:42px;height:42px;font-size:20px}.service-heading{margin-top:23px}.service-heading>span{font-size:10px;letter-spacing:.13em;color:#726b72}.service-heading h3{font-size:24px;font-weight:500;line-height:1.3;margin-top:9px}.service-heading a{color:#1a1433;text-decoration:none}.lighting-grid article>p{font-size:14px;max-width:440px;margin-top:12px}.landscape-line{display:flex;justify-content:space-between;gap:24px;border-top:1px solid #d8d4cd;padding-top:25px;margin-top:35px;font-size:13px}.landscape-line .text-link{white-space:nowrap}
.detail-grid{display:grid;grid-template-columns:.86fr 1fr;gap:clamp(40px,8vw,120px);align-items:center}.detail-grid figure img{width:100%;height:540px;object-fit:cover;border-radius:5px}.detail-grid figcaption{font-size:11px;color:#bfb5d0;margin-top:13px}.detail-grid h2{margin-bottom:24px}.detail-grid>div>p:not(.kicker){font-size:15px;max-width:455px;line-height:1.75}.detail-list{margin:23px 0 28px}.detail-list li{display:flex;gap:22px;border-bottom:1px solid #41374f;padding:19px 0}.detail-list li>span{font-size:11px;color:#c0ad75;padding-top:4px}.detail-list h3{font-size:16px;font-weight:500}.detail-list p{font-size:13px;margin-top:5px}.detail-grid .text-link{font-size:14px}
.process-three{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.process-three li{border-top:1px solid #bcb4c2;padding-top:20px}.process-three li>span{font-size:12px;color:#766b79}.process-three h3{font-size:20px;font-weight:500;margin:18px 0 12px;max-width:280px}.process-three p{font-size:14px;max-width:285px}.process-section .btn{margin-bottom:4px}
.review-section{padding:66px 0;background:#30243f}.review-layout{display:grid;grid-template-columns:.7fr 1.6fr;gap:45px}.review-layout .kicker{padding-top:8px}.review-layout blockquote{font-family:var(--font-display);font-size:clamp(26px,2.5vw,36px);line-height:1.4;color:#ffedb5;max-width:785px}.review-layout p:not(.kicker){font-size:12px;margin-top:22px;color:#d2c6dc}.review-layout a{color:#e5d9ef;text-underline-offset:4px}
.community-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:90px;align-items:center}.community-grid h2{margin-bottom:24px}.community-grid>div>p:not(.kicker){font-size:14px;line-height:1.8}.community-grid .area-names{margin-top:20px;color:#514858}.community-grid .availability{margin-top:20px;font-size:12px!important}.availability a{color:#514858;text-underline-offset:4px}.commercial-callout{padding:40px;border:1px solid #cfc8ce}.commercial-callout h3{font-family:var(--font-display);font-size:32px;line-height:1.25;font-weight:400;margin:18px 0}.commercial-callout p{font-size:14px;margin-bottom:23px}.commercial-callout .text-link{font-size:13px}.optional{font-size:11px;font-weight:400;color:#bfb5d0}.form-note{color:#d7cee3}.form-panel{border:1px solid #44364f;border-radius:7px}.input{border-radius:5px}.check-chip{border-radius:5px}.contact-card{border-radius:5px}.footer-bottom{font-size:12px}.site-footer{padding-block:60px 30px}
@media(min-width:1441px){.photo-hero{padding-top:45px;padding-bottom:65px}.photo-hero h1{font-size:64px}.hero-grid{gap:65px}}
@media(max-width:1179px){.site-header .wrap{height:72px}.hero-grid{gap:28px}.hero-intro{font-size:15px}.photo-hero h1{font-size:46px}.header-actions .btn{display:inline-flex}.look-controls{display:grid;grid-template-columns:1fr 1fr}.look-controls button{justify-content:flex-start}.detail-grid{gap:45px}.community-grid{gap:40px}}
@media(max-width:760px){.concept-banner{font-size:9px;gap:10px;padding:9px 20px}.concept-banner b{padding:0 4px}.concept-banner>span:first-child{letter-spacing:.04em}.concept-banner a:last-child,.concept-banner b:last-of-type{display:none}.site-header .wrap{height:68px}.brand-name{font-size:24px}.header-actions .btn{display:none}.photo-hero{padding:28px 0 30px}.hero-grid{grid-template-columns:1fr;gap:30px}.photo-hero-copy{padding-bottom:0}.kicker{font-size:9px;margin-bottom:17px}.photo-hero h1{font-size:43px;line-height:1.12;max-width:550px;letter-spacing:-.03em}.hero-intro{font-size:15px;margin:20px 0 24px;max-width:480px}.hero-small{font-size:11px;margin-top:19px}.photo-hero .btn-row{gap:17px}.photo-hero .btn{font-size:13px;min-height:50px;padding-inline:19px}.quiet-link{font-size:11px}.photo-frame{aspect-ratio:1.28}.photo-caption{bottom:18px;left:20px}.photo-caption>span{font-size:7px}.photo-caption strong{font-size:19px}.look-controls{display:grid;grid-template-columns:1fr 1fr;margin-top:10px;gap:4px}.look-controls button{font-size:11px;justify-content:center;min-height:44px}.proof-strip{padding:22px 0}.proof-strip .wrap{display:grid;grid-template-columns:1fr 1fr;gap:15px 10px}.proof-strip span{font-size:10px}.proof-strip b{font-size:9px;margin-right:7px}.editorial-heading{display:block;margin-bottom:30px}.editorial-heading>p{margin-top:20px;font-size:14px}.lighting-grid{grid-template-columns:1fr;gap:34px}.service-heading{margin-top:19px}.service-heading h3{font-size:23px}.landscape-line{display:block}.landscape-line .text-link{display:inline-block;margin-top:15px;white-space:normal}.detail-grid{grid-template-columns:1fr;gap:35px}.detail-grid figure img{height:390px}.detail-grid h2{font-size:34px}.detail-list{margin-block:18px}.process-section .btn{margin-top:23px}.process-three{grid-template-columns:1fr;gap:26px}.process-three h3{max-width:none;font-size:20px;margin:12px 0 9px}.process-three p{max-width:none}.review-layout{grid-template-columns:1fr;gap:10px}.review-layout .kicker{margin-bottom:8px}.review-layout blockquote{font-size:28px}.review-section{padding:48px 0}.community-grid{grid-template-columns:1fr;gap:35px}.commercial-callout{padding:28px}.commercial-callout h3{font-size:28px}.form-panel{padding:25px 19px}.photo-concept{padding-bottom:78px}.site-footer{padding-bottom:35px}.form-grid{gap:20px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.photo-concept .site-header{position:relative;inset:auto}
.photo-concept .photo-hero h1{font-size:clamp(44px,3.9vw,56px);text-wrap:initial}
@media(max-width:760px){.photo-concept .photo-hero h1{font-size:41px}.photo-hero{padding-top:24px}}
.photo-concept .concept-banner ~ .site-header{top:0}
@media(max-width:760px){.photo-concept .photo-hero h1{font-size:34px}.photo-hero .quiet-link,.photo-hero .hero-small{display:none}.hero-grid{gap:27px}.hero-intro{margin:18px 0 22px}}

/* Use the common photo crop at every breakpoint so scene changes hold position. */
.photo-concept .photo-frame{aspect-ratio:3 / 2}
.photo-concept .photo-frame>img{object-fit:contain;object-position:center}

/* September 28: featured house + separate same-home lighting comparison. */
.showcase-hero{padding:28px 0 28px}
.showcase-heading{display:grid;grid-template-columns:1.1fr 1fr;align-items:end;gap:64px;margin-bottom:32px}
.showcase-heading .kicker{margin-bottom:16px}
.showcase-heading .hero-intro{margin:0 0 23px;max-width:465px;font-size:16px}
.showcase-intro{padding-bottom:4px}
.photo-concept .showcase-hero h1{font-size:clamp(38px,3.8vw,55px);line-height:1.13}
.showcase-frame{overflow:hidden;border-radius:6px;background:#0b0a10;aspect-ratio:2.5}
.showcase-frame img{width:100%;height:100%;object-fit:cover;object-position:50% 64%;display:block}
.showcase-photograph figcaption{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:14px;font-size:10px;color:#bfb5d0;letter-spacing:.08em}
.showcase-photograph figcaption a{color:#e8ddeb;font-size:12px;letter-spacing:0;text-underline-offset:4px}
.looks-section{background:#201834;scroll-margin-top:24px}
.looks-layout{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:75px}
.looks-copy h2{margin-bottom:23px}
.looks-copy>p:not(.kicker){font-size:15px;line-height:1.8;max-width:370px;margin-bottom:26px}
.looks-copy .text-link{font-size:14px}
.looks-section .look-controls{display:flex}
@media(max-width:1179px){.showcase-heading{gap:32px}.showcase-heading .hero-intro{font-size:14px}.showcase-heading .btn-row{gap:14px}.showcase-heading .btn{font-size:13px;padding-inline:20px}.showcase-heading .quiet-link{font-size:11px}.looks-layout{gap:40px}.looks-section .look-controls{display:grid}}
@media(max-width:760px){.showcase-hero{padding:24px 0 23px}.showcase-heading{grid-template-columns:1fr;gap:19px;margin-bottom:25px}.photo-concept .showcase-hero h1{font-size:32px;line-height:1.14}.showcase-heading .hero-intro{font-size:14px;margin:0 0 20px;max-width:470px}.showcase-heading .quiet-link{display:inline}.showcase-frame{aspect-ratio:1.9}.showcase-frame img{object-position:50% 64%}.showcase-photograph figcaption{font-size:8px;letter-spacing:.04em}.showcase-photograph figcaption a{font-size:10px}.looks-layout{grid-template-columns:1fr;gap:28px}.looks-copy>p:not(.kicker){max-width:500px;margin-bottom:19px}.looks-copy h2{font-size:35px}.looks-section .look-controls{display:grid}.looks-section .photo-caption strong{font-size:18px}}
@media(max-width:380px){.photo-concept .showcase-hero h1{font-size:32px}.showcase-heading .btn{font-size:12px;padding-inline:15px}.showcase-heading .quiet-link{font-size:10px}}

/* Verified Facebook recommendations — September 29, 2026. */
.facebook-review-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:64px;align-items:start}
.review-summary h2{font-family:'Young Serif',Georgia,serif;font-size:clamp(30px,3vw,40px);line-height:1.18;color:#fff6d5;margin:16px 0 20px}
.review-summary .review-rating{font-size:15px;color:#f9f6f0;margin:0}
.review-summary .review-date{font-size:12px;color:#d4cadf;margin:8px 0 22px;line-height:1.5}
.review-summary .text-link{font-size:13px;color:#fff39b}
.facebook-quotes{display:grid;gap:28px}
.facebook-quotes figure{margin:0;padding-bottom:25px;border-bottom:1px solid #695a79}
.facebook-quotes blockquote{font-family:'Young Serif',Georgia,serif;font-size:clamp(23px,2.4vw,29px);line-height:1.4;color:#fff0a6;margin:0}
.facebook-quotes figcaption{font-size:12px;color:#eee7f4;line-height:1.6;margin-top:14px}
.facebook-quotes figcaption a{display:block;text-decoration:underline;text-underline-offset:3px;color:#d4cadf}
@media(max-width:760px){.facebook-review-layout{grid-template-columns:1fr;gap:32px}.facebook-quotes{gap:24px}.facebook-quotes blockquote{font-size:24px}}

.commercial-photo-callout figure{margin:-40px -40px 27px}
.commercial-photo-callout figure a{display:block}
.commercial-photo-callout img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}
.commercial-photo-callout figcaption{font-size:11px;color:#625a69;line-height:1.5;margin:10px 20px 0}
@media(max-width:760px){.commercial-photo-callout figure{margin:-28px -28px 24px}}
