/* Services page; shared header/footer and controls live in common.css. */
.services-page{background:#faf8f4}
.svc-spacing{padding:clamp(64px,7vw,115px) var(--gutter)}
.svc-eyebrow{display:flex;align-items:center;gap:14px;color:#a5825a;font-size:10px;font-weight:650;letter-spacing:.18em;line-height:1.6;margin:0 0 22px}
.svc-eyebrow::before{content:'';height:1px;width:30px;background:currentColor;flex-shrink:0}
.services-page main h1,.services-page main h2{font-weight:550;letter-spacing:-.045em;line-height:1.08;margin:0}
.services-page main h2{font-size:clamp(36px,3.7vw,62px)}
.services-page main h1 em,.services-page main h2 em{display:block;font-family:Georgia,serif;font-weight:400;color:#a68054;margin-top:5px}
.svc-hero{display:grid;grid-template-columns:1fr 1.05fr;background:#002137;color:#fff}
.svc-hero-copy{padding:54px clamp(32px,5vw,80px) 45px var(--gutter);align-self:center}
.svc-breadcrumb{display:flex;gap:12px;font-size:11px;color:#b4c3cc;margin-bottom:47px}
.svc-breadcrumb a:hover{color:#edc99d}
.svc-hero .svc-eyebrow{color:#dbb990}
.svc-hero h1{font-size:clamp(50px,5.2vw,88px)}
.svc-hero h1 em{color:#e9c79b}
.svc-hero-copy>p:not(.svc-eyebrow){font-size:17px;line-height:1.85;color:#bbcbd6;max-width:460px;margin:27px 0 31px}
.svc-actions{display:flex;flex-wrap:wrap;align-items:center;gap:23px}
.svc-actions .luxury-button{font-size:13px;gap:22px}
.svc-hero-link{color:#e4c296;font-size:12px;padding:12px 0}
.svc-hero-foot{display:flex;flex-wrap:wrap;gap:15px 25px;margin-top:40px;padding-top:24px;border-top:1px solid #ffffff23;font-size:8px;letter-spacing:.12em;color:#a9bbc7}
.svc-hero figure{margin:0;min-width:0;min-height:680px;position:relative;overflow:hidden}
.svc-hero figure>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:54% center}
.svc-hero figure::after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#001a2a99)}
.svc-hero figcaption{position:absolute;bottom:40px;left:38px;z-index:1;border-left:1px solid #e6c69a;padding-left:22px}
.svc-hero figcaption>span{display:block;font-size:9px;letter-spacing:.14em;color:#eddbc2;margin-bottom:13px}
.svc-hero figcaption strong{font:400 29px/1.2 Georgia,serif}
.svc-intro-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding:28px var(--gutter);background:#eee8dd;border-bottom:1px solid #ddd3c6}
.svc-intro-strip>span{display:flex;gap:18px;align-items:center;color:#a98861;font:italic 21px Georgia,serif}
.svc-intro-strip strong{color:#324b5b;font:500 13px 'Segoe UI',sans-serif}
.svc-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:65px;align-items:end;margin-bottom:43px}
.svc-heading>p{font-size:16px;line-height:1.8;color:#64737e;border-left:1px solid #d3bc9d;padding-left:25px;max-width:460px;margin:0 0 5px}
.svc-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;margin-bottom:30px;border-bottom:1px solid #dfd7ca;padding-bottom:23px}
.svc-filters{display:flex;gap:9px;flex-wrap:wrap}
.svc-filters[hidden]{display:none}
.svc-filters button{border:1px solid #dbd2c4;border-radius:30px;padding:12px 20px;min-height:44px;font-size:12px;font-weight:550;color:#62717a;background:transparent;cursor:pointer;transition:background .25s,color .25s}
.svc-filters button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.svc-filters button:hover:not([aria-pressed="true"]){background:#eee7dc}
.svc-filters button span{margin-left:9px;color:#e7c79d;font-size:10px}
.svc-count{font-size:11px;color:#7c857f;margin:0}
.svc-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:25px;align-items:start}
.svc-card{grid-column:span 2;min-width:0;background:#fffdf9;border:1px solid #e1d8ca;border-radius:12px;overflow:hidden;scroll-margin-top:30px;transition:box-shadow .3s,border-color .3s}
.svc-card[hidden]{display:none}
.svc-grid:not([data-filter]),.svc-grid[data-filter="all"]{align-items:stretch}
.svc-grid:not([data-filter]) .svc-card:nth-child(-n+2),.svc-grid[data-filter="all"] .svc-card:nth-child(-n+2){grid-column:span 3}
.svc-photo{aspect-ratio:1.5;position:relative;overflow:hidden}
.svc-grid:not([data-filter]) .svc-card:nth-child(-n+2) .svc-photo,.svc-grid[data-filter="all"] .svc-card:nth-child(-n+2) .svc-photo{aspect-ratio:1.8}
.svc-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.svc-photo>span{position:absolute;top:20px;left:20px;padding:9px 12px;border-radius:20px;color:#fff;background:#00213780;border:1px solid #ffffff55;backdrop-filter:blur(10px);font-size:9px;letter-spacing:.13em}
.svc-body{padding:30px;position:relative}
.svc-icon{display:block;width:50px;height:50px;margin-bottom:20px}
.svc-kicker{font:italic 16px/1.5 Georgia,serif;color:#a07c54;margin:0 0 9px}
.svc-body h3{font-size:clamp(22px,1.7vw,29px);line-height:1.2;letter-spacing:-.03em;font-weight:600;margin:0 0 17px}
.svc-body>p:not(.svc-kicker){font-size:14px;line-height:1.85;color:#697780;margin:0 0 22px}
.svc-body details{border-block:1px solid #e8dfd2}
.svc-body summary,.svc-faq summary{list-style:none;display:flex;justify-content:space-between;gap:15px;align-items:center;cursor:pointer;padding:16px 0;color:#566d7a;font-size:12px;font-weight:550;line-height:1.5}
.svc-body summary::-webkit-details-marker,.svc-faq summary::-webkit-details-marker{display:none}
.svc-body summary>span,.svc-faq summary>span{font-size:20px;color:#ab8659;font-weight:400;transition:transform .3s}
.svc-body details[open] summary>span,.svc-faq details[open] summary>span{transform:rotate(45deg)}
.svc-body details p,.svc-faq details p{margin:0;padding:0 0 20px;font-size:13px;line-height:1.8;color:#6b7880}
.svc-body .text-link{margin-top:18px;font-size:12px;gap:15px}
.svc-image-note{font-size:11px;color:#889087;line-height:1.7;margin:25px 0 0}
.svc-foundation{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(40px,7vw,120px);background:#eee9e0;border-block:1px solid #ded4c5}
.svc-foundation>div>p:not(.svc-eyebrow){font-size:16px;color:#667780;line-height:1.85;margin:26px 0 15px;max-width:570px}
.svc-foundation ol{list-style:none;padding:0;margin:0;align-self:center}
.svc-foundation li{display:flex;gap:25px;padding:25px 0;border-bottom:1px solid #d7caba}
.svc-foundation li:first-child{padding-top:0}
.svc-foundation li>span{font:italic 27px Georgia,serif;color:#a68660}
.svc-foundation h3{font-size:19px;font-weight:600;margin:0 0 10px;letter-spacing:-.02em}
.svc-foundation li p{font-size:14px;line-height:1.8;color:#697780;margin:0}
.svc-help{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(40px,7vw,120px)}
.svc-help>div>p:not(.svc-eyebrow){color:#64737e;line-height:1.8;margin:22px 0 10px;font-size:16px}
.svc-faq details{border-bottom:1px solid #ded6c9}
.svc-faq details:first-child{border-top:1px solid #ded6c9}
.svc-faq summary{font-size:17px;color:var(--ink);padding:24px 0}
.svc-faq details p{font-size:15px;padding-right:25px}
.svc-cta{text-align:center;color:white;background:linear-gradient(110deg,#002137ed,#002137ca),url('../assets/finishing/footer-tiles.jpg') center/cover}
.svc-cta .svc-eyebrow{justify-content:center;color:#d7b68d}
.svc-cta h2 em{color:#e9cba1}
.svc-cta>p:not(.svc-eyebrow){color:#bdcbd4;font-size:16px;line-height:1.8;margin:25px auto 30px}
.svc-cta>div{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:32px}
.svc-call{font-size:25px;font-weight:550;letter-spacing:-.02em}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.svc-card:hover{box-shadow:0 15px 35px #0021370c;border-color:#ccb493}.svc-card:hover .svc-photo img{transform:scale(1.035)}}
@media(max-width:1099px){.svc-hero-copy{padding-right:30px}.svc-hero h1{font-size:58px}.svc-hero-copy>p:not(.svc-eyebrow){font-size:16px}.svc-intro-strip{gap:15px}.svc-intro-strip>span{gap:10px}.svc-intro-strip strong{font-size:11px}.svc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.svc-grid .svc-card:nth-child(n){grid-column:auto}.svc-grid .svc-card:nth-child(n) .svc-photo{aspect-ratio:1.5}.svc-body{padding:25px}.svc-heading{gap:35px}}
@media(max-width:899px){.svc-hero{grid-template-columns:1fr}.svc-hero-copy{padding:65px var(--gutter) 42px}.svc-hero h1{font-size:clamp(52px,8vw,74px)}.svc-hero h1 em br{display:none}.svc-breadcrumb{margin-bottom:30px}.svc-hero-copy>p:not(.svc-eyebrow){max-width:570px}.svc-hero figure{min-height:420px}.svc-hero figure>img{object-position:center 57%}.svc-intro-strip{grid-template-columns:1fr 1fr;gap:23px}.svc-intro-strip strong{font-size:13px}.svc-heading,.svc-foundation,.svc-help{grid-template-columns:1fr;gap:30px}.svc-heading>p{max-width:600px}.svc-foundation ol{margin-top:10px}}
@media(max-width:599px){.svc-spacing{padding-block:60px}.svc-hero-copy{padding-top:58px}.svc-hero h1{font-size:52px}.svc-hero h1 em br{display:block}.svc-eyebrow{font-size:9px;gap:10px}.svc-hero-copy>p:not(.svc-eyebrow){font-size:16px}.svc-actions{gap:12px 25px}.svc-hero-foot{margin-top:25px;gap:12px;font-size:8px;flex-direction:column}.svc-hero figure{min-height:340px}.svc-hero figcaption{left:24px;bottom:28px;padding-left:18px}.svc-hero figcaption strong{font-size:27px}.svc-hero figcaption>span{font-size:8px}.svc-intro-strip{padding-block:26px;gap:20px 14px}.svc-intro-strip>span{font-size:18px;gap:9px}.svc-intro-strip strong{font-size:11px;line-height:1.5}.services-page main h2{font-size:37px}.svc-heading>p{font-size:15px;padding-left:18px}.svc-filters{gap:8px}.svc-filters button{padding:11px 15px;font-size:11px}.svc-toolbar{gap:16px}.svc-grid{grid-template-columns:1fr;gap:25px}.svc-body{padding:26px 24px}.svc-body h3{font-size:26px}.svc-body>p:not(.svc-kicker){font-size:15px}.svc-body details p{font-size:14px}.svc-kicker{font-size:16px}.svc-foundation li{gap:20px}.svc-faq summary{font-size:16px}.svc-cta>div{flex-direction:column;gap:24px}.svc-cta .luxury-button{width:auto}}
@media(max-width:359px){.svc-hero h1{font-size:45px}.services-page main h2{font-size:33px}.svc-intro-strip strong{font-size:10px}.svc-body{padding:24px 20px}}
@media(prefers-reduced-motion:reduce){.svc-card,.svc-photo img,.svc-filters button,.svc-body summary>span,.svc-faq summary>span{transition:none}}
.svc-body summary,.svc-faq summary{align-items:center}
.svc-body summary>span,.svc-faq summary>span{display:grid;width:24px;height:24px;flex:0 0 24px;place-items:center;line-height:1}
.svc-body details.is-closing summary>span,.svc-faq details.is-closing summary>span{transform:rotate(0)}
.svc-body summary>span,.svc-faq summary>span{transition:transform .4s cubic-bezier(.22,.68,0,1)}
