/* Three Miles service directory and editorial detail pages. */
[hidden]{display:none!important}.service-page h1{font-weight:500;letter-spacing:-3px}.service-page nav a[aria-current=page]{border-bottom:1px solid #b28a43}.service-page .eyebrow{color:#c3aa78}.catalogue-hero{background:#18231e;color:#f5f3e9;display:grid;grid-template-columns:1.3fr 1fr;gap:5%;padding:90px 7% 85px;position:relative;overflow:hidden}.catalogue-hero h1{font-size:clamp(48px,5.5vw,82px);line-height:1.1;margin:25px 0 30px}.catalogue-hero>div>p:not(.eyebrow){font-size:14px;line-height:1.9;color:#b7c0b1}.catalogue-hero .text-link{color:#f1d29b;border-color:#6c735e}.catalogue-art{align-self:center;position:relative}.catalogue-art svg{fill:none;stroke:#d2b46f;stroke-width:.8;width:100%;opacity:.65}.catalogue-art svg path{stroke-dasharray:1600;stroke-dashoffset:1600;animation:service-draw 2.6s ease forwards}.catalogue-art path:nth-child(2){animation-delay:.3s}.catalogue-art path:nth-child(3){animation-delay:.6s}.catalogue-art path:last-child{opacity:.25;animation-delay:.9s}.catalogue-art>span{display:block;font-size:8px;letter-spacing:3px;text-align:center;color:#9aa68f;margin-top:15px}.catalogue{padding-top:85px;background:#f7f6f0}.catalogue-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:40px}.catalogue-heading h2{margin:0}.search-wrap{width:310px;flex-shrink:0}.search-wrap label{display:block;font-size:10px;letter-spacing:1px;text-transform:uppercase;margin-bottom:12px;color:#6d7566}.search-wrap input{width:100%;padding:15px 0;background:none;border:0;border-bottom:1px solid #919a86;border-radius:0;color:#1b201d;font:inherit;font-size:13px}.search-wrap input:focus-visible{outline:2px solid #a87c31;outline-offset:5px}.catalogue-filters{display:flex;flex-wrap:wrap;gap:9px;padding-bottom:22px;border-bottom:1px solid #d9ddcf}.catalogue-filters button{background:transparent;color:#5e6856;border:1px solid #c5cbbb;padding:11px 15px;cursor:pointer;font-size:11px;transition:background .25s,color .25s}.catalogue-filters button[aria-pressed=true]{background:#1b271e;color:#f1d29b;border-color:#1b271e}.catalogue-filters button:hover{border-color:#8b956f}.service-count{font-size:10px;color:#6e7864;margin:21px 0;letter-spacing:.5px}.catalogue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.catalogue-card{display:flex;flex-direction:column;position:relative;border:1px solid #d4dacb;padding:27px;min-height:305px;background:#f0f1e9;transition:background .3s,transform .3s,border-color .3s;overflow:hidden}.catalogue-card:hover{background:#e6eadc;transform:translateY(-5px);border-color:#b89a5a}.card-top{display:flex;gap:12px;align-items:center;font-size:9px;color:#65715b}.card-top>span:first-child{font-family:monospace;color:#a17c3c}.card-top b{margin-left:auto;font-size:22px;font-weight:400;transition:transform .3s}.catalogue-card:hover .card-top b{transform:translate(3px,-3px)}.catalogue-card h3{font-size:25px;line-height:1.25;font-weight:500;letter-spacing:-.8px;margin:30px 0 16px}.catalogue-card p{font-size:12px;line-height:1.8;color:#64705b;margin:0 0 30px}.card-action{display:flex;justify-content:space-between;font-size:10px;font-weight:700;margin-top:auto;padding-top:17px;border-top:1px solid #d3dac8}.directory-cta{background:#1a241d;color:#f6f4e9}.directory-cta .section-label{color:#a9b29e}.directory-cta>p:not(.section-label){font-size:14px;color:#b4bfaa;line-height:1.8;margin-bottom:30px}.phone-link{font-size:12px;margin-left:30px;border-bottom:1px solid #718064;padding-bottom:8px}.home-service-directory{background:#f7f6f0}.home-service-links{display:grid;grid-template-columns:1fr 1fr;column-gap:50px}.home-service-links a{display:flex;align-items:center;gap:20px;padding:25px 0;border-top:1px solid #d5dacd;transition:padding .3s}.home-service-links a:hover{padding-left:10px}.home-service-links a>span{font-size:10px;color:#ad8745}.home-service-links h3{font-size:19px;font-weight:500;margin:0;line-height:1.4}.home-service-links b{font-size:21px;color:#a17d3d;font-weight:400;margin-left:auto}.detail-hero{display:grid;grid-template-columns:1.1fr 1fr;background:#19251e;color:#f7f4e9;min-height:620px}.detail-intro{padding:35px 9% 70px 12.7%;align-self:center}.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:9px;line-height:1.8;color:#aebaa4;margin-bottom:55px}.breadcrumbs a:hover{color:#e2bd73}.detail-intro .eyebrow{font-size:9px;letter-spacing:1.6px}.detail-intro h1{font-size:clamp(43px,4.4vw,69px);line-height:1.12;margin:25px 0;overflow-wrap:normal}.detail-tagline{font-size:17px;line-height:1.6;color:#b9c4af;margin:0 0 35px}.detail-photo{position:relative;overflow:hidden;min-width:0;background:#263629}.detail-photo>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;filter:saturate(.55);animation:detail-zoom 2s ease-out both}.detail-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0f1c19d9,transparent 70%),linear-gradient(90deg,#15241e20,transparent)}.photo-grid{position:absolute;inset:25px;z-index:1;border:1px solid #ffffff36;pointer-events:none}.service-number{position:absolute;right:8%;top:35px;font-size:130px;line-height:1;font-weight:500;letter-spacing:-8px;color:transparent;-webkit-text-stroke:1px #fff9;z-index:1}.photo-caption{position:absolute;bottom:45px;left:45px;right:45px;display:flex;justify-content:space-between;gap:20px;z-index:2;font-size:7px;letter-spacing:1.5px;line-height:1.7}.service-anchor-nav{display:flex;justify-content:space-between;gap:25px;padding:22px 7%;border-bottom:1px solid #d4dacb;font-size:11px;background:#ecefe4}.service-anchor-nav a{font-weight:600}.service-anchor-nav a:last-child{color:#967035}.service-overview{display:grid;grid-template-columns:1.1fr 1fr;gap:9%}.service-overview h2{font-size:clamp(34px,3.2vw,48px)}.overview-copy{font-size:15px;line-height:1.9;color:#63705b;margin:0}.applications{padding:28px 32px;background:#e9ede1;align-self:start;border-top:2px solid #c6a469}.applications ul{list-style:none;margin:0;padding:0}.applications li{display:flex;gap:15px;padding:15px 0;border-bottom:1px solid #cdd5c2;font-size:14px;line-height:1.5}.applications li>span{color:#ac873f}.small-note{font-size:10px;line-height:1.8;color:#69745f;margin:22px 0 0}.service-scope{display:grid;grid-template-columns:1fr 1fr;gap:8%;background:#e9ede2}.service-scope h2{font-size:clamp(33px,3.3vw,50px)}.scope-items article{display:flex;gap:24px;border-top:1px solid #bcc8b0;padding:28px 0}.scope-items article>span{font-size:10px;color:#9c7d42;padding-top:7px}.scope-items h3{font-weight:500;font-size:22px;margin:0 0 14px}.scope-items p{font-size:13px;line-height:1.8;color:#65725c;margin:0}.service-faq{display:grid;grid-template-columns:1fr 1.3fr;gap:8%}.service-faq h2{font-size:clamp(32px,3vw,46px)}details{border-top:1px solid #c4ceba}details:last-child{border-bottom:1px solid #c4ceba}summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:25px;padding:25px 0;font-size:16px;line-height:1.5}summary::-webkit-details-marker{display:none}summary>span{font-size:25px;font-weight:400;margin-left:auto;flex-shrink:0;color:#9f7e3f;transition:transform .3s}details[open] summary>span{transform:rotate(45deg)}details>p{font-size:13px;line-height:1.9;color:#65725c;margin:0 30px 25px 0}summary:focus-visible{outline:2px solid #a87c31;outline-offset:4px}.service-contact{background:#18251e;color:#f4f2e8;display:grid;grid-template-columns:1.3fr 1fr;gap:9%}.service-contact .section-label{color:#a6b298}.service-contact h2{font-size:clamp(40px,4vw,60px)}.service-contact p{font-size:14px;line-height:1.9;color:#b4c1a9;max-width:440px}.service-contact .button{margin-top:20px}.service-contact small{display:block;color:#a6b396;font-size:9px;line-height:1.7;margin-top:13px}.service-contact aside{align-self:center;border-top:1px solid #596b49;padding-top:25px}.service-contact aside>span{font-size:9px;letter-spacing:1.5px;color:#c4ab75}.service-contact aside>a{display:block;border-top:1px solid #394c30;padding-top:20px;margin-top:20px;font-size:16px}.related{background:#f4f4ed}.related h2{font-size:35px}.related .catalogue-card{min-height:285px}.related .catalogue-card h3{font-size:23px}.service-page footer{background:#111b15}.service-page .button{font-size:11px}.service-page .button:hover{transform:translateY(-2px)}#no-services{padding:50px 0}#no-services h3{font-size:24px;font-weight:500}#no-services p{font-size:14px;color:#69745d}@keyframes service-draw{to{stroke-dashoffset:0}}@keyframes detail-zoom{from{transform:scale(1.07)}to{transform:scale(1)}}@media(max-width:1050px){.catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-intro{padding-left:11%;padding-right:7%}.detail-intro h1{font-size:49px;letter-spacing:-2px}.detail-hero{min-height:560px}.photo-caption{flex-direction:column;gap:5px;left:35px;bottom:35px}.service-overview,.service-scope,.service-faq,.service-contact{gap:6%}.home-service-links{column-gap:30px}.home-service-links h3{font-size:17px}.related .catalogue-grid{grid-template-columns:1fr 1fr}.related .catalogue-card:last-child{grid-column:1/-1;min-height:220px}.related .catalogue-card:last-child h3{margin-top:20px}.search-wrap{width:275px}.service-page .section{padding:75px 6%}}
@media(max-width:700px){.catalogue-hero{grid-template-columns:1fr;padding:55px 7% 45px}.catalogue-hero h1{font-size:clamp(39px,8.5vw,56px);letter-spacing:-1.8px}.catalogue-hero>div>p:not(.eyebrow){font-size:12px}.catalogue-art{display:none}.catalogue-heading{display:block;margin-bottom:28px}.catalogue-heading>.text-link{margin-top:20px}.search-wrap{width:100%;margin-top:30px}.catalogue-grid,.related .catalogue-grid{grid-template-columns:1fr}.catalogue-card{min-height:260px;padding:25px}.catalogue-card h3{font-size:26px;margin-top:25px}.catalogue-filters{gap:7px}.catalogue-filters button{font-size:10px;padding:10px 11px}.service-page .section{padding:60px 7%}.home-service-links{grid-template-columns:1fr}.home-service-links h3{font-size:18px}.home-service-links a{padding:22px 0}.home-service-links a>span{font-size:9px}.home-service-links a{gap:16px}.detail-hero{grid-template-columns:1fr}.detail-intro{padding:25px 7% 45px}.breadcrumbs{font-size:8px;gap:8px;margin-bottom:35px}.detail-intro h1{font-size:clamp(36px,9.3vw,56px);letter-spacing:-1.8px;line-height:1.15}.detail-intro .eyebrow{font-size:8px}.detail-tagline{font-size:15px;margin-bottom:25px}.detail-photo{height:270px}.service-number{font-size:100px;top:20px;right:10%}.photo-grid{inset:18px}.photo-caption{left:30px;bottom:30px;right:30px;flex-direction:row;font-size:6px;gap:20px}.service-anchor-nav{gap:14px;padding:19px 7%;font-size:10px}.service-overview,.service-scope,.service-faq,.service-contact{grid-template-columns:1fr;gap:35px}.overview-copy{font-size:14px}.applications{padding:25px}.applications li{font-size:13px}.service-overview h2,.service-scope h2,.service-faq h2{font-size:34px;letter-spacing:-1.2px}.service-scope h2,.service-faq h2{margin-bottom:0}.scope-items h3{font-size:20px}.scope-items p{font-size:12px}.scope-items article{gap:19px;padding:25px 0}summary{font-size:15px;padding:22px 0;gap:18px}details>p{font-size:12px;margin-right:5px}.service-contact h2{font-size:42px}.service-contact .button{font-size:10px;padding:17px 20px;gap:25px}.service-contact aside>a{font-size:16px}.related h2{font-size:32px}.related .catalogue-card:last-child{grid-column:auto;min-height:260px}.directory-cta h2{font-size:34px}.phone-link{display:block;width:fit-content;margin:25px 0 0}.directory-cta>p:not(.section-label){font-size:13px}.service-page footer{gap:25px}.service-page footer p{order:3;width:100%}}
@media(prefers-reduced-motion:reduce){.catalogue-art svg path{animation:none;stroke-dashoffset:0}.detail-photo>img{animation:none}.catalogue-card,.home-service-links a{transition:none}}

/* Keep section navigation independent of the mobile header menu. */
nav.service-anchor-nav{position:relative;inset:auto;display:flex;flex-direction:row;flex-wrap:wrap;width:auto;transform:none;visibility:visible;opacity:1;z-index:1}

/* Photography-led service experience */
.catalogue-hero{overflow:hidden;min-height:690px;position:relative;background:radial-gradient(ellipse at 80% 30%,#3a4637 0,transparent 50%),#19251e}
.catalogue-hero>div:first-child{position:relative;z-index:2}.catalogue-hero h1{font-size:clamp(48px,5.4vw,84px)}
.catalogue-art{position:relative;min-height:490px;align-self:stretch;display:block!important}
.catalogue-art>svg{position:absolute;width:110%;height:110%;left:-10%;top:-5%;opacity:.3;z-index:0}
.catalogue-art>span{position:absolute;bottom:-10px;left:30%;white-space:nowrap;letter-spacing:3px}
.hero-photo{position:absolute;overflow:hidden;box-shadow:0 30px 80px #0005;z-index:1}
.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 55%,#0b180bbb)}
.hero-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.7);animation:service-photo-drift 14s ease-in-out infinite alternate}
.hero-photo-main{width:84%;height:86%;right:0;top:0;clip-path:polygon(0 0,100% 0,100% 92%,88% 100%,0 100%)}
.hero-photo-inset{width:48%;height:43%;left:-7%;bottom:0;border:7px solid #263528}
.hero-photo-inset img{animation-delay:-7s}.hero-photo>span{position:absolute;bottom:25px;left:25px;color:#fff;z-index:2;font-size:9px;letter-spacing:2px}
.catalogue-card{padding:0;overflow:hidden;display:flex;flex-direction:column;background:#eeefe8;border:1px solid #dcded3;transition:box-shadow .45s,transform .45s,background .45s;min-height:490px}
.card-visual{position:relative;aspect-ratio:1.55;overflow:hidden;background:#28372c;width:100%}
.card-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 35%,#101d16a8);pointer-events:none}
.card-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.65);transition:transform 1.1s cubic-bezier(.2,.65,.2,1),filter .8s}
.image-index{position:absolute;left:24px;bottom:23px;font-size:9px;letter-spacing:2px;color:#fff;z-index:1}
.image-arrow{position:absolute;right:20px;top:20px;width:39px;height:39px;border:1px solid #ffffff70;display:grid;place-items:center;color:#fff;z-index:1;backdrop-filter:blur(8px);transition:background .4s,color .4s}
.catalogue-card:hover,.catalogue-card:focus-visible{transform:translateY(-7px);box-shadow:0 20px 36px #1b2b1614;background:#fff}
.catalogue-card:hover img,.catalogue-card:focus-visible img{transform:scale(1.07);filter:saturate(1)}
.catalogue-card:hover .image-arrow{background:var(--gold);color:var(--ink)}
.catalogue-card .card-top{margin:24px 25px 0;font-size:8px}.catalogue-card .card-top>span:first-child,.catalogue-card .card-top>b{display:none}
.catalogue-card h3{margin:14px 25px;font-size:27px}.catalogue-card>p{margin:0 25px 24px;line-height:1.8}.catalogue-card .card-action{margin:auto 25px 25px;padding-top:18px;border-top:1px solid #d4d7ca}
.related .catalogue-card{min-height:440px}.related .catalogue-card h3{margin-top:14px}
.scope-photo{position:relative;overflow:hidden;margin-top:38px;max-width:430px;aspect-ratio:1.4}
.scope-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.55)}.scope-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#14241499)}
.scope-photo>span{position:absolute;bottom:23px;left:23px;z-index:1;color:white;font-size:9px;letter-spacing:2px}
.detail-photo>img{animation:service-photo-drift 16s ease-in-out infinite alternate}.photo-grid{animation:frame-breathe 6s ease-in-out infinite alternate}
.catalogue-card.card-enter{animation:card-arrive .7s cubic-bezier(.2,.7,.2,1) backwards;animation-delay:var(--card-delay,0ms)}
.service-motion-toggle{position:fixed;right:18px;bottom:18px;z-index:25;background:#17251eee;color:#fff;border:1px solid #d5bd8070;border-radius:3px;padding:11px 14px;display:flex;gap:10px;align-items:center;cursor:pointer;font-size:11px;box-shadow:0 4px 20px #0002}
.motion-paused .hero-photo img,.motion-paused .detail-photo>img,.motion-paused .photo-grid,.motion-paused .catalogue-art svg path{animation-play-state:paused!important}.motion-paused .catalogue-card,.motion-paused .card-visual img{transition:none}
@keyframes service-photo-drift{from{transform:scale(1.015) translateY(0)}to{transform:scale(1.095) translateY(-1%)}}
@keyframes frame-breathe{from{opacity:.4;transform:scale(.98)}to{opacity:.85;transform:scale(1)}}
@keyframes card-arrive{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1050px){.catalogue-hero{gap:5%;min-height:620px}.catalogue-art{min-height:400px}.hero-photo-inset{left:-10%;width:58%}.catalogue-card h3{font-size:24px}.related .catalogue-card:last-child{grid-column:auto;min-height:440px}.related .catalogue-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.related .catalogue-card h3{font-size:20px}.related .catalogue-card>p{font-size:11px}}
@media(max-width:700px){.catalogue-hero{padding-top:45px;padding-bottom:45px;gap:35px}.catalogue-hero h1{font-size:clamp(39px,8.5vw,56px)}.catalogue-art{min-height:310px;margin:0 0 20px 10px}.hero-photo-main{height:90%;width:85%}.hero-photo-inset{left:-10px;width:46%;height:48%;border-width:5px}.catalogue-art>span{bottom:-25px;left:15%;font-size:7px}.hero-photo>span{font-size:7px;bottom:17px;left:17px}.catalogue-card{min-height:440px}.catalogue-card h3{font-size:26px}.related .catalogue-grid{grid-template-columns:1fr}.related .catalogue-card h3{font-size:25px}.related .catalogue-card>p{font-size:13px}.related .catalogue-card:last-child{min-height:440px}.scope-photo{max-width:none;aspect-ratio:1.55;margin-top:28px}.service-motion-toggle span{display:none}.service-motion-toggle{bottom:12px;right:12px;padding:11px 13px}}
@media(prefers-reduced-motion:reduce){.hero-photo img,.detail-photo>img,.photo-grid,.catalogue-card.card-enter{animation:none}.catalogue-card,.card-visual img{transition:none}.catalogue-card:hover{transform:none}.service-motion-toggle{display:none}}
