/* FG Professional Services — visual refinement */
:root{--ink:#121a25;--navy:#213b5e;--gold:#cda95f;--cream:#f6f4ee;--line:#dadbd9}
body{background:#f9f8f4;color:#172333}
.container{width:min(1280px,calc(100% - 72px))}
::selection{background:#cda95f;color:#14243a}
.btn{border-radius:0;padding-inline:25px;letter-spacing:.085em;box-shadow:inset 0 0 0 0 #fff2;transition:transform .3s,background .3s,box-shadow .3s}
.btn:hover{transform:translateY(-3px);box-shadow:0 13px 27px #0002}
.text-link{letter-spacing:.09em;transition:color .25s,gap .25s}.text-link:hover{gap:16px}
.eyebrow{color:#907342;letter-spacing:.2em}.eyebrow.light{color:#e3c282}
.topbar{background:#101b29;color:#d4d9df}.topbar .container{padding:10px 0}
.site-header{background:#17273b;border-bottom:1px solid #ffffff24}
.header-inner{min-height:88px}.brand img{height:62px}
.nav a:not(.btn){letter-spacing:.095em}.nav .btn{background:transparent;color:#f4eee0;border-color:#b89d65;min-height:46px}.nav .btn:hover{background:#cda95f;color:#172333}
.hero{min-height:min(780px,82vh);background-position:center 53%;align-items:center}
.hero:before{background:linear-gradient(90deg,rgba(9,20,33,.94) 0%,rgba(9,20,33,.83) 36%,rgba(9,20,33,.28) 82%),linear-gradient(0deg,#101c2a4d,transparent 40%)}
.hero:after{content:'FG / PROFESSIONAL SERVICES';position:absolute;right:35px;bottom:28px;z-index:1;color:#fff;font:700 .65rem Manrope,sans-serif;letter-spacing:.22em;writing-mode:vertical-rl;transform:rotate(180deg);opacity:.74}
.hero .container{padding-block:105px 118px}.hero-copy{max-width:780px;position:relative;padding-left:48px}.hero-line{position:absolute;left:0;top:8px;width:2px;height:calc(100% - 8px);background:linear-gradient(#d3ac65,#d3ac6500)}
.hero h1{font-size:clamp(3.4rem,6.5vw,7.2rem);line-height:1.04;letter-spacing:-.065em;max-width:830px;margin:23px 0 27px}
.hero p:not(.eyebrow){max-width:540px;line-height:1.65;font-size:1.16rem}.hero .actions{margin-top:36px}
.hero-bottom{background:#1c314b}.hero-bottom .container{justify-content:space-between}.hero-bottom span{border-color:#ffffff32;flex:1;text-align:center;margin:0;padding:23px 12px;letter-spacing:.11em;font-size:.75rem}.hero-bottom span:first-child{text-align:left}.hero-bottom span:last-child{text-align:right}
.section{padding:120px 0}.bg-cream{background:#f0eee8}.bg-dark{background:#162639}
.intro-grid{grid-template-columns:1.06fr .94fr;gap:clamp(45px,7vw,110px)}.intro-copy{padding:35px 0}.intro-copy h2{max-width:690px}.intro-image{height:min(650px,55vw);position:relative;box-shadow:28px 28px 0 #ded9cb}.intro-image:after{content:'THE DETAILS ARE THE DIFFERENCE';position:absolute;left:0;bottom:0;background:#162639;color:#efe5cf;padding:17px 23px;font:700 .66rem Manrope,sans-serif;letter-spacing:.18em}.intro-image img{object-position:36% center}
.numbered{border-color:#cbc8c0}.numbered strong{color:#af8a49}.numbered span{font-size:.88rem}
.section-head{margin-bottom:46px}.section-head>p{border-left:2px solid var(--gold);padding-left:22px;max-width:360px}
.service-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:20px}
.service-card{grid-column:span 5;display:flex;flex-direction:column;position:relative;overflow:hidden;background:#17283d;border:0;color:#fff;box-shadow:0 15px 38px #1d2d4117;transition:transform .35s,box-shadow .35s}
.service-card:nth-child(4n+1),.service-card:nth-child(4n){grid-column:span 7}
.service-card:hover{transform:translateY(-7px);box-shadow:0 26px 45px #1d2d412e}
.service-card>a:first-child{position:relative;display:block;overflow:hidden}
.service-card>a:first-child:after{content:attr(aria-label);position:absolute;bottom:0;right:0;padding:10px 13px;background:#cda95f;color:#172333;text-transform:uppercase;letter-spacing:.13em;font:700 .62rem Manrope,sans-serif;opacity:0;transform:translateY(100%);transition:transform .35s,opacity .35s}
.service-card:hover>a:first-child:after{opacity:1;transform:translateY(0)}
.service-card img{height:clamp(265px,27vw,370px);width:100%;object-fit:cover;transition:transform .6s}
.service-card:hover img{transform:scale(1.045)}.service-card:nth-child(3) img{object-position:50% 42%}
.service-card-body{padding:34px clamp(25px,3.5vw,50px) 38px;display:flex;flex-direction:column;flex:1;position:relative}
.service-card-body:before{content:attr(data-service-number);position:absolute;top:17px;right:28px;color:#cda95f40;font:700 5.5rem/.9 Manrope,sans-serif;letter-spacing:-.1em;pointer-events:none}
.service-card[data-service-number] .service-card-body:before{content:attr(data-service-number)}
.service-card .eyebrow{color:#cda95f;position:relative;z-index:1;margin-bottom:16px}.service-card h3{color:#fff;font-size:clamp(1.65rem,2.8vw,2.65rem);margin-bottom:15px;position:relative;z-index:1}
.service-card p{color:#d9e0e7;max-width:530px;font-size:1rem;line-height:1.65;margin-bottom:26px;position:relative;z-index:1}.service-card .text-link{margin-top:auto;color:#f5dba3;border-color:#d1af6e;align-self:flex-start}
.feature-editorial{background:#17283d;color:#fff;padding:clamp(90px,10vw,145px) 0;overflow:hidden}
.feature-grid{display:grid;grid-template-columns:1.07fr .93fr;align-items:center;gap:clamp(70px,10vw,150px)}
.feature-visual{position:relative;padding:0 11% 11% 0;min-width:0}.feature-photo{height:620px;overflow:hidden}.feature-photo img{width:100%;height:100%;object-fit:cover;object-position:35% center}.feature-inset{width:46%;height:260px;position:absolute;right:0;bottom:0;border:10px solid #17283d;overflow:hidden}.feature-inset img{width:100%;height:100%;object-fit:cover;object-position:70% center}.feature-index{position:absolute;left:0;bottom:0;color:#d1b675;font:700 .67rem Manrope,sans-serif;letter-spacing:.17em}
.feature-content h2{font-size:clamp(2.6rem,4.2vw,4.7rem);margin:18px 0 26px}.feature-content>p:not(.eyebrow){color:#d2dbe4;max-width:560px;font-size:1.09rem}.feature-points{margin:34px 0 38px;border-top:1px solid #ffffff3b}.feature-points>div{display:grid;grid-template-columns:52px 1fr;gap:12px;padding:22px 0;border-bottom:1px solid #ffffff3b}.feature-points span{font:700 .82rem Manrope,sans-serif;color:#d3b46c;padding-top:5px}.feature-points h3{font-size:1.15rem;margin:0 0 6px;letter-spacing:-.015em}.feature-points p{color:#bdc9d5;margin:0;line-height:1.55}.light-link{color:#f1d79e}
.bg-dark .process-grid{gap:0;border-top:1px solid #667180;margin-top:55px}.bg-dark .process-step{border:0;border-left:1px solid #667180;padding:30px 25px 10px}.bg-dark .process-step:first-child{border-left:0;padding-left:0}.process-step b{font-size:2rem;letter-spacing:-.06em}.process-step h3{font-size:1.28rem}.process-step p{font-size:1rem;line-height:1.65}
.service-area{gap:12%}.service-area h2{max-width:620px}.area-panel{padding:58px;background:#e7e8e2;border:0;box-shadow:-17px 17px 0 #d7c29a}.area-panel:before{content:'SERVICE AREA / MASSACHUSETTS';display:block;border-bottom:1px solid #acb3b6;padding-bottom:16px;margin-bottom:30px;letter-spacing:.15em;font:700 .68rem Manrope,sans-serif;color:#496080}.area-panel h3{font-size:clamp(2rem,3vw,3.2rem)}
.quote-band{background:#ac8a50;color:#172333;padding:78px 0}.quote-band .eyebrow.light{color:#314359}.quote-band .btn{background:#17283d;border-color:#17283d;color:#fff}.quote-band .btn:hover{background:#213e62}.quote-band h2{letter-spacing:-.05em}
.faq-list{margin:0;max-width:100%}.faq-list details{max-width:100%;border-color:#cdd0d0}.faq-list summary{font-size:1.18rem;padding:27px 0}.faq-list details p{font-size:1rem}.faq-list summary:after{color:#8b703c}
.page-hero.photo-hero{min-height:440px;display:flex;align-items:center;background:#1a2b42;isolation:isolate;padding:95px 0}
.page-hero.photo-hero:before{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#142437ef 0%,#142437d7 47%,#1424376b 100%)}
.page-hero.photo-hero:after{content:'FG';opacity:.08;right:2%;bottom:-110px;color:#fff;font-size:26rem}
.page-hero.photo-hero .container{position:relative;z-index:1}.page-hero.photo-hero h1{font-size:clamp(3rem,5.6vw,6rem);max-width:850px;line-height:1.08}.page-hero.photo-hero p:not(.eyebrow){max-width:650px}
.page-interior-painting .page-hero{background:#1a2b42 url('../images/hero-interior.webp') center 48%/cover}.page-cabinet-painting .page-hero{background:#1a2b42 url('../images/cabinet-painting.webp') center 45%/cover}.page-drywall-repair .page-hero{background:#1a2b42 url('../images/drywall-repair.webp') center 46%/cover}.page-exterior-painting .page-hero{background:#1a2b42 url('../images/exterior-painting.webp') center 48%/cover}
.page-services .page-hero{background:#1a2b42 url('../images/hero-interior.webp') center 48%/cover}.page-about .page-hero{background:#1a2b42 url('../images/cabinet-painting.webp') center 49%/cover}.page-contact .page-hero{background:#1a2b42 url('../images/exterior-painting.webp') center 47%/cover}
.page-privacy .page-hero,.page-terms .page-hero{min-height:340px}
.detail-section{gap:8%;margin-bottom:95px}.detail-photo{position:relative;overflow:hidden;background:#ddd}.detail-photo img{height:clamp(370px,40vw,530px);transition:transform .55s}.detail-photo:hover img{transform:scale(1.04)}.detail-copy h2{font-size:clamp(2.15rem,3.7vw,3.7rem)}
.page-services main>.section .service-grid{margin-top:5px}
.service-note{background:#233c5b;color:#fff;padding:60px 0}.service-note-inner{display:grid;grid-template-columns:110px 1.3fr 1fr;align-items:center;gap:45px}.service-note-mark{font:800 4.7rem/.8 Manrope,sans-serif;letter-spacing:-.15em;color:#cda95f}.service-note h2{font-size:clamp(1.6rem,2.5vw,2.55rem);margin:7px 0 0}.service-note p:last-child{color:#d7e0e7;margin:0}
.contact-option{background:#fff;transition:transform .25s,border-color .25s}.contact-option:hover{transform:translateX(5px)}.contact-aside{background:#e9e8e0;border-top:5px solid #cda95f}
.site-footer{background:#111c2a}.footer-grid h3{color:#d4b575}.footer-bottom{border-color:#ffffff2d}.modal{border-top:7px solid #cda95f}.modal::backdrop{backdrop-filter:blur(4px)}
@media(max-width:1050px){.feature-grid{gap:50px}.feature-photo{height:510px}.feature-inset{height:210px}.service-note-inner{gap:25px}}
@media(max-width:820px){.container{width:min(100% - 44px,1280px)}.header-inner{min-height:75px}.brand img{height:53px}.nav{background:#17273b}.nav a:not(.btn){font-size:1rem}.nav .btn{margin-top:25px}.hero{min-height:690px}.hero .container{padding-block:92px}.hero-copy{padding-left:30px}.hero-bottom span:first-child{text-align:left}.intro-grid{grid-template-columns:1fr;gap:38px}.intro-copy{padding:0}.intro-image{height:420px;box-shadow:16px 16px 0 #ded9cb}.feature-grid{grid-template-columns:1fr;gap:68px}.feature-photo{height:460px}.feature-visual{max-width:670px}.feature-content h2{max-width:650px}.service-grid{gap:16px}.service-card{grid-column:span 6!important}.service-card img{height:250px}.service-card-body{padding:28px}.service-card h3{font-size:1.65rem}.service-card-body:before{font-size:4rem}.service-area{gap:42px}.service-note-inner{grid-template-columns:75px 1fr}.service-note p:last-child{grid-column:2}.service-note-mark{font-size:3.4rem}.page-hero.photo-hero{min-height:400px}.page-hero.photo-hero:after{font-size:17rem;bottom:-45px}}
@media(max-width:620px){.container{width:min(100% - 36px,1280px)}.section{padding:78px 0}.hero{min-height:650px;background-position:60% center}.hero:before{background:linear-gradient(0deg,#0e1a2af5,#0e1a2ac9 61%,#0e1a2a80)}.hero:after{display:none}.hero .container{padding:120px 0 73px}.hero-copy{padding-left:17px}.hero h1{font-size:clamp(2.7rem,10.2vw,4.6rem);margin:17px 0}.hero p:not(.eyebrow){font-size:1rem}.hero-bottom .container{grid-template-columns:1fr 1fr}.hero-bottom span{font-size:.65rem;text-align:left!important;padding:16px 6px}.hero-bottom span:last-child{padding-top:0}.intro-image{height:340px}.intro-image:after{font-size:.55rem;padding:11px}.numbered{gap:8px}.numbered span{font-size:.76rem}.section-head>p{margin-top:25px}.service-grid{grid-template-columns:1fr}.service-card{grid-column:auto!important}.service-card img{height:clamp(255px,62vw,350px)}.service-card-body{padding:29px 26px 32px}.service-card h3{font-size:1.95rem}.service-card p{font-size:1rem}.service-card>a:first-child:after{display:none}.feature-editorial{padding:80px 0}.feature-grid{gap:42px}.feature-visual{padding-right:9%;padding-bottom:16%}.feature-photo{height:390px}.feature-inset{height:150px;border-width:6px}.feature-index{bottom:0;font-size:.55rem}.feature-content h2{font-size:2.65rem}.feature-points>div{grid-template-columns:38px 1fr}.process-grid{grid-template-columns:1fr}.bg-dark .process-grid{border-top:0}.bg-dark .process-step,.bg-dark .process-step:first-child{border-left:0;border-top:1px solid #667180;padding:23px 0}.bg-dark .process-step h3{margin:10px 0}.area-panel{padding:38px;box-shadow:-10px 10px 0 #d7c29a}.quote-band{padding:66px 0}.page-hero.photo-hero{min-height:380px;padding:65px 0;background-position:60% center}.page-hero.photo-hero:before{background:linear-gradient(90deg,#142437ed,#142437b2)}.page-hero.photo-hero h1{font-size:clamp(2.7rem,9vw,4.2rem)}.page-hero.photo-hero:after{font-size:12rem;bottom:-30px}.detail-photo img{height:300px}.detail-section{margin-bottom:65px}.service-note{padding:50px 0}.service-note-inner{grid-template-columns:1fr;gap:14px}.service-note-mark{font-size:3rem}.service-note p:last-child{grid-column:1}.floating-cta .btn-outline{color:#fff}}
@media(prefers-reduced-motion:no-preference){.reveal{opacity:0;transform:translateY(25px);transition:opacity .75s ease,transform .75s ease}.reveal.is-visible{opacity:1;transform:none}}
/* Project inquiry forms */
.hero{min-height:790px}.hero>.container{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);align-items:center;gap:clamp(30px,5vw,85px);padding-block:70px 80px}
.hero-copy{min-width:0;padding-left:28px}.hero h1{max-width:690px;font-size:clamp(3.1rem,5.2vw,5.55rem);overflow-wrap:normal}.hero p:not(.eyebrow){max-width:575px}
.hero-form-card{background:#f7f6f2;color:#17283d;padding:clamp(26px,3vw,42px);box-shadow:0 28px 70px #0006;min-width:0;border-top:5px solid #cda95f}
.hero-form-card h2{font-size:clamp(1.65rem,2.3vw,2.55rem);margin:8px 0 10px;letter-spacing:-.04em}.hero-form-card>p:not(.eyebrow){color:#5b6570;font-size:1rem;margin:0 0 23px}
.fg-form{min-width:0}.form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 13px}.form-field{min-width:0}.form-wide{grid-column:1/-1}.form-field label{display:block;font:700 .77rem/1.4 Manrope,sans-serif;letter-spacing:.035em;margin-bottom:7px;color:#263b55}
.form-field input,.form-field select,.form-field textarea{display:block;width:100%;min-width:0;border:1px solid #c8ccd0;border-radius:0;background:#fff;color:#18283b;min-height:46px;padding:10px 12px;font:400 1rem/1.4 'DM Sans',sans-serif;outline:none}
.form-field textarea{resize:vertical;min-height:100px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#906d32;box-shadow:0 0 0 3px #d7b97955}.optional{font-weight:400;color:#69727a;letter-spacing:0}
.form-consent{display:flex;align-items:flex-start;gap:10px;margin:19px 0 20px;color:#434e59;font-size:.79rem;line-height:1.5;cursor:pointer}.form-consent input{flex:0 0 auto;width:18px;height:18px;margin:1px 0 0;accent-color:#283f60}.form-consent a{color:#183a65;text-decoration:underline;text-underline-offset:2px}.form-consent a:hover{color:#866634}
.fg-submit{width:100%;min-height:51px}.fg-submit:disabled{cursor:wait;opacity:.68;transform:none;box-shadow:none}.fg-form-message{font:600 .88rem/1.45 'DM Sans',sans-serif;margin-top:12px;min-height:0}.fg-form-message:empty{display:none}.fg-form-message.is-success{color:#24583d}.fg-form-message.is-error{color:#a53030}
.contact-grid{grid-template-columns:.85fr 1.15fr;gap:clamp(42px,6vw,95px);align-items:start}.contact-aside{padding:clamp(27px,3.5vw,48px)}.contact-aside h2{font-size:clamp(1.8rem,3vw,2.7rem)}.contact-aside>p:not(.eyebrow){margin-bottom:25px}.contact-option{overflow-wrap:anywhere}
.modal{width:min(94vw,650px);overflow-y:auto}.modal-inner{padding:39px}.modal h2{font-size:2.2rem}.modal-inner>p:not(.eyebrow){padding-right:38px}.modal .fg-form{margin-top:24px}.modal-close{z-index:2}.modal .fg-submit{font-size:.8rem}
.policy-inset{background:#eaece9;border-left:3px solid #cda95f;padding:20px 27px;margin:32px 0}.prose .policy-inset h2{margin:5px 0 15px}.policy-inset p:last-child{margin-bottom:0}
@media(max-width:1050px){.hero>.container{grid-template-columns:minmax(0,1fr) minmax(350px,.92fr);gap:27px}.hero h1{font-size:clamp(3rem,5.2vw,5rem)}.hero-form-card{padding:25px}.form-fields{gap:12px}.contact-grid{gap:40px}}
@media(max-width:820px){.hero{min-height:0}.hero>.container{grid-template-columns:1fr;gap:44px;padding-block:88px}.hero-copy{max-width:680px}.hero h1{font-size:clamp(3rem,7vw,5rem)}.hero-form-card{width:min(100%,650px);padding:32px}.contact-grid{grid-template-columns:1fr;gap:44px}.contact-aside{max-width:700px}}
@media(max-width:620px){.hero>.container{padding-block:104px 75px;gap:38px}.hero-copy{padding-left:17px}.hero h1{font-size:clamp(2.75rem,10vw,4.25rem);line-height:1.05}.hero-form-card{padding:26px 21px}.hero-form-card h2{font-size:2rem}.form-fields{grid-template-columns:1fr;gap:13px}.form-field input,.form-field select{min-height:48px}.form-consent{font-size:.82rem}.contact-aside{padding:28px 20px}.modal{max-height:calc(100dvh - 22px)}.modal-inner{padding:32px 20px}.modal h2{font-size:1.9rem}.policy-inset{padding:18px}}
/* Real project photos and before/after comparison */
.service-card img.real-project{object-position:50% 58%}.visual-stack img.real-project{object-position:50% 60%}
.project-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:center;gap:clamp(45px,7vw,110px)}
.ba-slider{--pos:50%;position:relative;aspect-ratio:var(--ratio,1100/1384);max-height:720px;width:100%;margin-inline:auto;overflow:hidden;background:#d9d6cd;box-shadow:-24px 24px 0 #ded9cb;cursor:ew-resize;touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}
.bg-cream .ba-slider{box-shadow:-24px 24px 0 #d8d0bd}
.ba-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-drag:none}
.ba-before{clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.ba-label{position:absolute;top:18px;z-index:2;padding:8px 13px;background:#17283de6;color:#f4eee0;font:700 .64rem/1 Manrope,sans-serif;letter-spacing:.17em;text-transform:uppercase;pointer-events:none}
.ba-label-before{left:18px}.ba-label-after{right:18px;background:#cda95f;color:#172333}
.ba-handle{position:absolute;top:0;bottom:0;left:var(--pos);z-index:3;width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 14px #0006;pointer-events:none}
.ba-handle span{position:absolute;top:50%;left:50%;display:grid;place-items:center;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;background:#fff;color:#17283d;font:700 1.05rem/1 Manrope,sans-serif;letter-spacing:.08em;box-shadow:0 8px 24px #0005;transition:transform .2s}
.ba-slider:hover .ba-handle span,.ba-slider.is-dragging .ba-handle span{transform:scale(1.08)}
.ba-slider:has(.ba-range:focus-visible) .ba-handle span{outline:3px solid #cda95f;outline-offset:3px}
.ba-range{position:absolute;left:0;right:0;bottom:0;width:100%;height:1px;margin:0;opacity:0;pointer-events:none}
.project-copy h2{margin:10px 0 24px;max-width:600px}.project-copy .check-list{margin:28px 0 24px}
.ba-hint{display:flex;align-items:center;gap:10px;color:#6a6f75;font-size:.92rem}.ba-hint span{color:#9a7739;font-size:1.2rem}
.project-copy .actions{align-items:center;gap:22px}
@media(max-width:820px){.project-grid{grid-template-columns:1fr;gap:56px}.ba-slider{max-width:560px;max-height:none;box-shadow:-14px 14px 0 #ded9cb}.project-copy{max-width:680px}}
@media(max-width:620px){.ba-slider{box-shadow:-9px 9px 0 #ded9cb;margin-left:9px;width:calc(100% - 9px)}.ba-label{top:12px;padding:7px 10px;font-size:.58rem}.ba-label-before{left:12px}.ba-label-after{right:12px}.ba-handle span{width:44px;height:44px;margin:-22px 0 0 -22px;font-size:.95rem}.project-copy .actions{flex-direction:column;align-items:flex-start}}
/* Our Work: galleries, project sequences, lightbox */
.page-our-work .page-hero{background:#1a2b42 url('../images/work/bedroom-blue.webp') center 55%/cover}
.project-grid+.project-grid{margin-top:clamp(80px,9vw,130px)}.project-grid-reverse{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}.project-grid-reverse .ba-slider{order:2;box-shadow:24px 24px 0 #ded9cb}
.visual-stack img.real-project{object-position:50% 55%}
.work-section .section-head{align-items:end}.work-section .section-head>.text-link{flex:0 0 auto;margin-bottom:6px}
.work-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.work-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.work-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.work-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.work-item{margin:0;background:#fff;box-shadow:0 12px 30px #1d2d4112;transition:transform .35s,box-shadow .35s}.work-item:hover{transform:translateY(-5px);box-shadow:0 22px 40px #1d2d4124}
.work-item a{display:block;overflow:hidden;cursor:zoom-in}.work-item img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform .6s}.work-item:hover img{transform:scale(1.04)}
.work-item figcaption{padding:16px 18px 18px;font-size:.93rem;line-height:1.45;color:#3c4652}.work-item figcaption span{display:block;margin-bottom:6px;font:700 .64rem/1 Manrope,sans-serif;letter-spacing:.17em;text-transform:uppercase;color:#907342}
.work-teaser{margin-top:clamp(80px,9vw,120px)}
.sequence{display:grid;grid-template-columns:minmax(220px,.75fr) 2.25fr;gap:clamp(28px,4vw,60px);align-items:start;padding:clamp(34px,4vw,52px) 0;border-top:1px solid #cdcac1}.sequence:last-child{padding-bottom:0}
.sequence-head h3{font-size:clamp(1.6rem,2.4vw,2.3rem);margin:10px 0 14px}.sequence-head p:not(.eyebrow){color:#5d6168;margin:0}
.sequence-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;counter-reset:step}
.sequence-steps figure{margin:0;position:relative}.sequence-steps a{display:block;overflow:hidden;cursor:zoom-in;background:#ddd}.sequence-steps img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;transition:transform .6s}.sequence-steps a:hover img{transform:scale(1.04)}
.sequence-steps figcaption{display:flex;gap:10px;align-items:baseline;padding:13px 2px 0;font-size:.9rem;line-height:1.4;color:#3c4652}.sequence-steps figcaption b{font:700 .8rem Manrope,sans-serif;color:#af8a49}
.sequence-steps figure:not(:last-child):after{content:'→';position:absolute;top:calc(50% - 40px);right:-15px;z-index:2;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#cda95f;color:#172333;font:700 .9rem/1 Manrope,sans-serif;box-shadow:0 6px 14px #0003}
.lightbox{width:min(96vw,1200px);max-height:94dvh;padding:0;border:0;background:transparent;overflow:visible}.lightbox::backdrop{background:#0a1320e8;backdrop-filter:blur(3px)}
.lightbox figure{margin:0;display:flex;flex-direction:column;align-items:center}.lightbox img{max-width:100%;max-height:calc(94dvh - 70px);width:auto;height:auto;object-fit:contain;box-shadow:0 25px 60px #0008}
.lightbox figcaption{color:#eef1f4;padding:14px 60px 0;text-align:center;font-size:.95rem}
.lightbox button{position:fixed;z-index:2;display:grid;place-items:center;width:50px;height:50px;border:0;border-radius:50%;background:#ffffffe8;color:#17283d;font:400 1.6rem/1 Arial,sans-serif;box-shadow:0 8px 20px #0005}.lightbox button:hover{background:#cda95f}
.lightbox-close{top:16px;right:16px}.lightbox-prev{left:16px;top:50%;margin-top:-25px}.lightbox-next{right:16px;top:50%;margin-top:-25px}
@media(max-width:1050px){.work-grid-4,.work-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.sequence{grid-template-columns:1fr;gap:24px}.sequence-head{max-width:640px}}
@media(max-width:820px){.project-grid-reverse{grid-template-columns:1fr}.project-grid-reverse .ba-slider{order:0;box-shadow:-14px 14px 0 #ded9cb}.work-section .section-head{flex-direction:column;align-items:flex-start}}
@media(max-width:620px){.work-grid,.work-grid-4,.work-grid-3,.work-grid-2{grid-template-columns:1fr 1fr;gap:12px}.work-item figcaption{padding:11px 11px 13px;font-size:.8rem}.work-item figcaption span{font-size:.55rem}.sequence-steps{gap:9px}.sequence-steps figcaption{flex-direction:column;gap:2px;font-size:.76rem}.sequence-steps figure:not(:last-child):after{width:22px;height:22px;right:-15px;font-size:.7rem;top:calc(50% - 30px)}.project-grid-reverse .ba-slider{box-shadow:-9px 9px 0 #ded9cb}.lightbox button{width:42px;height:42px}.lightbox-prev,.lightbox-next{top:auto;bottom:14px;margin:0}.lightbox figcaption{padding:12px 10px 60px}}
/* Optional SMS consent checkboxes and legal links under the submit button */
.form-consent+.form-consent{margin-top:-6px}
.fg-form p.form-legal{display:flex;justify-content:center;gap:10px;max-width:none;margin:12px 0 0;font-size:.8rem;line-height:1.5;color:#6a727b}.form-legal a{color:#183a65;text-decoration:underline;text-underline-offset:2px}.form-legal a:hover{color:#866634}
/* Legal pages: Terms of Service and Privacy Policy */
.prose h3{font-size:1.12rem;letter-spacing:-.02em;margin:26px 0 8px}.prose .policy-inset h3:first-of-type{margin-top:18px}
.prose ul{margin:0 0 18px;padding-left:22px}.prose li{margin:5px 0;line-height:1.6}.prose li::marker{color:#af8a49}
.prose a{color:#183a65;text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}.prose a:hover{color:#866634}
.legal-meta{font-size:1.02rem;padding-bottom:18px;border-bottom:1px solid #d6d3ca}.legal-contact{line-height:1.8}
/* Leave room on the right of the mobile call/text bar for the chat widget button */
@media(max-width:820px){.floating-cta{padding-right:86px}.floating-cta a{padding-inline:12px;gap:8px;white-space:nowrap}}
