@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--blue:#1156bd;--navy:#091624;--ink:#152333;--muted:#596574;--line:#d9dfe4;--paper:#f5f7f9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.6}img{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}h1,h2,h3{font-family:'Barlow Condensed',Impact,sans-serif;line-height:.96;text-transform:uppercase}h1{font-size:clamp(4rem,8.2vw,8.5rem);letter-spacing:-.015em;margin-bottom:26px}h2{font-size:clamp(3.5rem,6vw,6.3rem);letter-spacing:-.015em;margin-bottom:0}h3{font-size:2.6rem;margin-bottom:18px}h1 em,h2 em{color:#72a9ff;font-style:normal}.blue{color:var(--blue)}.eyebrow{font-size:.76rem;letter-spacing:.18em;font-weight:700;text-transform:uppercase;margin-bottom:22px}.site-header{height:98px;background:white;display:flex;align-items:center;gap:30px;padding:8px clamp(22px,4vw,70px);position:relative;z-index:10}.brand img{width:90px;height:78px;object-fit:contain}.site-header nav{display:flex;gap:clamp(18px,2.6vw,42px);align-items:center;margin-left:auto;font-size:.86rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.site-header nav a:hover,.footer-links a:hover{color:var(--blue)}.header-cta{background:var(--navy);color:white;font-size:.8rem;letter-spacing:.07em;text-transform:uppercase;font-weight:700;padding:15px 18px;white-space:nowrap}.header-cta span,.button span{margin-left:28px}.hero{height:min(760px,78vw);min-height:620px;position:relative;background:#0b2036;color:white;overflow:hidden}.hero-img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 52%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,18,33,.92) 0%,rgba(4,18,33,.77) 34%,rgba(4,18,33,.22) 75%),linear-gradient(0deg,rgba(4,18,33,.25),transparent 40%)}.hero-content{position:relative;z-index:1;max-width:800px;padding:clamp(90px,10vw,145px) 0 0 clamp(28px,6vw,105px)}.hero-content>p:not(.eyebrow){max-width:540px;color:#e2e7ec;font-size:1.09rem;line-height:1.75}.hero-actions{display:flex;align-items:center;gap:36px;flex-wrap:wrap;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;border:0;font-weight:700;text-transform:uppercase;font-size:.84rem;letter-spacing:.055em;padding:19px 22px;min-height:58px}.button-blue{background:var(--blue);color:white}.button-blue:hover{background:#0b4193}.text-link{font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em}.text-link span{margin-left:12px}.hero-index{position:absolute;right:5vw;bottom:30px;z-index:1;color:#fff;font-size:.7rem;letter-spacing:.15em;font-weight:700}.service-strip{display:grid;grid-template-columns:repeat(4,1fr);background:var(--blue);color:white;text-align:center}.service-strip span{padding:18px 12px;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:700;border-right:1px solid #ffffff39}.service-strip span:last-child{border:0}.section{padding:110px clamp(28px,6vw,105px)}.section-tight{margin:0 clamp(28px,6vw,105px) 115px}.intro{display:grid;grid-template-columns:1.1fr 1fr;gap:9vw;align-items:end}.intro h2 em,.work h2 em,.quote h2 em{color:var(--blue)}.intro-copy{max-width:550px;font-size:1.09rem;color:#475463}.intro-copy p:last-child{margin-bottom:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.service-card{padding:36px;min-height:345px;border-right:1px solid var(--line);display:flex;flex-direction:column}.service-card:last-child{border:0}.card-number{font-family:'Barlow Condensed',sans-serif;font-size:1.2rem;color:var(--blue);font-weight:700;margin-bottom:55px}.service-card p{color:var(--muted);max-width:310px}.service-card a{font-size:.78rem;text-transform:uppercase;font-weight:700;letter-spacing:.07em;color:var(--blue);margin-top:auto}.service-card a span{margin-left:12px}.work{background:var(--paper)}.work-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:46px}.work-heading>p{max-width:400px;color:var(--muted);margin:0}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:16px}.gallery figure{margin:0;background:var(--navy);position:relative;overflow:hidden;height:350px}.gallery figure.gallery-large{grid-row:span 2;height:716px}.gallery figure.gallery-wide{grid-column:span 2;height:440px}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery figure:hover img{transform:scale(1.025)}.gallery figure:nth-child(2) img{object-position:center}.gallery figcaption{position:absolute;left:0;right:0;bottom:0;color:white;padding:52px 25px 22px;background:linear-gradient(transparent,rgba(4,14,24,.78));display:flex;justify-content:space-between;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:700}.about{display:grid;grid-template-columns:1fr 1fr;background:var(--navy);color:white;min-height:570px}.about-image img{width:100%;height:100%;object-fit:cover;object-position:60%}.about-text{padding:clamp(50px,7vw,105px);align-self:center}.about-text p:not(.eyebrow){max-width:550px;margin:32px 0;color:#d1dae3}.button-outline{border:1px solid #99a8b7;color:white}.button-outline:hover{background:white;color:var(--navy)}.quote{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw}.quote-heading>p:not(.eyebrow){max-width:420px;color:var(--muted);margin-top:30px}.quote-heading .draft-note{border-left:3px solid var(--blue);padding-left:17px;font-size:.9rem}.quote-form{background:var(--paper);padding:clamp(26px,4vw,55px);display:grid;gap:20px}.quote-form .two{display:grid;grid-template-columns:1fr 1fr;gap:20px}.quote-form label{font-size:.83rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;display:grid;gap:7px}.quote-form input,.quote-form select,.quote-form textarea{width:100%;border:1px solid #c7d0d9;background:white;color:var(--ink);padding:14px 15px;font-size:1rem;font-weight:400;text-transform:none;letter-spacing:normal;border-radius:0}.quote-form textarea{resize:vertical}.quote-form :focus-visible{outline:3px solid #6da3ed;outline-offset:2px}.quote-form button{justify-self:start}.form-status{font-size:.85rem;color:var(--muted);margin:0}footer{background:#050d17;color:white;padding:60px clamp(28px,6vw,105px) 25px;display:grid;grid-template-columns:1fr 1fr;gap:55px}footer img{height:120px;width:130px;object-fit:contain;object-position:left}footer p{color:#9cacbd;font-size:.88rem;margin:15px 0 0}.footer-links{display:flex;justify-content:end;gap:28px;text-transform:uppercase;font-size:.79rem;font-weight:700;letter-spacing:.07em}.footer-bottom{grid-column:1/-1;border-top:1px solid #ffffff29;padding-top:22px;display:flex;justify-content:space-between;color:#9cacbd;font-size:.75rem}
@media(max-width:850px){.site-header{height:84px}.site-header nav{gap:12px;font-size:.73rem}.brand img{width:70px;height:66px}.header-cta{display:none}.intro,.quote{grid-template-columns:1fr;gap:35px}.section{padding-top:75px;padding-bottom:75px}.cards{grid-template-columns:1fr}.service-card{min-height:230px;border-right:0;border-bottom:1px solid var(--line)}.card-number{margin-bottom:20px}.service-card:last-child{border:0}.section-tight{margin-bottom:75px}.about{grid-template-columns:1fr}.about-image{height:390px}.work-heading{align-items:start;flex-direction:column}.gallery figure.gallery-large{height:716px}}
@media(max-width:600px){.site-header{padding:8px 16px;gap:12px}.site-header nav{margin-left:auto;gap:12px;flex-wrap:wrap;justify-content:flex-end;line-height:1.2}.site-header nav a:nth-child(2),.site-header nav a:nth-child(3){display:none}.hero{min-height:675px;height:675px}.hero-img{object-position:58% center}.hero-shade{background:linear-gradient(90deg,rgba(4,18,33,.92),rgba(4,18,33,.55)),linear-gradient(0deg,rgba(4,18,33,.35),transparent)}.hero-content{padding:88px 24px 0}.hero h1{font-size:clamp(3.9rem,15vw,5.3rem)}.hero-content>p:not(.eyebrow){font-size:1rem}.hero-actions{gap:24px}.hero-index{left:24px;right:auto}.service-strip{grid-template-columns:1fr 1fr}.service-strip span{font-size:.69rem;padding:14px 8px}.section{padding:65px 24px}.section-tight{margin:0 24px 65px}.gallery{grid-template-columns:1fr}.gallery figure,.gallery figure.gallery-large,.gallery figure.gallery-wide{grid-column:auto;grid-row:auto;height:280px}.about-image{height:300px}.about-text{padding:60px 24px}.quote-form{padding:22px}.quote-form .two{grid-template-columns:1fr}footer{padding:50px 24px 25px;grid-template-columns:1fr;gap:25px}.footer-links{justify-content:start}.footer-bottom{flex-direction:column;gap:6px}}
/* Barton & Sons brand revision */
:root{--blue:#075eea;--navy:#081525;--paper:#eaf0f7}
.site-header{background:var(--navy);color:#fff;border-bottom:4px solid var(--blue)}
.brand img{width:102px;height:82px}
.site-header nav a:hover{color:#78adff}
.header-cta{background:var(--blue);box-shadow:inset 0 -3px 0 #0041a9}
.header-cta:hover{background:#277aff}
.hero{border-bottom:8px solid var(--blue)}
.hero h1 em,.about h2 em{color:#80b5ff}
.hero .eyebrow{display:inline-block;border-left:4px solid #56a0ff;padding-left:13px}
.button-blue{background:#075eea;box-shadow:inset 0 -3px 0 #0041a9}
.button-blue:hover{background:#277aff}
.service-strip{background:#075eea}
.service-card{border-top:5px solid transparent;transition:border-color .2s,background-color .2s}
.service-card:hover{border-top-color:#075eea;background:#f5f9ff}
.card-number{color:#075eea}
.work{border-top:1px solid #d3e0f1}
.about{border-top:8px solid #075eea}
.quote{background:#081525;color:white}
.quote h2 em{color:#80b5ff}
.quote-heading>p:not(.eyebrow){color:#d3dce8}
.quote-heading .draft-note{border-color:#62a4ff;color:#afc3d9!important}
.quote-form{background:#eef3fa;color:var(--ink);border-top:6px solid var(--blue)}
footer img{height:145px;width:160px}
@media(max-width:850px){.brand img{width:82px;height:70px}}
/* Moving services and raised photo panels */
.service-showcase{background:#22ade0;color:#fff;padding:78px 0 70px;overflow:hidden}
.showcase-head{padding:0 clamp(28px,6vw,105px);display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:38px}
.showcase-head h2 em{color:#102e55}
.showcase-head .eyebrow{color:#092e56}
.slider-controls{display:flex;gap:10px;flex:none}
.slider-button{border:1px solid #fff;color:#0b315a;background:white;border-radius:50%;width:52px;height:52px;font-size:1.55rem;line-height:1;transition:transform .2s,background .2s}
.slider-button:hover{transform:translateY(-4px);background:#d8f5ff}
.slider-button:focus-visible,.service-viewport:focus-visible{outline:3px solid #092e56;outline-offset:3px}
.service-viewport{overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;scroll-padding-left:clamp(28px,6vw,105px);scrollbar-width:none;touch-action:pan-x pan-y}
.service-viewport::-webkit-scrollbar{display:none}
.service-track{display:flex;gap:20px;width:max-content;padding:0 clamp(28px,6vw,105px) 22px}
.service-showcase .service-card{display:flex;flex-direction:column;width:clamp(310px,36vw,520px);min-height:530px;padding:0;background:#10345d;color:#fff;border:0;position:relative;overflow:hidden;scroll-snap-align:start;transition:transform .3s,box-shadow .3s}
.service-showcase .service-card:hover{background:#10345d;transform:translateY(-8px);box-shadow:0 20px 34px #082c5145}
.service-showcase .service-card>img{height:235px;width:100%;object-fit:cover;filter:saturate(.9)}
.service-showcase .service-card .card-number{position:absolute;z-index:2;top:16px;left:18px;margin:0;background:#0b2745ed;color:#a7dfff;padding:7px 10px;font-size:1rem;letter-spacing:.08em}
.service-card-body{display:flex;flex:1;flex-direction:column;padding:30px 30px 34px}
.service-card-body h3{font-size:clamp(2.5rem,3.5vw,3.9rem);margin:0 0 16px}
.service-card-body p{color:#d2e0ed;max-width:400px;margin-bottom:25px}
.service-card-body a{color:#8ddfff;margin-top:auto}
.slider-hint{font-weight:700;font-size:.77rem;letter-spacing:.14em;margin:0;padding:0 clamp(28px,6vw,105px);color:#0b315a}
.slider-hint span{font-size:1.3rem;margin-left:9px}
.work{background:#0b234a;color:white;padding-bottom:145px}
.work .eyebrow,.work h2 em{color:#57c5ee}
.work-heading>p{color:#d0e1f3}
.work .gallery{display:flex;gap:0;overflow:visible;align-items:stretch;isolation:isolate}
.work .gallery figure,.work .gallery figure.gallery-large,.work .gallery figure.gallery-wide{flex:1 1 0;min-width:0;grid-column:auto;grid-row:auto;height:430px;position:relative;overflow:hidden;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,flex-grow .35s;box-shadow:inset 0 0 0 1px #ffffff2a}
.work .gallery figure:nth-child(even){transform:translateY(28px)}
.work .gallery figure:hover{transform:translateY(-32px) scale(1.055);z-index:3;box-shadow:0 27px 50px #020d27aa;flex-grow:1.18}
.work .gallery img{filter:saturate(.88);transition:transform .5s,filter .4s}
.work .gallery figure:hover img{transform:scale(1.065);filter:saturate(1.08)}
.work .gallery figcaption{font-size:.82rem;line-height:1.35}
@media(max-width:850px){.service-showcase .service-card{width:min(76vw,480px)}.work .gallery{overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:20px;scrollbar-width:thin}.work .gallery figure,.work .gallery figure.gallery-large,.work .gallery figure.gallery-wide{flex:0 0 min(60vw,360px);height:350px;scroll-snap-align:start;transform:none}.work .gallery figure:nth-child(even){transform:none}.work .gallery figure:hover{transform:none;flex-grow:0;box-shadow:none}}
@media(max-width:600px){.service-showcase{padding:63px 0 55px}.showcase-head{padding:0 24px;align-items:end}.showcase-head h2{font-size:3.4rem}.slider-button{width:42px;height:42px;font-size:1.25rem}.service-showcase .service-card{width:min(84vw,390px);min-height:515px}.service-track{padding:0 24px 16px}.slider-hint{padding:0 24px}.work{padding-bottom:75px}.work .gallery figure,.work .gallery figure.gallery-large,.work .gallery figure.gallery-wide{flex-basis:78vw;height:330px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-viewport{scroll-behavior:auto}.slider-button,.service-showcase .service-card,.work .gallery figure,.work .gallery img{transition:none!important}.service-showcase .service-card:hover,.work .gallery figure:hover{transform:none!important}}
/* Continuous motion and deeper card surfaces */
.service-viewport{scroll-snap-type:none;scroll-behavior:auto}
.service-showcase{background:linear-gradient(145deg,#26b4e5 0%,#168ec7 65%,#0873ad 100%)}
.service-showcase .service-card{scroll-snap-align:none;transform:perspective(1100px) rotateY(-3deg) translateZ(0);border:1px solid #c4efff66;box-shadow:10px 12px 0 #06335b48,20px 22px 32px #052a5259;background:linear-gradient(145deg,#173f70,#0b284c)}
.service-showcase .service-card:hover{transform:perspective(1100px) rotateY(0deg) translateY(-13px) translateZ(32px);box-shadow:15px 22px 0 #06335b36,25px 35px 45px #0421449c}
.service-showcase .service-card:nth-child(3)>img{object-position:center 45%}
.service-showcase .service-card>img{border-bottom:3px solid #4fc9ef}
.work .gallery{perspective:1100px;padding:36px 10px 48px;overflow:visible}
.work .gallery figure,.work .gallery figure.gallery-large,.work .gallery figure.gallery-wide{border:1px solid #8cd5f26b;transform:rotateY(-4deg) translateY(0);box-shadow:9px 12px 0 #041531,18px 22px 28px #000a1c88}
.work .gallery figure:nth-child(even){transform:rotateY(4deg) translateY(19px)}
.work .gallery figure:hover{transform:rotateY(0deg) translateY(-31px) scale(1.06);box-shadow:12px 20px 0 #041531,24px 42px 60px #000719c9}
.work .gallery figcaption{font-size:.92rem;min-height:88px;align-items:flex-end}
@media(max-width:850px){.work .gallery{overflow-x:auto;perspective:none;padding:18px 10px 24px}.work .gallery figure,.work .gallery figure.gallery-large,.work .gallery figure.gallery-wide,.work .gallery figure:nth-child(even),.work .gallery figure:hover{transform:none;box-shadow:5px 7px 0 #041531}}
@media(prefers-reduced-motion:reduce){.service-showcase .service-card:hover,.work .gallery figure:hover{transform:none!important}}
/* Softer depth and clickable service gallery */
.service-viewport{overflow:hidden;touch-action:pan-y;cursor:grab}
.service-viewport:active{cursor:grabbing}
.service-track{will-change:transform}
.service-showcase .service-card{border-radius:16px;box-shadow:8px 12px 0 #06335b48,17px 22px 32px #052a5259}
.service-showcase .service-card:hover{box-shadow:12px 19px 0 #06335b36,22px 32px 45px #0421449c}
.service-showcase .service-card>img{border-radius:15px 15px 0 0}
.service-showcase .service-card .card-number{display:none}
.service-card-body a::after{content:"";position:absolute;inset:0}
.slider-hint span{font-size:1.3rem}
.work .gallery{gap:11px;padding-left:8px;padding-right:8px}
.work .gallery figure,.work .gallery figure.gallery-large,.work .gallery figure.gallery-wide{height:350px;border-radius:15px;box-shadow:6px 9px 0 #041531,14px 20px 25px #000a1c88}
.work .gallery figure:hover{box-shadow:9px 16px 0 #041531,18px 32px 42px #000719c9;flex-grow:1.25}
.work .gallery figure img{border-radius:14px}
.work .gallery figcaption{pointer-events:none}
.gallery-hit{position:absolute;inset:0;z-index:2;border-radius:15px}
.gallery-hit:focus-visible{outline:3px solid #92eaff;outline-offset:-4px}
.quote-subject{margin:0;padding:12px 16px;background:#d8e9fd;color:#092e56;border-left:4px solid #075eea;font-weight:700}
@media(max-width:850px){.work .gallery figure,.work .gallery figure.gallery-large,.work .gallery figure.gallery-wide{flex-basis:min(51vw,320px);height:330px;box-shadow:5px 7px 0 #041531}.work .gallery figure:hover{transform:none;flex-grow:0;box-shadow:5px 7px 0 #041531}}
@media(max-width:600px){.work .gallery figure,.work .gallery figure.gallery-large,.work .gallery figure.gallery-wide{flex-basis:72vw;height:305px}}
@media(prefers-reduced-motion:reduce){.service-track{will-change:auto}}
