:root{--red:#df152b;--red-dark:#bc0d20;--ink:#161616;--muted:#606060;--line:#dedede;--paper:#f4f4f4;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.65;background:#fff}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:4px}button{color:inherit}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.12;letter-spacing:-.045em}h1{font-size:clamp(2.6rem,4.7vw,4.75rem)}h2{font-size:clamp(2rem,3.3vw,3.25rem)}h3{font-size:1.24rem;line-height:1.35;font-weight:600;letter-spacing:-.02em}p{color:var(--muted);max-width:65ch}p+p{margin-top:20px}ul{padding-left:22px}li+li{margin-top:10px}.container{max-width:var(--max);margin:auto;padding:0 32px}.section{padding:90px 0}.no-top{padding-top:0}.narrow{max-width:860px}.eyebrow{color:var(--red-dark);font-size:.81rem;font-weight:700;letter-spacing:.15em;margin-bottom:20px;line-height:1.5}.eyebrow.light{color:#fa8d99}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--red);border:1px solid var(--red);border-radius:2px;color:white;font-size:.91rem;font-weight:700;padding:15px 24px;line-height:1.5;transition:background .2s,transform .2s;min-height:49px;text-align:center}.button:hover{background:var(--red-dark);border-color:var(--red-dark);transform:translateY(-1px)}.button.dark{background:var(--ink);border-color:var(--ink)}.button.dark:hover{background:#333}.button.outline{background:white;color:var(--ink);border-color:var(--line)}.text-link{display:inline-block;color:var(--red-dark);font-size:.92rem;font-weight:700;line-height:1.5;border-bottom:1px solid currentColor;padding-bottom:3px}.text-link:hover{color:var(--ink)}.preview-bar{background:var(--ink);color:#d2d2d2;text-align:center;font-size:.75rem;font-weight:600;letter-spacing:.13em;padding:6px 16px;min-height:31px}.preview-bar span{color:var(--red);margin:0 10px}header{position:sticky;top:0;background:white;border-bottom:1px solid #e9e9e9;z-index:20}.header-inner{max-width:1440px;padding:14px 32px;display:flex;align-items:center;justify-content:space-between;gap:25px;margin:auto}.brand{width:190px;flex-shrink:0}.brand img{width:100%;height:auto}nav{display:flex;align-items:center;gap:21px;font-size:.85rem;font-weight:600}nav>a:not(.button):hover,nav a[aria-current=page]{color:var(--red-dark)}nav .button{font-size:.81rem;padding:12px 17px;white-space:nowrap}nav summary{display:flex;align-items:center;gap:4px;list-style:none}summary::-webkit-details-marker{display:none}.nav-dropdown{position:relative}.dropdown-panel{position:absolute;left:-20px;top:34px;width:270px;background:#fff;border:1px solid var(--line);box-shadow:0 14px 35px #0002;padding:12px}.dropdown-panel a{display:block;padding:9px 12px}.dropdown-panel a:hover{background:var(--paper);color:var(--red-dark)}.menu-button{display:none;background:none;border:1px solid var(--line);width:45px;height:45px;align-items:center;justify-content:center}.skip-link{position:absolute;top:-100px;left:20px;z-index:50;background:white;padding:10px}.skip-link:focus{top:40px}.hero{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);min-height:645px}.hero-copy{padding:65px 48px 45px max(32px,calc((100vw - 1176px)/2));color:#fff}.hero-copy h1{font-size:clamp(3rem,5.2vw,5.2rem);margin-bottom:24px;line-height:1.04;letter-spacing:-.047em}.hero-copy h1 em{font-style:normal;color:#fff}.hero-copy h1 em:after{content:'';display:block;width:76px;height:4px;background:var(--red);margin-top:25px}.hero-copy>p:not(.eyebrow){color:#c7c7c7;font-size:1.04rem;line-height:1.7}.hero-actions{display:flex;align-items:center;gap:23px;flex-wrap:wrap;margin-top:30px}.call-link{display:flex;align-items:center;gap:9px;color:#fff;font-size:.95rem;white-space:nowrap}.hero-signature{color:#989898;font-size:.75rem;font-weight:600;letter-spacing:.11em;margin-top:45px}.hero-photo{position:relative;min-width:0}.hero-photo>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:48% center}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#000b,transparent 55%)}.photo-caption{position:absolute;bottom:60px;left:45px;z-index:1;color:white}.photo-caption>span{font-size:.75rem;letter-spacing:.12em}.photo-caption p{font-family:Georgia,serif;font-size:2.3rem;color:#fff;line-height:1.2;margin-top:14px}.image-note{position:absolute;bottom:11px;right:14px;padding:4px 9px;color:white;background:#0008;font-size:.75rem;z-index:2}.trust-strip{background:var(--paper);border-bottom:1px solid var(--line);padding:23px 0}.trust-strip .container{display:flex;justify-content:space-between;gap:25px}.trust-strip span{font-size:.88rem;display:flex;align-items:center;gap:9px;color:#555}.trust-strip svg{color:var(--red);flex-shrink:0}.section-heading{margin-bottom:40px;max-width:740px}.section-heading h2{margin-bottom:22px}.section-heading p:last-child{max-width:60ch}.heading-row{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:40px}.heading-row .section-heading{margin:0}.heading-row>a{margin-bottom:4px;white-space:nowrap}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .2s;min-width:0}.service-card:hover{background:var(--paper)}.service-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;color:var(--red)}.service-top span{color:#8a8a8a;font-size:.78rem}.service-card h3{margin-bottom:13px;max-width:24ch}.service-card p{font-size:.94rem;margin-bottom:25px}.feature{background:var(--paper)}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.feature-image{position:relative}.feature-image img{aspect-ratio:1.1;object-fit:cover}.feature-copy h2{margin-bottom:25px}.check-list{padding:0;list-style:none;margin:26px 0}.check-list li{display:flex;gap:11px;align-items:flex-start;font-size:1rem}.check-list svg{width:19px;min-width:19px;color:var(--red);margin-top:5px}.area-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.area-card{border:1px solid var(--line);padding:30px;display:block;background:white}.area-card:hover{border-color:var(--red)}.area-card h3{font-family:Georgia,serif;font-size:1.6rem;font-weight:400;letter-spacing:-.03em;margin:24px 0 15px;line-height:1.3}.area-card p{font-size:.91rem;margin-bottom:30px}.area-number{font-size:.8rem;color:var(--red)}.area-0{background:var(--ink);color:#fff;border-color:var(--ink)}.area-0 p{color:#b8b8b8}.area-0 .text-link{color:#fa8d99}.areas-link{margin-top:30px}.process{border-top:1px solid var(--line)}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.process-number{font-family:Georgia,serif;font-size:2.2rem;color:var(--red);display:inline-block;border-bottom:1px solid var(--line);width:100%;padding-bottom:15px;margin-bottom:22px}.process-grid h3{margin-bottom:14px}.process-grid p{font-size:.96rem}.closing{background:var(--ink);color:white;padding:70px 0}.closing-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.closing h2{color:#fff;font-size:clamp(2rem,3.4vw,3.2rem)}.closing-actions{display:flex;flex-direction:column;align-items:center;gap:20px}footer{padding:65px 0 25px}.footer-grid{display:grid;grid-template-columns:1.1fr .7fr 1fr 1.2fr;gap:40px}.footer-brand img{width:220px;margin-bottom:22px}.footer-grid h3{font-size:.92rem;margin-bottom:22px}.footer-grid p,.footer-grid a{font-size:.88rem;line-height:1.8}.footer-grid a{display:block;margin-bottom:8px}.footer-grid a:hover{color:var(--red)}.email{overflow-wrap:anywhere}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:45px;padding-top:22px;font-size:.75rem;color:#727272}.mobile-cta{display:none}.page-hero{background:var(--paper);padding:55px 0 65px}.page-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.breadcrumbs{font-size:.81rem;color:#777;margin-bottom:35px}.breadcrumbs a:hover{color:var(--red)}.page-hero h1{font-size:clamp(2.5rem,4.1vw,4rem);margin-bottom:25px}.page-hero p:not(.eyebrow){margin-bottom:28px}.page-hero-image{position:relative}.page-hero-image img{width:100%;aspect-ratio:1.1;object-fit:cover}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px}.detail-grid h2{margin-bottom:25px}.scope-box{padding:35px;background:var(--paper);border-top:3px solid var(--red)}.scope-box .check-list{margin-bottom:0}.scope-box>p{margin-top:20px;font-size:.92rem}.faq-section{background:var(--paper)}.faq{border-top:1px solid #cecece;padding:21px 0}.faq:last-of-type{border-bottom:1px solid #cecece}.faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;font-weight:600;list-style:none}.faq summary svg{flex-shrink:0}.faq[open] summary svg{transform:rotate(45deg)}.faq p{margin-top:17px}.link-paragraph{margin-top:30px}.link-paragraph a,.contact-main .subtle a,.narrow p>a{text-decoration:underline}.simple-hero{padding-top:70px;padding-bottom:55px}.simple-hero h1{margin-bottom:28px}.simple-hero>p:last-of-type{max-width:60ch}.city-panel{margin-top:70px}.city-panel h2{margin-bottom:20px}.city-list{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:35px 0}.city-list a{padding:14px 5px;border-bottom:1px solid var(--line);font-size:.96rem}.city-list a:hover{color:var(--red)}.subtle{font-size:.85rem;color:#757575;margin-top:18px}.filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:35px}.filters button{border:1px solid var(--line);padding:10px 21px;background:white;font-size:.89rem}.filters .active{background:var(--ink);border-color:var(--ink);color:white}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.project{padding:0;border:1px solid var(--line);background:white;text-align:left;display:flex;flex-direction:column}.project:hover{border-color:var(--red)}.project img{width:100%;aspect-ratio:1.25;object-fit:cover}.project>div{padding:25px}.project h3{margin:13px 0;font-family:Georgia,serif;font-size:1.65rem;font-weight:400}.project p{font-size:.92rem;margin-bottom:20px}.preview-note{padding:15px 18px;border-left:3px solid var(--red);background:var(--paper);font-size:.85rem;color:#606060;margin-top:25px}.gallery-dialog{border:0;padding:0;max-width:800px;width:calc(100% - 40px);max-height:90vh;overflow:auto}.gallery-dialog::backdrop{background:#000b}.gallery-dialog>img{width:100%;max-height:50vh;object-fit:cover}.gallery-dialog>div{padding:30px}.gallery-dialog h2{font-size:2rem;margin-bottom:15px}.gallery-dialog p{margin-bottom:25px}.dialog-close{position:absolute;top:10px;right:10px;border:0;background:white;border-radius:50%;width:42px;height:42px;display:flex;align-items:center;justify-content:center}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.brand-panel{background:var(--paper);padding:65px 45px}.brand-panel img{width:100%}.brand-rule{height:3px;background:var(--red);width:55px;margin:40px 0 25px}.brand-panel p{font-family:Georgia,serif;color:var(--ink);font-size:1.8rem;line-height:1.35}.about-grid h2{margin-bottom:25px}.about-grid h3{margin-top:28px}.contact-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:65px;align-items:start}.estimate-form{padding:32px;border:1px solid var(--line)}.estimate-form .preview-note{margin-top:0;margin-bottom:28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-grid label{font-size:.9rem;font-weight:600;display:block;min-width:0}.form-grid label>span{color:var(--red)}.form-grid .wide{grid-column:1/-1}input:not([type=checkbox]),textarea,select{display:block;border:1px solid #bababa;border-radius:2px;background:#fff;width:100%;max-width:100%;padding:12px;margin-top:8px;font-size:1rem;line-height:1.5;color:var(--ink)}textarea{resize:vertical}.file-label input{font-size:.85rem}.file-label small{font-size:.8rem;font-weight:400;color:#777;display:block;margin-top:7px}.consent{display:flex;align-items:flex-start;gap:9px;margin:25px 0;font-size:.87rem;cursor:pointer}.consent input{width:18px;height:18px;flex-shrink:0;margin-top:5px;accent-color:var(--red)}.contact-aside{background:var(--paper);padding:32px}.contact-aside h2{font-size:2rem;margin-bottom:20px}.contact-aside h3{font-size:1.05rem;margin-top:25px}.contact-aside ul{font-size:.92rem;margin-bottom:25px}.contact-method{display:flex;gap:12px;align-items:center;font-size:1rem;color:var(--ink);margin:22px 0;line-height:1.5}.contact-method svg{color:var(--red);width:20px;flex-shrink:0}.contact-method:hover{color:var(--red)}.aside-rule{height:1px;background:var(--line);margin:30px 0}.contact-main .contact-method{font-size:1.3rem}.contact-main>p{margin-bottom:30px}.contact-main .subtle{margin-top:25px}.confirmation{border:1px solid var(--line);padding:32px}.confirmation>svg{color:var(--red);margin-bottom:20px}.confirmation h2{font-size:2.3rem;margin-bottom:25px}.confirmation dl{margin:30px 0}.confirmation dl>div{border-bottom:1px solid var(--line);padding:13px 0}.confirmation dt{font-size:.8rem;text-transform:capitalize;color:#777}.confirmation dd{margin:3px 0 0;overflow-wrap:anywhere;white-space:pre-wrap}.form-actions{display:flex;flex-wrap:wrap;gap:12px}.narrow h1{margin-bottom:30px}
@media(min-width:1500px){.hero{max-width:1600px;margin:auto}.hero-copy{padding-left:70px}body{background:#fff}}
@media(max-width:1250px){.header-inner{padding:12px 25px}.brand{width:165px}nav{gap:14px;font-size:.8rem}.hero-copy{padding:50px 35px}.hero-actions{gap:17px}.hero-copy h1{font-size:4.2rem}.hero{min-height:615px}}
@media(max-width:1080px){.menu-button{display:flex}nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:24px 32px;max-height:calc(100dvh - 130px);overflow:auto;box-shadow:0 15px 20px #0001;font-size:1rem}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}nav>a,nav>details{padding:10px 0}nav>.button{margin-top:15px;padding:15px}nav summary{justify-content:space-between}.dropdown-panel{position:static;box-shadow:none;border:0;width:auto;padding:10px 0 0 20px}.hero{min-height:590px}.hero-copy{padding:45px 30px}.hero-copy h1{font-size:3.65rem}.hero-copy p{font-size:1rem}.hero-signature{font-size:.7rem}.hero-actions{flex-direction:column;align-items:flex-start}.hero-signature{margin-top:30px}.feature-grid{gap:40px}.footer-grid{gap:25px}.contact-grid{gap:30px;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.contact-aside,.estimate-form{padding:25px}.page-hero-grid{gap:35px}.detail-grid{gap:40px}.about-grid{gap:45px}.section{padding:70px 0}.section.no-top{padding-top:0}}
@media(max-width:760px){body{font-size:16px}.container{padding:0 23px}.header-inner{padding:10px 23px}.brand{width:145px}.preview-bar{font-size:.65rem;letter-spacing:.08em;padding:6px 10px}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:43px 23px 35px}.hero-copy h1{font-size:clamp(3rem,10vw,4rem)}.hero-copy .eyebrow{font-size:.72rem;letter-spacing:.1em}.hero-actions{flex-direction:row;align-items:center;gap:18px}.hero-actions .call-link{font-size:.87rem}.hero-signature{margin-top:28px;line-height:1.6}.hero-photo{min-height:340px}.hero-photo>img{object-position:center}.photo-caption{bottom:47px;left:24px}.photo-caption p{font-size:1.8rem}.photo-caption>span{font-size:.65rem}.image-note{font-size:.65rem}.trust-strip{padding:19px 0}.trust-strip .container{flex-direction:column;gap:11px}.trust-strip span{font-size:.82rem}.section{padding:55px 0}.section-heading{margin-bottom:30px}.section-heading h2{margin-bottom:18px}.heading-row{flex-direction:column;align-items:flex-start;gap:22px;margin-bottom:28px}.service-grid{grid-template-columns:1fr 1fr}.service-card{padding:23px 20px}.service-card h3{font-size:1.07rem}.service-card p{font-size:.87rem;margin-bottom:21px}.service-top{margin-bottom:23px}.service-top svg{width:25px}.service-card .text-link{font-size:.8rem}.feature-grid,.page-hero-grid,.detail-grid,.about-grid,.contact-grid{grid-template-columns:1fr;gap:35px}.feature-image img{aspect-ratio:1.35}.feature-copy h2{font-size:2.55rem}.area-grid{grid-template-columns:1fr}.area-card{padding:27px}.area-card h3{margin-top:12px}.area-card p{margin-bottom:23px}.process-grid{grid-template-columns:1fr;gap:25px}.process-number{font-size:1.7rem;width:60px;padding-bottom:10px;margin-bottom:14px}.process-grid p{max-width:55ch}.closing{padding:50px 0}.closing-inner{flex-direction:column;align-items:flex-start;gap:28px}.closing-actions{align-items:flex-start}.footer-grid{grid-template-columns:1fr 1fr;gap:35px 22px}.footer-brand{grid-column:1/-1}.footer-brand img{width:200px}.footer-grid p,.footer-grid a{font-size:.84rem}.footer-grid>div:last-child{grid-column:1/-1}.footer-bottom{flex-direction:column;align-items:flex-start;gap:10px;font-size:.72rem}footer{padding:45px 0 105px}.mobile-cta{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;box-shadow:0 -2px 15px #0001;border-top:1px solid var(--line);padding:10px 15px calc(10px + env(safe-area-inset-bottom));z-index:21;align-items:center;justify-content:space-between;gap:10px}.mobile-cta>a:first-child{display:flex;gap:8px;align-items:center;font-weight:600;font-size:.88rem}.mobile-cta .button{padding:12px 18px;font-size:.83rem;min-height:45px}.page-hero{padding:28px 0 45px}.page-hero h1{font-size:2.65rem}.breadcrumbs{margin-bottom:27px}.page-hero-image img{aspect-ratio:1.4}.scope-box{padding:27px}.simple-hero{padding-top:45px;padding-bottom:38px}.simple-hero h1{font-size:2.8rem}.city-panel{margin-top:50px}.city-list{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:1fr}.project img{aspect-ratio:1.5}.project>div{padding:23px}.filters{gap:8px}.filters button{padding:9px 13px;font-size:.83rem}.brand-panel{padding:35px}.brand-panel p{font-size:1.6rem}.brand-rule{margin-top:30px}.contact-aside{order:2}.form-grid{grid-template-columns:1fr;gap:18px}.estimate-form,.confirmation{padding:22px}.contact-main .contact-method{font-size:1.07rem}.gallery-dialog>div{padding:24px}.confirmation h2{font-size:2rem}.desktop-break{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Project planning and owner review */
.designer-home-link{display:inline-block;margin-top:20px;font-size:.88rem;color:#ddd;border-bottom:1px solid #777;padding-bottom:3px}.planner-shell,.owner-shell{padding-top:45px;padding-bottom:80px}.planner-heading,.owner-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:35px}.planner-heading h1,.owner-heading h1{font-size:clamp(2.2rem,3.6vw,3.5rem);margin-bottom:15px}.planner-heading .eyebrow,.owner-heading .eyebrow{margin-bottom:12px}.planner-steps{padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:0 0 35px;border-bottom:1px solid var(--line)}.planner-steps li{display:flex;gap:10px;align-items:center;color:#757575;padding:15px 0;border-bottom:2px solid transparent;font-size:.9rem;margin:0}.planner-steps li.reached{color:var(--ink)}.planner-steps li[aria-current]{border-color:var(--red);font-weight:700}.planner-steps span{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid #ccc;border-radius:50%;font-size:.8rem}.planner-steps .reached span{background:var(--ink);border-color:var(--ink);color:white}.planner-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:50px;align-items:start}.planner-visual{position:sticky;top:150px}.photo-workspace{position:relative;border:1px solid var(--line);background:var(--paper);min-height:335px}.photo-workspace>img{width:100%;aspect-ratio:1.4;object-fit:contain;background:#eee}.workspace-caption{position:absolute;bottom:12px;left:12px;background:#0009;color:#fff;padding:5px 10px;font-size:.7rem;letter-spacing:.1em}.photo-empty{min-height:335px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:40px}.photo-empty svg{color:var(--red);margin-bottom:22px}.photo-empty h2{font-size:1.8rem;margin-bottom:15px}.photo-empty p{font-size:.95rem}.upload-control{display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--ink);padding:13px;margin-top:20px;cursor:pointer;position:relative;font-size:.93rem;font-weight:600}.upload-control input{position:absolute;inset:0;opacity:0;cursor:pointer;margin:0;padding:0}.upload-control:focus-within{outline:3px solid var(--red);outline-offset:3px}.photo-controls{display:flex;justify-content:space-between;gap:20px;margin-top:18px}.photo-controls button{border-width:0 0 1px;background:none;padding:0 0 3px}.planner-panel{min-width:0}.planner-panel h2{font-size:2.1rem;margin-bottom:24px;outline:none}.planner-panel>form>label,.planner-panel label{font-size:.9rem;font-weight:600}.planner-panel>form>label{display:block;margin-top:22px}.planner-panel .consent{display:flex;font-weight:400}.planner-panel label .subtle{font-weight:400}.planner-panel>form>.button{margin-top:28px}.planner-panel .form-grid{margin-top:25px}.planner-panel .form-actions{margin-top:30px}.planner-help{margin-top:18px;font-size:.93rem}.planner-panel fieldset{border:0;padding:0;margin:25px 0}.planner-panel legend{font-size:.91rem;font-weight:600;margin-bottom:15px}.style-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.style-choices button{border:1px solid var(--line);background:white;padding:15px 10px;text-align:left;font-size:.9rem}.style-choices button.chosen{border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red);background:#fff6f7}.choice-check{display:flex;align-items:center;gap:9px;margin:10px 0;font-size:.9rem;font-weight:400!important}.choice-check input{accent-color:var(--red);width:18px;height:18px}.back-button{display:flex;align-items:center;gap:5px;border:0;background:none;font-size:.9rem;padding:10px 5px}.planner-error{margin:20px 0;padding:18px 20px;border:1px solid #df152b;background:#fff4f5;color:#a90a1b;font-size:.95rem}.planner-error button{margin-left:20px;border:0;background:none}.button:disabled{opacity:.6;cursor:wait;transform:none}.brief-meta{display:flex;flex-wrap:wrap;gap:8px 15px;padding-bottom:25px;margin-bottom:25px;border-bottom:1px solid var(--line);color:#666;font-size:.88rem}.brief-description{white-space:pre-wrap;overflow-wrap:anywhere;margin:15px 0 25px}.budget-card{border-left:3px solid var(--red);background:var(--paper);padding:25px;margin:25px 0}.budget-card .eyebrow{font-size:.72rem;margin-bottom:15px}.budget-card strong{font-family:Georgia,serif;font-weight:400;font-size:clamp(1.7rem,2.4vw,2.3rem);line-height:1.3;display:block;margin-bottom:18px;letter-spacing:-.025em}.budget-card p:last-child{font-size:.88rem}.planner-panel .faq{margin-bottom:25px}.planner-panel h3{margin-top:25px}.planner-panel ul:not(.check-list){font-size:.93rem;margin-bottom:28px}.consultation-button{width:100%;white-space:normal}.consultation-saved{display:flex;align-items:flex-start;gap:10px;padding:20px;border:1px solid #ccc;background:var(--paper);font-size:.93rem;margin-top:25px}.consultation-saved svg{flex-shrink:0;color:var(--red)}.owner-link{display:block;color:#777;font-size:.8rem;text-decoration:underline;margin-top:25px}.concept-placeholder{padding:25px;border:1px solid var(--line);margin-top:25px}.concept-placeholder p{font-size:.93rem;margin:14px 0 20px}.concept-result{margin-top:25px}.concept-result img{width:100%}.concept-result .eyebrow{margin-top:18px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.owner-nav{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.owner-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:35px 0}.owner-stats>div{padding:23px;border:1px solid var(--line)}.owner-stats strong{display:block;font-family:Georgia,serif;font-weight:400;font-size:2.2rem}.owner-stats span{font-size:.85rem;color:#666}.owner-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.owner-toolbar .filters{margin:0}.owner-empty{padding:60px 30px;background:var(--paper);text-align:center}.owner-empty p{margin:20px auto 25px}.review-project{border:1px solid var(--line);padding:30px;margin-bottom:25px}.review-top{display:flex;justify-content:space-between;align-items:flex-start;gap:25px;margin-bottom:25px}.review-top h2{font-size:1.7rem;margin-bottom:10px}.review-top .eyebrow{font-size:.72rem;margin-bottom:10px}.review-top p{font-size:.85rem}.review-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:30px}.review-grid>img{width:100%;aspect-ratio:1.35;object-fit:contain;background:var(--paper)}.review-grid:not(:has(>img)){display:block}.review-contact{display:flex;gap:15px;flex-wrap:wrap;margin-bottom:15px;font-size:.9rem;color:var(--red-dark)}.review-grid label{font-size:.9rem;font-weight:600}.review-grid select{max-width:330px}.pricing-explanation{background:var(--paper);border-top:3px solid var(--red);padding:30px;margin-bottom:35px}.pricing-explanation h2{font-size:1.9rem;margin-bottom:20px}.pricing-explanation p{max-width:100ch;font-size:.95rem}.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.pricing-rule{padding:28px;border:1px solid var(--line)}.pricing-rule-title{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:25px}.pricing-rule h2{font-size:1.7rem}.draft-label,.approved-label{font-size:.75rem;background:var(--paper);padding:4px 10px;white-space:nowrap}.approved-label{background:var(--ink);color:white}.price-inputs{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.pricing-rule label{font-size:.84rem;font-weight:600}.pricing-rule>.consent{font-weight:400}.price-inputs input{font-size:.94rem;padding:10px}.ai-settings{background:var(--paper);padding:30px;margin-top:35px}.ai-settings h2{font-size:2rem;margin-bottom:25px}.ai-settings>label:not(.consent){display:block;max-width:300px;font-size:.9rem}.pricing-save{margin-top:30px;display:flex;align-items:center;gap:25px}.pricing-save p{margin:0}
@media(max-width:1150px){.planner-grid{gap:30px}.planner-visual{top:130px}.planner-heading{align-items:flex-start}.planner-heading>.text-link{white-space:nowrap}.price-inputs{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.planner-shell,.owner-shell{padding-top:30px;padding-bottom:55px}.planner-heading,.owner-heading{display:block;margin-bottom:25px}.planner-heading h1,.owner-heading h1{font-size:2.45rem}.planner-heading>.text-link{margin-top:20px}.planner-steps{gap:10px;grid-template-columns:1fr 1fr}.planner-steps li{padding:10px 0;font-size:.8rem;gap:8px}.planner-steps span{width:23px;height:23px;font-size:.7rem}.planner-grid{display:flex;flex-direction:column;gap:30px}.planner-visual{position:static;width:100%}.photo-workspace,.photo-empty{min-height:230px}.photo-empty{padding:25px}.photo-empty h2{font-size:1.6rem}.photo-empty p{font-size:.88rem}.planner-panel{width:100%}.planner-panel h2{font-size:1.9rem}.planner-panel .eyebrow{font-size:.76rem}.owner-nav{margin-top:25px}.owner-stats{gap:10px}.owner-stats>div{padding:15px}.owner-stats strong{font-size:1.7rem}.owner-stats span{font-size:.75rem;display:block;line-height:1.45}.owner-toolbar{display:block}.owner-toolbar>.text-link{margin-top:22px}.review-project{padding:22px}.review-top{display:block}.review-top>.text-link{margin-top:17px}.review-grid{grid-template-columns:1fr;gap:22px}.pricing-grid{grid-template-columns:1fr}.pricing-rule{padding:22px}.pricing-explanation,.ai-settings{padding:23px}.pricing-save{align-items:flex-start;flex-direction:column;gap:15px}.designer-home-link{font-size:.83rem}.planner-panel .budget-card{padding:22px}}
@media(prefers-reduced-motion:reduce){.spin{animation:none}}

.planner-availability strong{display:block;color:var(--ink);font-size:.95rem}.planner-availability p{margin-top:6px;max-width:100ch}

/* SSH brand refresh: crisp white, deep black, and deliberate red accents. */
:root{--red-on-black:#ff5367}
.hero-copy h1 em:after{width:120px;height:6px}
.trust-strip{background:var(--red);border-bottom-color:var(--red-dark)}
.trust-strip span,.trust-strip svg{color:#fff}
.feature,.process,.page-hero,.scope-box{background:var(--ink);color:#fff}
.feature p,.process p,.page-hero p,.scope-box p{color:#d2d2d2}
.feature .eyebrow,.process .eyebrow,.page-hero .eyebrow,.scope-box .eyebrow{color:var(--red-on-black)}
.feature .text-link,.process .text-link,.page-hero .text-link,.scope-box .text-link{color:var(--red-on-black)}
.feature .text-link:hover,.process .text-link:hover,.page-hero .text-link:hover,.scope-box .text-link:hover{color:#fff}
.feature .check-list svg,.scope-box .check-list svg{color:var(--red-on-black)}
.feature .button.dark{background:var(--red);border-color:var(--red);color:#fff}
.feature .button.dark:hover{background:var(--red-dark);border-color:var(--red-dark)}
.feature-image img,.page-hero-image img{border-bottom:4px solid var(--red)}
.process{border-top-color:#363636}
.process-number{color:var(--red-on-black);border-bottom-color:#454545}
.breadcrumbs{color:#c2c2c2}
.breadcrumbs a:hover{color:#fff}
.service-card{background:var(--ink);color:#fff;border-top:3px solid var(--red)}
.feature .service-card p{color:#d2d2d2}
.feature .service-card .text-link{color:var(--red-on-black)}
.feature .service-card .text-link:hover{color:#fff}
.service-card,.service-card:hover,.area-card:first-child,.area-card:first-child:hover{background:var(--ink);color:#fff}
.service-card p,.feature .service-card p,.area-card:first-child p{color:#d2d2d2}
.service-card .service-top,.service-card .service-top span,.service-card .text-link,.feature .service-card .text-link,.area-card:first-child .area-number,.area-card:first-child .text-link{color:var(--red-on-black)}
.service-card .text-link:hover,.feature .service-card .text-link:hover,.area-card:first-child .text-link:hover{color:#fff}
.area-card{border-top:3px solid var(--red)}
.closing{border-top:4px solid var(--red)}
.feature :focus-visible,.process :focus-visible,.page-hero :focus-visible,.scope-box :focus-visible,.service-card :focus-visible,.area-card:first-child:focus-visible{outline-color:var(--red-on-black)}

/* Scene windows show the matching SSH campaign photography without ad lettering. */
.campaign-scene{display:block;width:100%;height:auto;overflow:hidden;background:#222;aspect-ratio:1.6}
.hero-photo>.campaign-scene{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}
.feature-image>.campaign-scene,.page-hero-image>.campaign-scene{border-bottom:4px solid var(--red)}
.project>.campaign-scene{aspect-ratio:1.6;flex-shrink:0}
.gallery-dialog>.campaign-scene{aspect-ratio:1.9}
@media(max-width:760px){.campaign-scene,.project>.campaign-scene{aspect-ratio:1.5}.gallery-dialog>.campaign-scene{aspect-ratio:1.6}}

.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.consent a{text-decoration:underline}.planner-error{overflow-wrap:anywhere}
