/* Original photography, quiet playback and native-scroll photo stories. */
.photo-show .photo-slides{position:absolute;inset:0;overflow:hidden}
.photo-show .photo-slide{position:absolute;inset:0;opacity:0;transition:opacity 1s ease;pointer-events:none}
.photo-show .photo-slide.is-active{opacity:1}
.classic-site .photo-show .photo-slide img{transform:none;object-position:center;filter:none}
.photo-show .photo-show-caption{display:block!important;z-index:1;bottom:0!important;background:linear-gradient(transparent,#0c211be6)!important;color:#fff!important;font:400 13px/1.5 "Segoe UI",sans-serif!important;letter-spacing:0!important;padding:65px 22px 78px!important;pointer-events:none}
.photo-controls{position:absolute;z-index:3;bottom:18px;right:18px;display:flex;align-items:center;gap:2px;padding:3px;background:#102e27e8;border:1px solid #ffffff45;border-radius:3px;color:white;backdrop-filter:blur(6px)}
.photo-controls button,.photo-lightbox button{display:grid;place-items:center;min-width:44px;height:44px;border:0;background:transparent;color:inherit;font:18px/1 "Segoe UI",sans-serif;cursor:pointer}
.photo-controls button:hover,.photo-lightbox button:hover{background:#ffffff20}
.photo-controls button:disabled{opacity:.45;cursor:default}
.photo-controls .photo-count{padding:0 12px;font:11px/1 "Segoe UI",sans-serif;letter-spacing:.09em;font-variant-numeric:tabular-nums}
.design-1 .photo-show .photo-show-caption{padding-bottom:72px!important}
.design-5 .refresh-hero-photo{z-index:0}.design-5 .refresh-hero-copy{position:relative;z-index:1}
.design-5 .photo-show:after{pointer-events:none;z-index:1}.design-5 .photo-show .photo-show-caption{max-width:420px;left:auto;right:30px;bottom:4px!important;background:none!important;text-align:right}
.design-5 .photo-controls{right:30px;bottom:24px}.design-5 .refresh-hero{padding-bottom:145px}
.classic-service-photo{margin:22px 0 0;overflow:hidden;aspect-ratio:5/3;background:var(--soft)}
.classic-service-photo img{width:100%;height:100%;object-fit:cover;display:block}
.field-gallery header{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:30px}
.field-gallery header h2{margin-bottom:0}.field-gallery header p{font-size:13px;color:var(--muted);margin:0}
.field-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.field-photo{position:relative;min-width:0;padding:0;border:0;background:none;color:var(--ink);text-align:left;cursor:pointer;font:12px/1.5 "Segoe UI",sans-serif}
.field-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:filter .3s}
.field-photo:hover img{filter:brightness(1.08)}.field-photo>span{display:block;padding-top:10px;padding-right:18px}
.field-photo>b{position:absolute;top:10px;right:10px;width:25px;height:25px;display:grid;place-items:center;background:#f8f7efe8;color:#213e32;font-size:15px}
.photo-lightbox{border:1px solid #9fafa5;padding:18px 24px;background:#10251e;color:#fff;width:min(1100px,calc(100% - 32px));max-width:none;max-height:94dvh;box-sizing:border-box}
.photo-lightbox::backdrop{background:#06110eed;backdrop-filter:blur(7px)}
body:has(.photo-lightbox[open]){overflow:hidden}
.photo-lightbox-bar,.photo-lightbox-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px}
.photo-lightbox-bar{padding-bottom:12px}.photo-lightbox-bar button{font-size:14px;padding-inline:12px}
.photo-lightbox>.photo-lightbox-bar .photo-count{font-size:12px;letter-spacing:.12em}
.photo-lightbox>img{display:block;width:100%;height:min(70dvh,700px);object-fit:contain;background:#0c1b15}
.photo-lightbox .photo-lightbox-caption{margin:16px 0;font-size:15px;line-height:1.5;text-align:center}
.photo-lightbox-bottom>button{flex:none}

/* 06 — a restrained, sticky photographic journal. */
.design-6{--paper:#f0f3ed;--soft:#e0e7dc;--ink:#193f39;--accent:#356f5b;--line:#bdcdbf;--muted:#526b5e}
.design-6.classic-lovejoy{--paper:#f3f0e7;--soft:#e7e2d4;--ink:#3b4330;--accent:#6e784c;--line:#c9cbb8;--muted:#68705b}
.design-6 .classic-header{border-bottom:2px solid var(--ink)}
.design-6 .refresh-hero{padding-block:54px 74px;gap:65px;grid-template-columns:1.08fr .92fr}
.design-6 .refresh-hero h1,.design-6.classic-lovejoy .refresh-hero h1{font-family:"Segoe UI",sans-serif;font-weight:350;font-size:clamp(58px,6.7vw,88px);line-height:1;letter-spacing:-.065em}
.design-6 .refresh-hero h1 em{font-family:Georgia,serif;color:var(--accent)}
.design-6 .refresh-hero-photo{min-height:620px;border-radius:46% 46% 0 0;overflow:hidden}
.design-6 .refresh-hero-photo .photo-show-caption{padding-inline:28px!important}
.story-section>header{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:45px}
.story-section>header p{font-size:14px;margin:0;max-width:380px;color:var(--muted)}
.story-section>header h2{margin-bottom:0}.story-overview{margin-bottom:40px}
.story-6{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:65px;position:relative}
.story-sticky{position:sticky;top:24px;height:calc(100svh - 65px);max-height:760px;min-height:400px;align-self:start}
.story-stack{position:absolute;inset:0 0 14px;overflow:hidden;background:var(--soft)}
.story-scene{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .8s ease}
.story-scene.is-active{opacity:1}.story-scene img{width:100%;height:100%;object-fit:cover}
.story-scene figcaption{position:absolute;bottom:0;inset-inline:0;background:linear-gradient(transparent,#0d241bd9);color:#fff;padding:90px 28px 28px;font-size:15px;line-height:1.6}
.story-scene figcaption>span{display:block;font-size:11px;letter-spacing:.13em;margin-bottom:12px}
.story-progress{position:absolute;bottom:0;inset-inline:0;display:flex;gap:7px}.story-progress i{flex:1;height:3px;background:var(--line);transition:background .5s}.story-progress i.is-active{background:var(--accent)}
.story-chapters{min-width:0}.story-6 .story-chapter{min-height:85svh;display:flex;align-items:center;padding:50px 0;box-sizing:border-box;border-bottom:1px solid var(--line)}
.story-6 .story-chapter:last-child{border-bottom:0;padding-bottom:0}.story-6 .chapter-image{display:none}
.chapter-number{display:block;font:italic 48px/1 Georgia,serif;color:var(--accent);margin-bottom:28px}.chapter-number>span{font:10px/1.5 "Segoe UI",sans-serif;letter-spacing:.16em;vertical-align:middle;margin-left:10px}
.classic-site .chapter-copy h3{font-size:38px;line-height:1.2;margin:0 0 30px}
.chapter-copy .classic-expertise-list{columns:1;display:block}.chapter-copy .classic-expertise-list li{font-size:16px;padding-block:10px}
.chapter-copy .classic-service-team>div{gap:16px}.chapter-copy{min-width:0}
.design-6 .field-photo-grid{gap:24px}.design-6 .field-photo:nth-child(even){padding-top:35px}

/* 07 — expansive photographic chapters, each with its original service copy. */
.design-7{--paper:#f5f4ed;--soft:#e3e6d9;--ink:#193a3c;--accent:#2c706d;--line:#bdcfca;--muted:#526b65;--night:#123b3e}
.design-7.classic-lovejoy{--paper:#f4f1e7;--soft:#e9e0cf;--ink:#3d402f;--accent:#83623d;--line:#cbbfac;--muted:#706953;--night:#303e2c}
.design-7 .classic-header{background:var(--night);color:#f8f7ef;border:0}.design-7 .classic-brand small{color:#d9e3cf}.design-7 .classic-menu{color:inherit}
.design-7 .refresh-hero{display:grid;grid-template-columns:1.15fr 1fr;padding-block:65px;gap:50px;align-items:center}
.design-7 .refresh-hero-copy{display:contents}.design-7 .refresh-hero-copy>.refresh-eyebrow{grid-column:1/-1;margin-bottom:-20px}
.design-7 .refresh-hero h1,.design-7.classic-lovejoy .refresh-hero h1{font-size:clamp(72px,7.6vw,100px);line-height:.97;letter-spacing:-.065em;margin:0}
.design-7 .classic-intro-copy{font-size:16px}.design-7 .refresh-actions{margin:0;grid-column:1}.design-7 .refresh-credentials{grid-column:2;grid-row:3;margin:0;padding:0;border:0;justify-self:start}
.design-7 .refresh-hero-photo{grid-column:1/-1;min-height:0;height:60svh;max-height:650px;margin-top:10px}
.design-7 .photo-show .photo-show-caption{max-width:600px;font:italic 22px/1.5 Georgia,serif!important;padding-bottom:28px!important;padding-right:40px!important;background:linear-gradient(transparent,#0c211be6)!important}
.design-7 .classic-wrap{max-width:1280px}.design-7 h2{font-size:54px}
.story-7 .story-chapter{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:end;min-height:100svh;margin-bottom:70px;padding:50px;isolation:isolate}
.story-7 .chapter-image{position:absolute;inset:0;overflow:hidden;margin:0;background:var(--night);z-index:-1}
.story-7 .chapter-image img{width:100%;height:100%;object-fit:cover;transform:scale(1.025);transition:transform 1.5s ease;opacity:.94}
.story-7 .story-chapter.is-in-view .chapter-image img{transform:scale(1)}
.story-7 .chapter-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#102c30b0,transparent 70%);pointer-events:none}
.story-7 .chapter-image figcaption{position:absolute;z-index:1;bottom:35px;left:35px;max-width:30%;font:italic 24px/1.4 Georgia,serif;color:white}
.story-7 .chapter-copy{grid-column:2;background:var(--paper);padding:40px;box-shadow:0 16px 60px #08291a24}
.story-7 .story-chapter:nth-child(even) .chapter-copy{grid-column:1}.story-7 .story-chapter:nth-child(even) .chapter-image figcaption{left:auto;right:35px}
.story-7 .chapter-number{font-size:65px}.story-7 .chapter-copy h3{font-size:35px}.story-7 .classic-service-copy{font-size:15px}
.design-7 .field-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.design-7 .field-photo img{aspect-ratio:5/4}
.design-7 .classic-contact,.design-7 .classic-footer{background:var(--night);color:#f5f3e5}.design-7 .classic-contact dt,.design-7 .classic-contact-columns h3,.design-7 .classic-business{color:#d5debe}
@supports(animation-timeline:view()){
    @media(prefers-reduced-motion:no-preference){
        .story-7 .chapter-image img{animation:field-photo-arrival linear both;animation-timeline:view();animation-range:entry 0% cover 55%}
        @keyframes field-photo-arrival{from{clip-path:inset(5% 5% 0);transform:scale(1.045)}to{clip-path:inset(0);transform:scale(1)}}
    }
}
.mini-6 .mini-hero figure{border-radius:45% 45% 0 0}.mini-6{background:#edf1e9}.mini-6 .mini-hero strong{font-family:"Segoe UI",sans-serif;font-weight:350}
.mini-7{background:#153c3e;color:#fff}.mini-7.mini-lovejoy{background:#343e2c}.mini-7 .mini-hero{display:block;position:relative}.mini-7 .mini-hero>div{position:relative;z-index:1;max-width:65%}.mini-7 .mini-hero figure{position:absolute;inset:15px -26px -100px;opacity:.45}.mini-7 .mini-hero strong{font-size:42px}.mini-7 .mini-hero b{background:#fff;color:#183c32}

@media(max-width:1050px){
    .field-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.story-6{gap:35px;grid-template-columns:.9fr 1.1fr}.chapter-copy h3{font-size:32px!important}
    .story-7 .story-chapter{padding:25px;grid-template-columns:.7fr 1fr}.story-7 .chapter-copy{padding:28px}.story-7 .chapter-image figcaption{font-size:20px;left:25px;max-width:25%}
    .story-7 .story-chapter:nth-child(even){grid-template-columns:1fr .7fr}
    .design-7 .refresh-hero{gap:30px}.design-7 .refresh-hero h1,.design-7.classic-lovejoy .refresh-hero h1{font-size:76px}
    .option-toolbar-bottom{gap:10px}.option-dots{gap:2px}.option-dots a{width:32px}.option-current{min-width:230px}
}
@media(max-width:760px){
    .photo-controls{bottom:12px;right:12px}.photo-show .photo-show-caption{padding:55px 18px 76px!important;font-size:12px!important}
    .design-5 .photo-show .photo-show-caption{right:0;text-align:left;max-width:none}.design-5 .photo-controls{right:18px;bottom:18px}
    .field-gallery header{display:block;margin-bottom:24px}.field-gallery header p{margin-top:15px}.field-photo-grid,.design-7 .field-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 14px}.field-photo>span{font-size:11px}
    .photo-lightbox{padding:10px 12px;width:calc(100% - 20px)}.photo-lightbox>img{height:60dvh}.photo-lightbox-bottom{gap:8px}.photo-lightbox .photo-lightbox-caption{font-size:13px}
    .classic-service-photo{max-width:400px;margin-top:20px}
    .design-6 .refresh-hero{grid-template-columns:1fr;gap:32px;padding-block:36px 45px}.design-6 .refresh-hero h1,.design-6.classic-lovejoy .refresh-hero h1{font-size:60px}.design-6 .refresh-hero-photo{min-height:390px;border-radius:42% 42% 0 0}
    .story-section>header{display:block;margin-bottom:28px}.story-section>header p{margin-top:20px}.story-overview{margin-bottom:30px}
    .story-6{display:block}.story-sticky{top:0;height:32svh;max-height:320px;min-height:180px;z-index:2;background:var(--paper);margin-bottom:18px}
    .story-stack{inset:0 0 8px}.story-scene figcaption{padding:45px 16px 15px;font-size:12px;line-height:1.4}.story-scene figcaption>span{margin-bottom:4px;font-size:9px}
    .story-6 .story-chapter{min-height:70svh;padding:35px 4px 55px;scroll-margin-top:35svh}.chapter-number{font-size:39px;margin-bottom:22px}.chapter-copy h3{font-size:30px!important}
    .design-6 .field-photo:nth-child(even){padding-top:22px}.design-6 .field-photo-grid{gap:14px}
    .design-7 .refresh-hero{display:flex;flex-direction:column;align-items:stretch;padding-block:36px 42px;gap:26px}.design-7 .refresh-hero-copy{display:block}.design-7 .refresh-hero-copy>.refresh-eyebrow{margin-bottom:22px}
    .design-7 .refresh-hero h1,.design-7.classic-lovejoy .refresh-hero h1{font-size:67px;margin-bottom:25px}.design-7 .refresh-actions{margin-top:25px}.design-7 .refresh-credentials{margin-top:28px}.design-7 .refresh-hero-photo{height:50svh;min-height:330px;max-height:520px;margin:0}
    .design-7 .photo-show .photo-show-caption{max-width:none;font-size:17px!important;padding:55px 18px 78px!important}.design-7 h2{font-size:40px}
    .story-7 .story-chapter,.story-7 .story-chapter:nth-child(even){display:block;padding:0;min-height:0;margin-bottom:45px}
    .story-7 .chapter-image{position:relative;aspect-ratio:5/4;z-index:0}.story-7 .chapter-image figcaption,.story-7 .story-chapter:nth-child(even) .chapter-image figcaption{font-size:18px;left:22px;right:22px;bottom:37px;max-width:none}
    .story-7 .chapter-copy{position:relative;z-index:1;margin:-22px 12px 0;padding:27px 22px;box-shadow:0 12px 35px #08291a15}.story-7 .chapter-number{font-size:47px}.story-7 .classic-service-copy{font-size:15px}
    .design-7 .classic-contact{padding:27px}
}
@media(prefers-reduced-motion:reduce){
    .photo-show .photo-slide,.story-scene,.story-progress i,.story-7 .chapter-image img,.field-photo img{transition:none!important;animation:none!important;transform:none!important;clip-path:none!important}
}
@media(max-height:500px) and (max-width:760px){.story-sticky{position:relative;height:220px;min-height:0}}
