/* Editorial layer: progressive enhancement, local media, no layout libraries. */
.editorial-site{--paper:#f7f6f2;--ink:#252424;--muted:#666761;--line:#d8d8cf;--shell:1320px;background:var(--paper)}
.editorial-site .topbar{background:#252424;color:#efeeea}
.editorial-site .topbar .shell{min-height:35px}
.editorial-site .site-header{background:rgba(247,246,242,.97)}
.editorial-site .nav-wrap{height:88px}
.editorial-site .site-nav{gap:34px}
.editorial-site .site-nav a:not(.nav-cta){position:relative}
.editorial-site .site-nav a:not(.nav-cta):after{content:"";position:absolute;bottom:-8px;left:0;width:100%;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.editorial-site .site-nav a[aria-current="page"]:after,.editorial-site .site-nav a:hover:after{transform:scaleX(1)}
.editorial-site .nav-cta,.editorial-site .button{border-radius:3px}
.editorial-site .button{font-size:1rem;gap:24px;min-height:56px;padding:18px 23px}
.editorial-site .button>span[aria-hidden]{font-size:1.3rem;line-height:1;transition:transform .25s}
.editorial-site .button:hover>span[aria-hidden]{transform:translate(2px,-2px)}
.editorial-site .section{padding-block:112px}
.editorial-site main .section-intro h2,.editorial-site main .process-heading h2,.editorial-site main .faq-layout>div>h2{font-size:clamp(2.5rem,4.4vw,4.3rem);font-weight:500;letter-spacing:-.055em}
.editorial-site .eyebrow{font-size:.8125rem;letter-spacing:.12em;font-weight:600}
.editorial-site .section-intro{grid-template-columns:1.3fr 1fr;gap:60px;margin-bottom:48px}
.editorial-site .section-intro>p{font-size:1.0625rem;max-width:360px;line-height:1.75}
.editorial-site .text-link{font-size:1rem}
.editorial-hero{padding-top:66px;padding-bottom:0}
.hero-heading-row{display:grid;grid-template-columns:1.65fr 1fr;gap:54px;align-items:end;padding-bottom:50px}
.editorial-hero .eyebrow{margin-bottom:28px}
.editorial-hero h1{font-size:clamp(3.8rem,6.7vw,6.8rem);line-height:1.01;letter-spacing:-.065em;font-weight:500;margin:0;max-width:940px}
.editorial-hero h1>span{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-style:italic;letter-spacing:-.07em;color:var(--accent-dark)}
.hero-introduction{max-width:350px;padding-bottom:3px;justify-self:end}
.hero-introduction>p:first-child{font-size:1.375rem;line-height:1.45;font-weight:500;letter-spacing:-.025em;margin-bottom:17px}
.hero-introduction>p:nth-child(2){font-size:1rem;line-height:1.7;color:var(--muted);margin-bottom:25px}
.hero-discover{display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:.9375rem;padding-top:20px;max-width:270px}
.hero-discover>span{font-size:1.4rem}
.hero-discover:hover{color:var(--accent-dark)}
.editorial-hero-media{position:relative;margin:0;overflow:hidden;background:#4b4b45;border-radius:4px}
.editorial-hero-media>img{width:100%;height:clamp(430px,43vw,590px);object-fit:cover;object-position:center 55%;transform:scale(1.045);will-change:transform}
.editorial-hero-media:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 30%,rgba(12,20,18,.58) 100%)}
.hero-media-overlay{position:absolute;bottom:90px;left:44px;right:44px;color:#fff;display:flex;justify-content:space-between;align-items:end;z-index:1}
.hero-media-overlay>span:first-child{font-size:clamp(1.6rem,3.4vw,3rem);line-height:1.12;letter-spacing:-.04em;font-weight:500}
.hero-direction{display:grid;place-items:center;width:78px;height:78px;border:1px solid #ffffffa0;border-radius:50%;font-size:2.3rem;line-height:1}
.editorial-hero-media figcaption{position:absolute;inset:auto 44px 25px;z-index:2;color:#fff;border-top:1px solid #ffffff70;display:flex;justify-content:space-between;gap:25px;padding-top:17px;font-size:.8125rem;line-height:1.5}
.editorial-hero-media figcaption>a{text-decoration:underline;text-underline-offset:4px;text-decoration-color:#ffffff70}
.hero-bottom-line{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:25px 0;border-bottom:1px solid var(--line);font-size:.8125rem;color:var(--muted)}
.hero-bottom-line i{font-style:normal;padding-inline:12px;color:var(--accent)}
.hero-bottom-line>span:last-child{display:flex;gap:20px}
.service-showcase{scroll-margin-top:120px}
.service-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--line);margin-bottom:32px}
.service-tabs>a{position:relative;display:flex;align-items:center;gap:16px;padding:25px 18px;font-size:1rem;font-weight:500;line-height:1.4;min-height:83px;transition:color .25s,background .25s}
.service-tabs>a+a{border-left:1px solid var(--line)}
.service-tabs>a>span:first-child{font-size:.8125rem;color:var(--muted);font-weight:400}
.service-tabs .tab-arrow{margin-left:auto;font-size:1.4rem;transition:transform .25s}
.service-tabs>a:hover{background:#eeece5;color:var(--accent-dark)}
.service-tabs>a[aria-selected="true"]{background:var(--ink);color:#fff}
.service-tabs>a[aria-selected="true"]>span:first-child{color:#eac8dd}
.service-tabs>a[aria-selected="true"] .tab-arrow{transform:rotate(45deg)}
.service-panel{display:grid;grid-template-columns:1.04fr 1fr;background:#252424;color:#fff;border-radius:4px;overflow:hidden;scroll-margin-top:110px}
.service-panel+.service-panel{margin-top:35px}
.service-showcase[data-enhanced="true"] .service-panel+.service-panel{margin-top:0}
.service-panel-copy{padding:48px clamp(28px,3.2vw,52px);display:flex;flex-direction:column;align-items:flex-start}
.service-panel-copy .eyebrow{color:#e5b5d0;font-size:.75rem;margin-bottom:25px}
.service-panel-copy h3{font-weight:500;font-size:clamp(2rem,3vw,3rem);letter-spacing:-.045em;line-height:1.1;margin-bottom:23px}
.service-panel-copy>p:not(.eyebrow){color:#d5d4ce;font-size:1rem;line-height:1.75;max-width:400px;margin-bottom:20px}
.service-needs{list-style:none;padding:0;margin:0 0 28px;width:100%;border-top:1px solid #55544f}
.service-needs li{display:flex;gap:16px;padding:13px 0;border-bottom:1px solid #55544f;color:#deddd7;font-size:.875rem;line-height:1.55}
.service-needs li>span{color:#e2a7c8;font-size:.75rem;padding-top:2px}
.service-panel-copy .button{background:#f7f6f2;color:#252424;text-align:left;font-size:.9375rem;padding-inline:21px;margin-top:auto}
.service-panel-copy .button:hover{background:#eadce4}
.service-panel-copy .text-link{font-size:.875rem;margin-top:12px;color:#e0dfdb}
.service-panel-copy .text-link:hover{color:#fff}
.service-scene{position:relative;min-width:0;margin:0;overflow:hidden;background:#c1bdae}
.service-scene img{height:100%;width:100%;min-height:460px;object-fit:cover}
.service-scene figcaption{position:absolute;left:18px;bottom:18px;background:rgba(24,26,23,.9);color:#fff;padding:6px 11px;border-radius:2px;font-size:.8125rem;line-height:1.5}
.service-showcase-note{margin:22px 0 0;max-width:810px;font-size:.875rem;line-height:1.75;color:var(--muted)}
.editorial-gallery{padding-top:0!important}
.editorial-home .photo-grid{grid-template-columns:1fr 1fr;gap:26px}
.editorial-home .photo-grid>.real-photo:first-child{grid-column:1/-1}
.editorial-home .photo-grid>.real-photo:first-child img{aspect-ratio:2.35/1;object-position:center 57%}
.editorial-site .real-photo{border:0;border-radius:4px;background:transparent;overflow:visible}
.editorial-site .real-photo figcaption{background:transparent;padding:20px 0 0;gap:6px;display:flex;flex-direction:row;justify-content:space-between;align-items:center;flex-wrap:wrap}
.editorial-site .real-photo figcaption>span{font-size:1.125rem;font-weight:500;letter-spacing:-.025em}
.editorial-site .real-photo figcaption>a{font-size:.8125rem}
.gallery-trigger{display:block;position:relative;overflow:hidden;background:#e2e1d9;border-radius:4px}
.gallery-trigger>img{width:100%;transition:transform .7s cubic-bezier(.2,.65,.3,1)}
.gallery-trigger:hover>img{transform:scale(1.035)}
.gallery-expand{position:absolute;top:18px;right:18px;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#f7f6f2;color:var(--ink);font-size:1.4rem;transition:transform .25s,background .25s}
.gallery-trigger:hover .gallery-expand{transform:rotate(45deg);background:#fff}
.gallery-image-label{position:absolute;bottom:18px;left:18px;padding:6px 10px;background:#252424e8;color:#fff;font-size:.75rem;line-height:1.5}
.photo-gallery-dialog{width:min(1100px,calc(100vw - 44px));max-width:1100px;max-height:calc(100dvh - 36px);padding:24px;border:0;border-radius:6px;background:#f7f6f2;color:var(--ink);box-shadow:0 24px 120px #0008;overflow:auto}
.photo-gallery-dialog::backdrop{background:rgba(13,17,15,.88);backdrop-filter:blur(5px)}
.gallery-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:16px}
.gallery-dialog-heading h2{font-size:1.25rem;font-weight:500;letter-spacing:-.025em;line-height:1.4;margin:0}
.gallery-dialog-close,.gallery-dialog-nav button{display:grid;place-items:center;min-width:46px;min-height:46px;border:1px solid #989b8f;border-radius:50%;background:transparent;color:var(--ink);font-size:1.35rem}
.gallery-dialog-close:hover,.gallery-dialog-nav button:hover{background:#e4e4da}
.gallery-dialog-image{width:100%;max-height:calc(100dvh - 230px);object-fit:contain;background:#e7e6df;min-height:120px}
.gallery-dialog-caption{font-size:.9375rem;line-height:1.6;margin:17px 0 0;color:#55574f}
.gallery-dialog-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:18px}
.gallery-dialog-source{text-decoration:underline;text-underline-offset:4px;font-size:.875rem}
.gallery-dialog-nav{display:flex;align-items:center;gap:15px}
.gallery-dialog-count{font-size:.875rem;min-width:45px;text-align:center}
.gallery-open{overflow:hidden}
.editorial-site .process-section{background:#eeece5}
.editorial-site .process-list li{padding-block:31px;border-color:#c6c7ba}
.editorial-site .process-list li>span{color:var(--accent-dark);font-size:.8125rem}
.editorial-site .process-list h3{font-size:1.65rem;font-weight:500}
.editorial-site .process-list p{max-width:410px}
.editorial-site .process-art{margin-top:45px}
.editorial-site .editorial-block h2{font-weight:500;line-height:1.15}
.editorial-site .editorial-monogram{color:var(--accent-dark)}
.editorial-site .faq-list details{border-color:var(--line)}
.editorial-site .faq-list summary{font-weight:500;font-size:1.125rem;padding-block:26px;line-height:1.5}
.editorial-site .cta-section{padding-block:42px;background:var(--paper)}
.editorial-site .cta-block{border-radius:4px;background:#e8e3de;padding:55px}
.editorial-site .cta-block h2{font-size:clamp(2.3rem,3.7vw,3.5rem)}
.editorial-site .site-footer{background:#252424}
.editorial-site .footer-heading{font-size:clamp(2.5rem,5.2vw,5rem);font-weight:400;letter-spacing:-.05em}
.editorial-site .round-link{border-color:#73766c}
.editorial-site .round-link:hover{background:var(--accent-dark);border-color:var(--accent-dark)}
.editorial-site .page-hero{padding-top:35px;padding-bottom:76px}
.editorial-site .page-hero h1{font-size:clamp(3rem,6.2vw,6rem);font-weight:500;max-width:1070px}
.editorial-site .page-hero-bottom{align-items:flex-end}
.editorial-site .page-hero-bottom .lead{max-width:680px;font-size:1.1875rem}
.editorial-site .breadcrumb{font-size:.875rem}
.editorial-site .service-detail{grid-template-columns:1fr 1fr;gap:85px;align-items:start}
.editorial-site .service-detail h2{font-size:clamp(2.5rem,4vw,3.8rem);font-weight:500}
.editorial-site .service-detail-title:has(.service-detail-scene) .large-symbol{display:none}
.service-detail-scene{margin-top:30px;border-radius:4px}
.service-detail-scene img{min-height:0;aspect-ratio:4/3;height:auto;object-fit:cover}
.editorial-site .fleet-gallery-grid{grid-template-columns:1fr 1fr;gap:38px 28px}
.editorial-site .fleet-gallery .real-photo img{aspect-ratio:4/3}
.editorial-site .capacity-board{border-radius:4px;overflow:hidden}
.editorial-site .principles-grid article{padding-top:32px}
.editorial-site .principles-grid article>span{color:var(--accent-dark)}
.editorial-site .quote-heading h1{font-weight:500}
.editorial-site .quote-form,.editorial-site .quote-aside{border-radius:5px}
.editorial-site .quote-form{box-shadow:0 15px 45px #29292105}
.page-scroll-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:var(--accent-dark);z-index:80;pointer-events:none;transform:scaleX(0);transform-origin:left center}
.reveal-pending{opacity:0;transform:translateY(24px)}
.reveal-ready{transition:opacity .7s ease,transform .7s cubic-bezier(.2,.65,.3,1)}
.service-panel.is-entering{animation:panel-enter .42s ease both}
@keyframes panel-enter{from{opacity:.55;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.editorial-hero h1{font-size:7rem}.hero-heading-row{grid-template-columns:1.7fr 1fr}}
@media(max-width:1100px){.hero-heading-row{grid-template-columns:1.5fr 1fr;gap:35px}.editorial-hero h1{font-size:6.6vw}.hero-introduction>p:first-child{font-size:1.2rem}.hero-introduction .button{font-size:.9375rem;padding-inline:18px}.service-panel-copy{padding:32px 27px}.service-tabs>a{font-size:.9375rem;gap:10px;padding:20px 12px}.editorial-site .section{padding-block:85px}.editorial-site .service-detail{gap:50px}.editorial-site .site-nav{gap:25px}}
@media(max-width:800px){
  .editorial-site .nav-wrap{height:78px}.editorial-site .site-nav{gap:6px}.editorial-site .site-nav a:not(.nav-cta):after{display:none}
  html:not(.editorial-ready) .editorial-site .nav-wrap{height:auto;min-height:78px;flex-wrap:wrap;padding-bottom:14px;gap:0}
  html:not(.editorial-ready) .editorial-site .menu-button{display:none}
  html:not(.editorial-ready) .editorial-site .site-nav{display:flex;position:static;box-shadow:none;border:0;padding:4px 0 0;flex-wrap:wrap;gap:5px 18px;width:100%;background:transparent}
  html:not(.editorial-ready) .editorial-site .site-nav a{padding:8px 0;font-size:.875rem}
  html:not(.editorial-ready) .editorial-site .site-nav .nav-cta{margin:0;padding:8px 13px;gap:10px}
  .editorial-hero{padding-top:40px}.hero-heading-row{grid-template-columns:1fr;gap:28px;padding-bottom:32px}.editorial-hero h1{font-size:clamp(3.5rem,8.8vw,5.7rem)}
  .hero-introduction{justify-self:start;display:grid;grid-template-columns:1fr 1fr;gap:20px 30px;max-width:none;width:100%;align-items:center;padding:0}.hero-introduction>p:first-child{margin:0;font-size:1.25rem}.hero-introduction>p:nth-child(2){margin:0;font-size:1rem}.hero-introduction .button{width:fit-content;min-height:54px;font-size:.9375rem}.hero-discover{padding:0;max-width:260px}
  .editorial-hero-media>img{height:440px}.hero-media-overlay{left:27px;right:27px;bottom:88px}.hero-direction{width:60px;height:60px;font-size:1.8rem}.editorial-hero-media figcaption{inset:auto 27px 22px;gap:10px}.hero-bottom-line>span:last-child{display:none}
  .editorial-site .section{padding-block:72px}.editorial-site main .section-intro h2,.editorial-site main .process-heading h2,.editorial-site main .faq-layout>div>h2{font-size:clamp(2.5rem,6.4vw,3.6rem)}.editorial-site .section-intro{grid-template-columns:1fr;gap:24px;margin-bottom:34px}.editorial-site .section-intro>p{max-width:560px;font-size:1rem}
  .service-tabs{grid-template-columns:1fr;margin-bottom:24px}.service-tabs>a{padding:17px 18px;min-height:64px;font-size:1rem}.service-tabs>a+a{border-left:0;border-top:1px solid var(--line)}.service-tabs>a>span:first-child{min-width:20px}
  .service-panel{grid-template-columns:1fr}.service-scene img{height:auto;min-height:0;aspect-ratio:16/10}.service-panel-copy{padding:36px}.service-panel-copy h3{font-size:2.7rem}.service-panel-copy>p:not(.eyebrow){max-width:600px}.service-needs{margin-bottom:24px}.service-panel-copy .button{margin-top:0}.service-panel-copy .text-link{margin-top:12px}
  .editorial-home .photo-grid{gap:28px 20px}.editorial-home .photo-grid>.real-photo:last-child{display:block;grid-column:auto}.editorial-home .photo-grid>.real-photo:first-child img{aspect-ratio:16/9}.editorial-site .real-photo figcaption{padding-top:16px;align-items:flex-start;flex-direction:column}.editorial-site .real-photo figcaption>span{font-size:1.05rem}.gallery-expand{width:40px;height:40px;top:14px;right:14px}
  .editorial-site .service-detail{grid-template-columns:1fr;gap:34px}.editorial-site .service-detail-title h2{padding-right:0}.service-detail-scene{max-width:100%;margin-top:25px}.service-detail-scene img{aspect-ratio:16/9;max-height:460px}.editorial-site .page-hero{padding-bottom:54px}.editorial-site .page-hero h1{font-size:clamp(3rem,7.7vw,4.8rem)}.editorial-site .page-hero-bottom{align-items:flex-start}.editorial-site .page-hero-bottom .lead{font-size:1.125rem}.editorial-site .fleet-gallery-grid{gap:32px 20px}
  .editorial-site .cta-block{padding:38px}.editorial-site .footer-heading{font-size:3.2rem}.editorial-site .faq-list summary{font-size:1.0625rem}
}
@media(max-width:480px){
  .editorial-site .topbar .shell{min-height:30px}.editorial-hero{padding-top:30px}.editorial-hero .eyebrow{font-size:.75rem;margin-bottom:23px}.editorial-hero h1{font-size:clamp(2.6rem,10.5vw,3.8rem);line-height:1.07;letter-spacing:-.055em}.hero-heading-row{gap:26px;padding-bottom:28px}.hero-introduction{grid-template-columns:1fr;gap:18px}.hero-introduction>p:first-child{font-size:1.15rem}.hero-introduction>p:nth-child(2){font-size:1rem;max-width:340px}.hero-introduction .button{width:100%;justify-content:space-between}.hero-discover{max-width:none;font-size:.875rem;padding-top:0}
  .editorial-hero-media>img{height:365px;object-position:50% 50%}.hero-media-overlay{left:20px;right:20px;bottom:113px}.hero-media-overlay>span:first-child{font-size:1.6rem}.hero-direction{width:45px;height:45px;font-size:1.5rem}.editorial-hero-media figcaption{inset:auto 20px 19px;flex-direction:column;gap:6px;padding-top:13px;font-size:.75rem}.hero-bottom-line{padding-block:20px;font-size:.75rem;gap:10px}.hero-bottom-line i{padding-inline:7px}
  .editorial-site .section{padding-block:56px}.editorial-site .section-intro{margin-bottom:28px;gap:20px}.editorial-site main .section-intro h2,.editorial-site main .process-heading h2,.editorial-site main .faq-layout>div>h2{font-size:2.45rem}.editorial-site .eyebrow{font-size:.75rem}.service-tabs>a{min-height:62px;padding:17px 15px;font-size:.9375rem}.service-panel-copy{padding:27px 23px}.service-panel-copy h3{font-size:2.1rem}.service-panel-copy .eyebrow{margin-bottom:20px}.service-panel-copy>p:not(.eyebrow){font-size:1rem}.service-panel-copy .button{width:100%;justify-content:space-between;font-size:.875rem;gap:12px;padding:17px 16px}.service-scene img{aspect-ratio:4/3}.service-scene figcaption{font-size:.75rem;left:13px;bottom:13px;padding:5px 8px}.service-needs li{font-size:.875rem;gap:12px}.service-showcase-note{font-size:.8125rem}
  .editorial-home .photo-grid{grid-template-columns:1fr;gap:26px}.editorial-home .photo-grid>.real-photo:first-child{grid-column:auto}.editorial-home .photo-grid>.real-photo:first-child img{aspect-ratio:4/3}.editorial-site .real-photo figcaption>span{font-size:1.0625rem}.gallery-image-label{bottom:13px;left:13px}.editorial-site .fleet-gallery-grid{grid-template-columns:1fr;gap:29px}.editorial-site .page-hero h1{font-size:2.8rem}.editorial-site .page-hero{padding-top:24px;padding-bottom:45px}.editorial-site .breadcrumb{margin-bottom:33px;font-size:.8125rem}.editorial-site .service-detail h2{font-size:2.4rem}
  .editorial-site .cta-block{padding:28px 24px}.editorial-site .cta-block h2{font-size:2.25rem}.editorial-site .footer-heading{font-size:2.3rem}.editorial-site .process-list h3{font-size:1.5rem}.editorial-site .process-list li{padding-block:26px}.editorial-site .faq-list summary{font-size:1rem;padding-block:23px}
  .photo-gallery-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:17px}.gallery-dialog-heading{gap:15px}.gallery-dialog-heading h2{font-size:1.05rem}.gallery-dialog-close{flex-shrink:0}.gallery-dialog-image{max-height:calc(100dvh - 260px)}.gallery-dialog-bottom{gap:16px;flex-wrap:wrap}.gallery-dialog-nav{margin-left:auto}.gallery-dialog-caption{font-size:.875rem}
}
@media(prefers-reduced-motion:reduce){
  .editorial-site{scroll-behavior:auto}.editorial-site *, .editorial-site *:before,.editorial-site *:after{animation:none!important;transition:none!important}
  .reveal-pending{opacity:1!important;transform:none!important}.gallery-trigger:hover>img,.gallery-trigger:hover .gallery-expand,.editorial-site .button:hover>span[aria-hidden],.editorial-hero-media>img{transform:none!important}
}
