:root{
 --paper:#ffffff;--white:#ffffff;--ink:#102d40;--dark:#0d2738;--body:#435e6e;--blue:#328fbf;--blue2:#79b8d7;--pale:#f0f7fb;--line:#d8e5ed;--font:'Avenir Next',Avenir,'Segoe UI',Arial,sans-serif;--serif:Georgia,'Liberation Serif','Times New Roman',serif
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:105px}
body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.65 var(--font);-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
h1,h2,h3,p{margin-top:0}
:focus-visible{outline:3px solid #6aadd0;outline-offset:4px}
.wrap{width:min(100% - 112px,1260px);margin-inline:auto}
.skip-link{position:fixed;top:-100px;left:12px;z-index:100;background:#fff;color:var(--ink);padding:10px 18px}
.skip-link:focus{top:12px}
.topline{background:var(--dark);color:#eff8fc}
.topline-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:35px;font-size:10px;font-weight:600;letter-spacing:.13em;text-transform:uppercase}
.topline a{color:#bfe4f5}.topline a:hover{text-decoration:underline;text-underline-offset:4px}.topline a span{margin-left:8px}
.site-header{position:relative;z-index:5;border-bottom:1px solid #e3ecf1;background:#fff}
.nav-shell{min-height:93px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.brand{display:inline-flex;align-items:center;gap:14px;flex-shrink:0;text-decoration:none}
.brand img{width:64px;height:51px;object-fit:contain}
.brand span{display:flex;flex-direction:column;line-height:1.13}
.brand strong{font:750 18px/1.1 var(--font);letter-spacing:.025em;white-space:nowrap}
.brand small{font-size:9px;font-weight:750;letter-spacing:.265em;margin-top:7px;color:#377fa6;white-space:nowrap}
.nav{display:flex;align-items:center;gap:37px;color:#3d5767;font-size:13px;font-weight:600}
.nav a:hover{text-decoration:underline;text-underline-offset:7px;text-decoration-color:#328fbf}
.nav-cta{display:inline-flex;align-items:center;gap:22px;padding:13px 17px;border:1px solid var(--ink);font-size:13px;font-weight:650;white-space:nowrap;transition:background .2s,color .2s}
.nav-cta:hover{background:var(--ink);color:white}
.nav-cta span{font-size:18px;line-height:1}
/* editorial hero */
.hero{background:var(--paper);overflow:hidden}
.hero-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(35px,5vw,92px);padding-top:70px;padding-bottom:102px;align-items:center}
.hero-copy{padding-top:22px}
.detail-top{display:flex;gap:12px;align-items:center;font-size:10px;letter-spacing:.15em;font-weight:730;color:#507384;text-transform:uppercase;white-space:nowrap}
.detail-line{height:1px;width:28px;flex:none;background:#9ccc4c}
.hero h1{font-family:var(--serif);font-size:clamp(65px,6.65vw,96px);font-weight:400;letter-spacing:-.055em;line-height:1.075;color:var(--ink);margin:40px 0 32px}
.hero h1 em{color:var(--blue);font-weight:400}
.hero-desc{max-width:485px;font-size:19px;line-height:1.73;color:#486273;margin-bottom:32px}
.hero-cta{display:flex;align-items:center;gap:33px;flex-wrap:wrap;margin-bottom:66px}
.solid-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:54px;padding:15px 20px;background:var(--ink);color:white;font-size:13px;font-weight:700;transition:background .2s}
.solid-btn:hover{background:#23658b}
.solid-btn span{font-size:20px;line-height:1}
.quiet-link{font-size:14px;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:5px}
.quiet-link span{margin-left:10px}.quiet-link:hover{color:var(--blue);border-color:var(--blue)}
.hero-footer{border-top:1px solid #d8e6ed;padding-top:18px;display:flex;gap:18px 35px;font-size:10px;letter-spacing:.135em;font-weight:700;color:#648090}
.hero-art{margin:0;position:relative;padding-left:10px;padding-top:14px}
.hero-art:before{content:"";position:absolute;top:0;left:-1px;width:53%;height:53%;border-top:1px solid #72a8c5;border-left:1px solid #72a8c5;pointer-events:none}
.hero-art-frame{width:100%;aspect-ratio: .91;overflow:hidden;background:#d4ecf5}
.hero-art-frame img{width:100%;height:100%;object-fit:cover;object-position:50% 48%}
.hero-art figcaption{display:flex;justify-content:space-between;gap:10px;padding-top:14px;border-top:0;font-size:9px;font-weight:750;letter-spacing:.125em;color:#597789}
/* founder note */
.intro-quote{background:#12364b;color:#f5fbfe}
.quote-inner{display:grid;grid-template-columns:220px 1fr;gap:65px;align-items:start;padding-top:64px;padding-bottom:68px}
.chapter,.section-overline{display:block;font-size:10px;line-height:1.6;letter-spacing:.17em;font-weight:750;text-transform:uppercase}
.chapter{color:#b3dbea;padding-top:10px}
.quote-inner p{font:400 clamp(26px,2.65vw,41px)/1.37 var(--serif);letter-spacing:-.023em;margin:0;max-width:820px}
/* services */
.section{padding:115px 0}
.services{background:#ffffff}
.section-overline{color:#357a9f;margin:0 0 21px}
.section-intro{display:grid;grid-template-columns:1fr .68fr;gap:110px;align-items:end;margin-bottom:67px}
h2{font:400 clamp(45px,4.7vw,68px)/1.09 var(--serif);letter-spacing:-.044em;margin:0;color:var(--ink)}
h2 em{color:var(--blue);font-weight:400}
.section-intro>p{color:#516b77;font-size:17px;line-height:1.75;max-width:430px;margin:0 0 9px}
.service-list{border-top:1px solid #bbced8}
.service-line{display:grid;grid-template-columns:75px minmax(0,1fr) 200px;gap:30px;align-items:start;border-bottom:1px solid #dce7ec;padding:43px 0 42px}
.service-index{font:400 20px/1.3 var(--serif);color:#398db5;padding-top:9px}
.service-main h3{font:400 clamp(28px,2.8vw,41px)/1.15 var(--serif);letter-spacing:-.035em;margin:0 0 13px}
.service-main h3 em{font-weight:400;color:#5a8094}
.service-main p{font-size:15px;line-height:1.75;color:#546f7a;max-width:560px;margin:0}
.service-line>a{display:flex;align-items:center;justify-content:space-between;gap:15px;justify-self:stretch;margin-top:13px;border-bottom:1px solid #73afcb;padding-bottom:8px;font-size:13px;font-weight:750;color:#24749b}
.service-line>a:hover{color:#142f3a;border-color:#142f3a}
.service-line>a span{font-size:20px;line-height:1}
.services-footnote{font-size:14px;color:#587180;margin:28px 0 0}.services-footnote a{font-weight:700;text-decoration:underline;text-underline-offset:4px}
/* approach */
.approach{background:#eef6fa;padding:109px 0 119px}
.approach-layout{display:grid;grid-template-columns:.87fr 1.13fr;gap:120px;align-items:start}
.approach-left h2{margin-bottom:29px}
.approach-rule{width:100px;height:2px;background:#5ba3c9;margin-bottom:31px}
.approach-left>p{font-size:16px;line-height:1.78;color:#486675;max-width:410px}
.approach-right{border-top:1px solid #aebebb}
.principle{display:grid;grid-template-columns:80px 1fr;gap:14px;padding:28px 0 31px;border-bottom:1px solid #c7dce5}
.principle>span{font:400 16px/1.4 var(--serif);color:#3987ab;padding-top:4px}
.principle h3{font:400 26px/1.28 var(--serif);letter-spacing:-.028em;margin:0 0 9px}
.principle p{font-size:15px;line-height:1.7;color:#506d7c;max-width:420px;margin:0}
/* location */
.area{background:#ffffff}
.area-layout{display:grid;grid-template-columns:1fr 1fr;gap:76px;align-items:center}
.area-heading h2{font-size:clamp(42px,4.3vw,64px);line-height:1.14;letter-spacing:-.046em}
.area-heading>p:not(.section-overline){color:#516a77;max-width:440px;margin:28px 0 30px;font-size:16px;line-height:1.78}
.arrow-link{display:inline-flex;gap:29px;align-items:center;border-bottom:1px solid currentColor;padding-bottom:6px;color:#216d97;font-size:14px;font-weight:720}
.arrow-link span{font-size:19px}.arrow-link:hover{color:#122f3b}
.place-names{display:flex;flex-direction:column;padding:0 0 0 38px;border-left:1px solid #bad0dc}
.place-names>span{font:400 clamp(30px,3.1vw,46px)/1.38 var(--serif);letter-spacing:-.025em;color:var(--ink)}
.place-names>span+span{border-top:1px solid #e0eaf0}
.place-names small{font-size:12px;color:#5b7c8c;line-height:1.6;margin-top:25px}
/* next steps */
.in-between{background:#e0f1f8;padding:66px 0}
.in-between-inner{display:grid;grid-template-columns:160px 1fr auto;gap:48px;align-items:center}
.in-between .section-overline{margin:0;color:#3a7898}
.in-between h2{font-size:clamp(28px,2.7vw,41px);max-width:760px;line-height:1.27}
.in-between .arrow-link{white-space:nowrap;color:#1b536d}
/* estimate */
.estimate{background:#102e42;color:#edf8fc;padding:115px 0 123px;position:relative}
.estimate-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:105px;align-items:start}
.estimate-copy{padding-top:27px}
.estimate-copy .section-overline{color:#b0dbea}
.estimate-copy h2{font-size:clamp(45px,4.7vw,69px);color:white}
.estimate-copy h2 em{color:#9cd3ee}
.estimate-copy>p:not(.section-overline){margin:30px 0 42px;color:#c4dbe7;font-size:16px;line-height:1.82;max-width:410px}
.direct-contact{display:flex;flex-direction:column;border-top:1px solid #456c7f;max-width:410px}
.direct-contact>span{font-size:10px;letter-spacing:.18em;font-weight:750;color:#a4cfe1;padding:20px 0 14px}
.direct-contact a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid #456c7f;font-size:15px;font-weight:650}
.direct-contact a:hover{color:#c3e6f4}
.direct-contact a span{font-size:18px}
.form-sheet{background:#ffffff;color:#173b4d;padding:47px 47px 52px;box-shadow:0 22px 55px #081d2434}
.form-sheet-head{margin-bottom:24px}
.form-sheet-head>span{font-size:10px;font-weight:750;letter-spacing:.16em;color:#387fa2}
.form-sheet-head h3{font:400 clamp(30px,3vw,43px)/1.2 var(--serif);margin:12px 0 9px;letter-spacing:-.035em}
.form-sheet-head p{font-size:13px;color:#68828e;margin:0}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}
#estimate-form label{display:block;font-size:12px;line-height:1.45;font-weight:750;color:#3c5f70;margin-bottom:20px}
#estimate-form label>span{color:#9b6848}
#estimate-form label>small{font-weight:500;color:#84939a;font-size:11px}
#estimate-form input:not([type=checkbox]),#estimate-form select,#estimate-form textarea{display:block;width:100%;appearance:auto;background:#fff;border:1px solid #c7dbe5;border-radius:0;min-height:50px;margin-top:8px;padding:11px 13px;color:#263f4f;outline-offset:2px;font-size:15px;font-weight:500;line-height:1.4}
#estimate-form input::placeholder,#estimate-form textarea::placeholder{color:#718e9d;opacity:1}
#estimate-form textarea{resize:vertical;min-height:117px}
#estimate-form .consent{display:flex;align-items:flex-start;gap:12px;margin:8px 0 20px;font-weight:500;font-size:12px;line-height:1.6;color:#5e6e74}
.consent input{width:17px;height:17px;flex:none;margin:2px 0 0;accent-color:#287fa8}
#estimate-form .consent>span{color:#5e6e74}
#estimate-form .consent .required{color:#b05443}
.button-submit{width:100%;min-height:53px;border:0;background:#143745;color:white;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 18px;font-size:14px;font-weight:750;text-align:left}
.button-submit:hover{background:#23688d}
.button-submit span{font-size:21px;line-height:1}
.form-fine-print{font-size:11px;color:#718794;line-height:1.7;margin:17px 0 0}
.form-fine-print a{text-decoration:underline;text-underline-offset:3px;color:#27769c}
.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
/* footer */
.footer{background:#0b2331;color:#d8e1e1;padding:72px 0 0}
.footer-top{display:flex;justify-content:space-between;gap:50px;padding-bottom:60px}
.footer-brand .brand{color:white}.footer-brand .brand img{filter:brightness(0) invert(1)}
.footer-brand .brand small{color:#93bacc}
.footer-brand p{margin:24px 0 0;font-size:13px;line-height:1.7;color:#9fb3bd}
.footer-right{display:grid;grid-template-columns:repeat(2,minmax(110px,1fr));gap:12px 55px;align-content:start;font-size:13px}
.footer-right a:hover{color:white;text-decoration:underline;text-underline-offset:4px}
.footer-bottom{border-top:1px solid #38505a;display:flex;justify-content:space-between;gap:20px;padding:24px 0 28px;font-size:11px;color:#8da5ae}
.footer-bottom a:hover{text-decoration:underline}
.mobile-bar{display:none}
/* privacy */
.privacy-page{padding:85px 0 100px;background:#f3f9fc}
.privacy-content{max-width:865px;margin:auto;background:#fff;border:1px solid #dce8ee;padding:65px 80px}
.privacy-content h1{font:400 clamp(40px,5vw,64px)/1.1 var(--serif);margin:0 0 34px}
.privacy-content h2{font:400 27px/1.2 var(--serif);margin:32px 0 10px}
.privacy-content p{color:#4e6368;font-size:16px;line-height:1.75}
.privacy-content a{color:#22627d;text-decoration:underline}
.privacy-content .eyebrow{font-size:11px;letter-spacing:.12em;color:#59839a;font-weight:700}
.privacy-updated{font-size:12px!important;color:#829096!important;margin-top:32px}
@media(max-width:1100px){
 .wrap{width:min(100% - 76px,1100px)}.nav{gap:17px}.hero-layout{gap:37px}.hero h1{font-size:clamp(58px,6.6vw,80px)}.detail-top{font-size:9px}.approach-layout,.estimate-layout{gap:62px}.section-intro{gap:50px}.in-between-inner{gap:25px}
}
@media(max-width:920px){
 .wrap{width:min(100% - 56px,760px)}.nav{display:none}.nav-shell{min-height:80px}.hero-layout{grid-template-columns:1fr;gap:43px;padding-top:62px;padding-bottom:80px}.hero-copy{padding:0}.hero h1{font-size:clamp(65px,9.5vw,90px)}.hero-desc{max-width:640px}.hero-cta{margin-bottom:35px}.hero-art{max-width:650px;margin-left:auto;margin-right:auto;width:100%}.hero-art-frame{aspect-ratio:1.28}.hero-footer{max-width:650px}.section-intro{gap:30px}.service-line{grid-template-columns:48px 1fr 150px;gap:18px}.approach-layout{gap:45px}.area-layout{gap:45px}.in-between-inner{grid-template-columns:1fr auto;gap:15px 24px}.in-between .section-overline{grid-column:1/-1}.estimate-layout{grid-template-columns:1fr;gap:48px}.estimate-copy{padding:0}.estimate-copy h2{font-size:64px}.estimate-copy>p:not(.section-overline){max-width:650px;margin:22px 0 32px}.direct-contact{max-width:650px}.form-sheet{max-width:760px;width:100%}
}
@media(max-width:660px){
 html{scroll-padding-top:70px}.wrap{width:min(100% - 36px,560px)}
 .topline-inner{min-height:32px;justify-content:center;font-size:10px;letter-spacing:.065em}.topline a{display:none}
 .nav-shell{min-height:73px;gap:8px}.brand{gap:8px}.brand img{height:42px;width:46px}.brand strong{font-size:13px}.brand small{font-size:7px;letter-spacing:.23em;margin-top:5px}.nav-cta{font-size:11px;padding:9px 10px;gap:5px}.nav-cta span{display:none}
 .hero-layout{padding-top:47px;padding-bottom:68px;gap:40px}.detail-top{font-size:9px;letter-spacing:.1em;gap:9px}.detail-top span:last-child{display:none}.detail-line{width:27px}
 .hero h1{font-size:clamp(52px,13.1vw,77px);letter-spacing:-.052em;line-height:1.08;margin:28px 0 24px}
 .hero-desc{font-size:16px;line-height:1.72;margin-bottom:25px}.hero-cta{gap:20px;margin-bottom:36px}.solid-btn{font-size:13px;min-height:50px;padding:13px 14px;gap:15px}.quiet-link{font-size:13px}.hero-footer{gap:10px 18px;font-size:9px;letter-spacing:.09em}.hero-art{padding-top:7px;padding-left:7px}.hero-art-frame{aspect-ratio:1.18}.hero-art figcaption{font-size:8px;letter-spacing:.07em;line-height:1.5}
 .quote-inner{grid-template-columns:1fr;gap:17px;padding-top:51px;padding-bottom:55px}.chapter{padding:0}.quote-inner p{font-size:clamp(25px,6.6vw,37px)}
 .section{padding:79px 0}.section-intro{grid-template-columns:1fr;gap:21px;margin-bottom:40px}.section-overline{margin-bottom:17px}h2{font-size:clamp(43px,10.5vw,56px)}.section-intro>p{font-size:16px}
 .service-line{grid-template-columns:40px 1fr;gap:12px;padding:30px 0 31px}.service-index{font-size:18px;padding-top:5px}.service-main h3{font-size:clamp(29px,7.7vw,36px)}.service-main h3 em{display:block}.service-main p{font-size:14px;line-height:1.72}.service-line>a{grid-column:2;justify-self:start;width:min(100%,240px);margin-top:0;font-size:13px;gap:25px}.services-footnote{line-height:1.75}
 .approach{padding:78px 0 86px}.approach-layout{grid-template-columns:1fr;gap:36px}.approach-left h2{margin-bottom:25px}.approach-left>p{font-size:15px}.principle{grid-template-columns:48px 1fr;padding:23px 0}.principle h3{font-size:25px}.principle p{font-size:14px;line-height:1.72}
 .area-layout{grid-template-columns:1fr;gap:49px}.area-heading h2{font-size:clamp(37px,9.8vw,54px)}.area-heading>p:not(.section-overline){font-size:15px;margin:25px 0 23px}.place-names{padding-left:22px}.place-names>span{font-size:36px}.place-names small{margin-top:19px}
 .in-between{padding:58px 0}.in-between-inner{display:flex;flex-direction:column;align-items:start;gap:21px}.in-between h2{font-size:clamp(29px,7.4vw,40px)}
 .estimate{padding:75px 0 88px}.estimate-layout{gap:35px}.estimate-copy h2{font-size:clamp(48px,11.5vw,61px)}.estimate-copy>p:not(.section-overline){font-size:15px}.direct-contact a{font-size:14px}.form-sheet{padding:30px 24px 33px}.form-sheet-head h3{font-size:32px}.form-row{grid-template-columns:1fr;gap:0}#estimate-form label{margin-bottom:18px}#estimate-form input:not([type=checkbox]),#estimate-form select,#estimate-form textarea{min-height:49px;font-size:16px}
 .footer{padding-top:53px;padding-bottom:65px}.footer-top{display:flex;flex-direction:column;gap:39px;padding-bottom:41px}.footer-right{gap:12px 25px}.footer-bottom{display:flex;flex-direction:column;gap:7px;padding-block:21px;font-size:11px}
 .mobile-bar{display:grid;grid-template-columns:1fr 1fr 1.8fr;gap:1px;position:fixed;left:0;right:0;bottom:0;z-index:50;background:#bfd7e5;border-top:1px solid #a8c8d9;height:62px;padding:0 0 env(safe-area-inset-bottom,0)}.mobile-bar a{display:grid;place-items:center;background:#ffffff;font-size:13px;font-weight:700;color:#174253}.mobile-bar a.mobile-primary{background:#10364e;color:#fff;font-size:12px}
 .privacy-page{padding:31px 0 65px}.privacy-content{padding:35px 23px}.privacy-content h1{font-size:42px}.privacy-content h2{font-size:25px}
}
@media(max-width:390px){.wrap{width:min(100% - 30px,540px)}.nav-cta{padding:8px 7px;font-size:10px}.brand img{width:43px}.brand strong{font-size:12px}.brand small{font-size:6.5px}.hero h1{font-size:clamp(48px,12.8vw,57px)}.hero-cta{gap:13px}.hero-footer{font-size:8px}.form-sheet{padding:26px 18px 30px}.detail-top{font-size:8.5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.solid-btn,.nav-cta{transition:none}}

/* V5: white-first palette, with one restrained Cascade Crest green detail. */
.hero-footer span:first-child::before {content:"";display:inline-block;width:6px;height:6px;background:#a4cc54;margin-right:10px;vertical-align:2px;border-radius:50%;}
.hero-art-frame {box-shadow:0 20px 52px rgba(18,62,84,.09);}
.form-sheet {box-shadow:0 22px 65px rgba(2,22,36,.26);}
@media(max-width:660px) {
 .hero-art-frame{box-shadow:0 10px 28px rgba(18,62,84,.06);}
 .hero-footer span:first-child::before{width:5px;height:5px;margin-right:6px;}
}


/* Original owner photography, calm editorial layout. */
.real-work{background:#f4f9fc;padding-top:106px;padding-bottom:112px}
.photo-intro{display:grid;grid-template-columns:1fr .7fr;gap:95px;align-items:end;margin-bottom:48px}
.photo-intro>p{font-size:17px;line-height:1.75;color:#516a77;max-width:430px;margin:0 0 8px}
.photo-grid{display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:20px;align-items:start}
.work-photo{margin:0;min-width:0}
.work-photo-frame{height:clamp(300px,34vw,455px);overflow:hidden;background:#d7e6ee}
.work-photo-frame img{width:100%;height:100%;object-fit:cover;object-position:50% 59%;transition:transform .5s ease}
.work-photo-first img{object-position:56% 64%}
.work-photo-second img{object-position:40% 52%}
.work-photo-third img{object-position:52% 62%}
.work-photo figcaption{display:grid;grid-template-columns:30px 1fr;gap:9px;border-top:1px solid #b6cbd7;margin-top:14px;padding-top:14px;align-items:start}
.work-photo-number{font:400 16px/1.5 var(--serif);color:#3887aa}
.work-photo figcaption strong{display:block;font:400 23px/1.2 var(--serif);letter-spacing:-.025em;color:#153449}
.work-photo figcaption small{display:block;font-size:12px;line-height:1.6;color:#597786;margin-top:6px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.work-photo:hover .work-photo-frame img{transform:scale(1.025)}}
@media(max-width:1100px){.photo-intro{gap:50px}.photo-grid{gap:13px}.work-photo figcaption strong{font-size:21px}}
@media(max-width:920px){.photo-intro{grid-template-columns:1fr;gap:22px}.photo-intro>p{max-width:650px}.work-photo-frame{height:330px}.work-photo figcaption{grid-template-columns:22px 1fr}.work-photo figcaption strong{font-size:19px}}
@media(max-width:660px){
 .real-work{padding-top:79px;padding-bottom:82px}
 .photo-intro{margin-bottom:31px;gap:19px}
 .photo-intro>p{font-size:15px}
 .photo-grid{grid-template-columns:1fr 1fr;gap:24px 13px}
 .work-photo-first{grid-column:1/-1}
 .work-photo-first .work-photo-frame{height:min(89vw,425px)}
 .work-photo-first img{object-position:50% 66%}
 .work-photo-second .work-photo-frame,.work-photo-third .work-photo-frame{height:240px}
 .work-photo-second img{object-position:48% 53%}
 .work-photo-third img{object-position:60% 64%}
 .work-photo figcaption{grid-template-columns:19px 1fr;gap:7px;margin-top:9px;padding-top:10px}
 .work-photo-number{font-size:14px}
 .work-photo figcaption strong{font-size:20px}
 .work-photo figcaption small{font-size:11px}
}
@media(max-width:390px){.work-photo-second .work-photo-frame,.work-photo-third .work-photo-frame{height:210px}.work-photo figcaption strong{font-size:18px}}

/* V7 refined: longer editorial headline in the photography section. */
#real-work-title {font-size:clamp(39px,4.2vw,59px);line-height:1.12;max-width:700px;overflow-wrap:normal;}
@media (max-width:920px) {#real-work-title {font-size:clamp(38px,5.9vw,59px);}}
@media (max-width:660px) {#real-work-title {font-size:clamp(34px,9.2vw,45px);line-height:1.16;letter-spacing:-.041em;}}

/* Clear, accessible feedback for the estimate request form. */
.button-submit[disabled]{cursor:wait;opacity:.77}
.button-submit[disabled]:hover{background:#143745}
.form-feedback{margin:16px 0 0;padding:14px 15px;border-left:3px solid #5d9fbf;background:#eef6fa;color:#163d50;font-size:14px;line-height:1.6}
.form-feedback[hidden]{display:none}
.form-feedback[data-state="success"]{border-color:#2c8267;background:#edf8f3;color:#1c503f}
.form-feedback[data-state="error"]{border-color:#b46e3d;background:#fff6ee;color:#673d24}
.form-feedback strong{display:block;margin-bottom:2px;font-weight:750}
.form-feedback a{font-weight:750;text-decoration:underline;text-underline-offset:3px}
.form-feedback a:focus-visible{outline-offset:2px}
