/* Photo-first layout with a restrained, neutral palette. */
:root{
  --bg:#fff;--surface:#f3f5f6;--surface-2:#e9eef2;
  --ink:#202c36;--muted:#606d77;--line:#dde2e5;--lime:#3c607e;
  --display:Body,Arial,sans-serif;--mono:Body,Arial,sans-serif;
  --gutter:clamp(24px,5vw,84px);
}
body{font-size:15px}
h1,h2,h3{font-family:var(--body);font-weight:500;letter-spacing:-.045em;line-height:1.1}
h2{font-size:clamp(36px,4vw,58px)}
h2 em{color:var(--ink)}
.eyebrow,.section-kicker{font:500 12px/1.5 var(--body);letter-spacing:.3px;text-transform:none}
.section-pad{padding-block:84px}
.section-kicker{padding-bottom:25px}
.section-kicker>span:first-child{color:var(--muted)}
.scroll-progress{background:#5d7e99}
.skip-link{color:white;border-radius:4px}
.site-header{height:86px;background:#fffffff5;border-bottom:1px solid #e8ebed;backdrop-filter:blur(18px);gap:30px}
.brand{gap:16px}
.brand img{width:67px;height:44px;object-fit:contain;flex:none;border-radius:0}
.brand>span{font:600 19px/1.2 var(--body);letter-spacing:-.7px}
.brand-dot{color:var(--ink)}
.desktop-nav{gap:34px}
.desktop-nav a{font-size:13px;color:#445360}
.desktop-nav a:hover,.desktop-nav a.is-active{color:#173f61}
.header-contact{background:var(--ink);color:white;font-size:12px;border:0;border-radius:4px;padding:10px 18px;font-weight:500}
.header-contact span{color:white;margin-left:25px;font-size:19px}

/* The photograph occupies the entire hero; the small caption sits on the road. */
.hero{display:block;position:relative;padding:0;margin:0;max-width:none;width:100%;height:min(56.25vw,calc(100svh - 86px));min-height:560px;overflow:hidden;background:#343b41;isolation:isolate}
.hero-media,.hero-media picture,.hero-media img{position:absolute;inset:0;width:100%;height:100%;display:block}
.hero-media img{object-fit:cover;object-position:center 48%}
.hero:after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,transparent 47%,#101a2126 68%,#0d1722c9 100%)}
.hero-content{position:absolute;z-index:2;bottom:42px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;align-items:flex-end;gap:30px;color:white}
.hero-overline{font-size:12px;letter-spacing:.7px;display:block;margin-bottom:9px;color:#fff}
.hero h1{font:500 clamp(44px,4.8vw,74px)/1.1 var(--body);letter-spacing:-.05em;white-space:normal;color:#fff;margin:0}
.hero-title-group>p{color:#fff;font-size:13px;margin-top:12px;line-height:1.6}
.button{border-radius:4px;padding:14px 22px;min-height:50px;gap:30px;font-weight:500;font-size:12px;box-shadow:none}
.hero-gallery-button{background:#fff;color:#22313d;white-space:nowrap;min-width:185px;box-shadow:0 4px 16px #0000000a}
.hero-gallery-button:hover{background:#eaf0f4;transform:translateY(-2px)}
.button-lime,.button-dark{background:var(--ink);color:white}
.button-lime:hover,.button-dark:hover{background:#35546c}
.button-outline{color:var(--ink);border-color:#b7c2ca;background:transparent}
.button-outline:hover{border-color:#55748b;background:#f0f4f6}
.text-link{font-size:12px;font-weight:500;border-bottom:1px solid #9eafb9;padding-bottom:7px;gap:20px;color:var(--ink)}
.text-link span{color:#456881}
.text-link:hover{color:#315d7c}

.story{padding-block:76px}
.story-layout{grid-template-columns:1.2fr 1fr;gap:80px;align-items:center}
.story-images{margin:0;padding:0}
.story-main{width:100%;height:310px;border:0;border-radius:3px;box-shadow:none;transform:none;background:#e9edef}
.story-main img{object-position:center 52%}
.image-corner{color:white;font:400 11px/1.5 var(--body);letter-spacing:0;padding:35px 23px 18px}
.story-copy{padding:0;max-width:440px}
.story-copy>.eyebrow{color:var(--muted);display:block;margin-bottom:16px}
.story-copy h2{font-size:clamp(34px,3.5vw,51px);line-height:1.13}
.story-copy>p{font-size:14px;line-height:1.85;margin-top:20px;max-width:370px}
.story-copy>.text-link{margin-top:19px}

.details{background:#f3f5f6;border:0}
.details-layout{grid-template-columns:.8fr 1.2fr;gap:90px}
.details-intro h2{font-size:clamp(35px,3.6vw,52px)}
.model-note{max-width:330px;margin-top:26px}
.model-note p{font-size:12px;line-height:1.8}
.note-icon{color:#4e6b81;border-color:#a6b4bf}
.source-link{font-size:11px;border-color:#acb9c3;margin-top:17px}
.source-link span{color:#4e6b81}
.spec-panel{border-radius:0;background:none;padding:0;box-shadow:none}
.spec-tabs{gap:32px;border-color:#c8d2d9}
.spec-tabs button{font-size:12px;color:#5b6b76;padding-bottom:16px}
.spec-tabs button[aria-selected=true]{color:#203f57}
.spec-content dl>div{padding:18px 0;font-size:12px;border-color:#d9e0e5}
.spec-content dt{color:var(--muted)}
.spec-content dd{font-weight:500;color:var(--ink)}
.spec-content small{font-size:10px}
.spec-content .pending{color:#596a76;font-size:11px}
.spec-footnote{font-size:10px}

.gallery{padding-bottom:80px}
.gallery-heading{align-items:center}
.gallery-heading h2{font-size:clamp(36px,4vw,55px)}
.gallery-heading p{font-size:13px;margin:0}
.gallery-toolbar{margin-top:31px;border-bottom:1px solid var(--line);padding-bottom:20px}
.gallery-filters{gap:9px}
.gallery-filters button{border-radius:3px;background:#fff;color:#596a77;border-color:#d3dce1;font-size:11px;padding:9px 15px}
.gallery-filters button span{font-family:var(--body);font-size:10px;opacity:1;margin-left:7px}
.gallery-filters button.active{background:var(--ink);border-color:var(--ink);color:white}
.gallery-filters button:hover:not(.active){color:#1e4562;border-color:#8ba2b3}
#gallery-count{font-family:var(--body);text-transform:none;letter-spacing:0;font-size:11px;color:#5a6c7a}
.photo-grid{gap:26px 23px;margin-top:25px}
.gallery-photo .photo-frame{height:280px;border-radius:3px}
.gallery-photo .photo-caption{color:var(--ink);font-size:11px;margin-top:12px}
.gallery-photo .photo-category{background:#fffef5ed;border-radius:2px;color:#243440;font:500 9px/1.4 var(--body);text-transform:capitalize;letter-spacing:0;padding:4px 8px}
.gallery-photo .gallery-expand{border:1px solid #ffffff8c;background:#24313d70;color:white;border-radius:3px;height:32px;width:32px}
.gallery-photo:hover .gallery-expand{color:white;background:#35546c}
.photo-caption small{font:400 10px/1 var(--body)}
.gallery-footer{justify-content:center;margin-top:35px}

.faq{background:#fff;border-top:1px solid var(--line);grid-template-columns:.8fr 1.2fr;gap:90px;padding-block:64px}
.faq-intro h2{font-size:clamp(34px,3.6vw,48px)}
.faq-list{padding-top:0}
.faq-list summary{font-size:13px;padding:22px 0}
.faq-list summary span{color:#526d82;font-size:23px}
.faq-list details p{font-size:12px;line-height:1.8}

.contact{background:#e9eef1;color:var(--ink);padding-block:70px;gap:90px;grid-template-columns:1fr 1fr}
.contact:before{display:none}
.contact-main h2{font-size:clamp(48px,5.2vw,74px);line-height:1.1;letter-spacing:-.045em;margin:0}
.contact-main>p{color:#576875;font-size:14px;margin-top:18px}
.contact-main>.button{margin-top:27px;min-width:190px}
.listing-card{background:white;color:var(--ink);transform:none;box-shadow:none;border:1px solid #d7dfe4;border-radius:4px;padding:26px;max-width:370px}
.listing-card>.eyebrow{font:400 10px/1.5 var(--body);letter-spacing:0;text-transform:none;color:var(--muted)}
.listing-card>img{height:158px;border-radius:2px;margin-top:15px}
.listing-card h3{font:500 23px/1.15 var(--body);letter-spacing:-.6px}
.listing-card>p:not(.contact-status){font:400 10px/1.5 var(--body);color:#46657a;letter-spacing:.6px}
.listing-card dl>div{font-size:12px;border-color:#e0e6e9;padding:11px 0}
.listing-card .contact-status{font-size:10px;color:#5c6d79;border-color:#e0e6e9}
.js-motion .listing-card.reveal.is-visible{transform:none}
.site-footer{background:#fff;padding-block:32px 22px;gap:23px}
.site-footer>.brand>span{font:600 18px/1.2 var(--body);letter-spacing:-.6px}
.site-footer>.brand img{width:62px;height:42px}
.site-footer>a:last-of-type{font:400 11px/1.5 var(--body);letter-spacing:0}
.footer-bottom{font-size:10px;line-height:1.6;color:var(--muted)}

dialog{background:#fff;color:var(--ink);border:1px solid #d8dfe4;border-radius:5px}
dialog::backdrop{background:#14212bdc}
.icon-button{border-radius:3px;border-color:#afbdc8;color:var(--ink)}
.icon-button:hover{background:#365670;color:#fff;border-color:#365670}
.lightbox-stage{background:#f0f2f3;border-radius:0}
.lightbox-prev,.lightbox-next{background:#ffffffe3}
.lightbox-top>.eyebrow{font-family:var(--body);font-size:10px;letter-spacing:.3px;text-transform:none;color:#526674}
.lightbox-bottom h3{font:500 24px/1.2 var(--body);letter-spacing:-.5px}
.lightbox-bottom .eyebrow{font-family:var(--body);font-size:10px;letter-spacing:.3px;text-transform:none;color:#4c687d}
.lightbox-hint{font-family:var(--body);font-size:9px;letter-spacing:.4px;color:#60727f}
.lightbox-thumbs button{border-radius:2px;overflow:hidden}
.inquiry-dialog h2{font:500 44px/1.05 var(--body);text-transform:lowercase;letter-spacing:-.04em}
.inquiry-dialog h2 em{color:#47667e}
.inquiry-dialog>.eyebrow{font-size:10px;letter-spacing:.3px;color:#526b7d}
.inquiry-dialog label{font-size:12px}
.inquiry-dialog input,.inquiry-dialog select,.inquiry-dialog textarea{background:#fff;color:var(--ink);border-color:#b7c4cf;border-radius:3px;font-size:14px}
.inquiry-dialog>p{font-size:13px}
.inquiry-feedback{color:#365e7a}
.toast{color:white}

@media(min-width:1700px){.hero{height:min(52vw,calc(100svh - 86px));min-height:650px}.hero h1{font-size:78px}.hero-content{bottom:54px}}
@media(max-width:1200px){
  .site-header{gap:22px}.brand>span{font-size:18px}.desktop-nav{gap:26px}
  .hero{min-height:530px}.hero-content{bottom:35px}.hero h1{font-size:56px}
  .story-layout,.details-layout,.faq,.contact{gap:55px}.story-main{height:280px}.story-copy h2{font-size:41px}.gallery-photo .photo-frame{height:240px}.spec-content dl>div{font-size:11px}
}
@media(max-width:980px){
  .site-header{height:78px;gap:20px}.brand img{width:58px;height:39px}.brand{gap:12px}.brand>span{font-size:17px}.desktop-nav{gap:20px}.desktop-nav a{font-size:12px}.header-contact{font-size:11px;padding:9px 15px}.header-contact span{margin-left:15px}
  .hero{height:64vw;min-height:490px}.hero-content{bottom:32px;gap:23px}.hero h1{font-size:48px}.hero-overline{font-size:11px}.hero-title-group>p{font-size:12px}.hero-gallery-button{min-width:165px;font-size:11px;padding:13px 18px;gap:24px}
  .section-pad{padding-block:65px}.story-layout,.details-layout,.faq,.contact{gap:40px}.story-copy h2{font-size:36px}.story-copy>p{font-size:13px}.story-main{height:250px}.details-intro h2{font-size:35px}.spec-tabs{gap:23px}.spec-tabs button{font-size:11px}.spec-content dl>div{font-size:10px}.gallery-photo .photo-frame{height:215px}.faq-list summary{font-size:12px}.listing-card h3{font-size:20px}.listing-card{padding:21px}
}
@media(max-width:760px){
  :root{--gutter:24px}html{scroll-padding-top:76px}
  .site-header{height:76px;gap:14px}.brand{gap:11px}.brand img{width:55px;height:37px}.brand>span{font-size:17px;letter-spacing:-.6px}.header-contact{font-size:10px;padding:8px 12px;margin-left:auto}.header-contact span{font-size:17px;margin-left:8px}.menu-toggle{width:28px;padding-left:4px}.menu-toggle span{background:var(--ink);width:22px}.mobile-nav:not([hidden]){background:#fff;top:75px;border-color:var(--line)}.mobile-nav a{font:500 25px/1.3 var(--body);letter-spacing:-.7px}
  .hero{height:75svh;min-height:500px;max-height:760px;display:block;padding:0;margin:0;width:100%}.hero-media img{object-position:46% 50%}.hero:after{background:linear-gradient(180deg,transparent 42%,#0d172211 58%,#0d1722d6 100%)}.hero-content{bottom:29px;left:var(--gutter);right:var(--gutter);display:block}.hero h1{font-size:46px;line-height:1.08;letter-spacing:-.05em}.hero-overline{font-size:11px;margin-bottom:9px;letter-spacing:.5px}.hero-title-group>p{font-size:12px;margin-top:10px}.hero-gallery-button{margin-top:24px;min-width:176px;min-height:46px;font-size:12px;padding:12px 17px;gap:26px}.hero-gallery-button span{font-size:21px}
  .section-pad{padding-block:52px}.story-layout{grid-template-columns:1fr;gap:27px}.story-images{order:0;width:100%;margin:0;padding:0}.story-main{height:auto;aspect-ratio:16/10;width:100%;border-radius:2px}.story-copy{order:1;max-width:100%}.story-copy>.eyebrow{margin-bottom:12px;font-size:11px}.story-copy h2{font-size:37px;line-height:1.13}.story-copy>p{font-size:13px;max-width:400px;margin-top:16px}.story-copy>.text-link{margin-top:16px}.image-corner{font-size:10px;padding:28px 17px 14px}.section-kicker{font-size:11px;padding-bottom:20px}.section-kicker>span:last-child:not(:first-child){display:none}
  .details-layout{grid-template-columns:1fr;gap:31px}.details-intro h2{font-size:37px}.model-note{max-width:100%;margin-top:19px}.model-note p{font-size:11px}.source-link{font-size:11px;margin-top:13px}.spec-tabs{gap:30px}.spec-tabs button{font-size:12px}.spec-content dl>div{font-size:11px;padding:17px 0}.spec-content dd{max-width:67%}.spec-content .pending{font-size:10px}.spec-content small{font-size:9px}.spec-content{min-height:370px}.spec-footnote{font-size:10px}
  .gallery-heading{display:block}.gallery-heading h2{font-size:38px}.gallery-heading p{font-size:12px;margin-top:13px}.gallery-toolbar{margin-top:24px;display:block;padding-bottom:18px}.gallery-filters{gap:6px}.gallery-filters button{font-size:10px;padding:8px 12px}.gallery-filters button span{font-size:9px;margin-left:5px}#gallery-count{font-size:10px;margin-top:13px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px;margin-top:21px}.gallery-photo .photo-frame{height:240px;border-radius:2px}.gallery-photo .photo-caption{font-size:10px!important;line-height:1.5}.gallery-photo .photo-category{font-size:8px;top:9px;left:9px}.photo-caption small{display:none}.gallery-footer{align-items:center;margin-top:28px}.gallery-footer .button{width:auto;min-width:220px}
  .faq{grid-template-columns:1fr;gap:16px}.faq-intro h2{font-size:35px}.faq-list summary{font-size:12px;padding:21px 0;gap:23px}.faq-list details p{font-size:12px}.contact{grid-template-columns:1fr;gap:33px}.contact-main h2{font-size:50px}.contact-main>p{font-size:13px;margin-top:14px}.contact-main>.button{margin-top:22px;min-width:185px}.listing-card{justify-self:stretch;max-width:none;width:100%;padding:23px;transform:none}.listing-card>img{height:190px}.listing-card h3{font-size:23px}.listing-card dl>div{font-size:12px}.listing-card .contact-status{font-size:10px}
  .site-footer{padding-block:28px 22px;gap:20px}.site-footer>.brand>span{font-size:17px}.site-footer>.brand img{width:55px;height:37px}.site-footer>a:last-of-type{font-size:10px}.footer-bottom{font-size:9px;line-height:1.9}.lightbox{border-radius:0}.lightbox-bottom h3{font-size:20px}.lightbox-top>.eyebrow{font-size:9px;letter-spacing:0}.inquiry-dialog h2{font-size:40px}.inquiry-dialog input,.inquiry-dialog select,.inquiry-dialog textarea{font-size:16px}.inquiry-dialog>.eyebrow{font-size:9px}
}
@media(max-width:600px){.hero{height:calc(92svh - 76px);min-height:565px;max-height:780px}.hero-media img{object-position:50% 46%}}
@media(max-width:430px){
  :root{--gutter:21px}.site-header{gap:10px}.brand{gap:9px}.brand img{width:49px;height:34px}.brand>span{font-size:15px}.header-contact{font-size:9px;padding:8px 10px}.header-contact span{margin-left:6px}.hero h1{font-size:40px}.hero-title-group>p{font-size:11px}.hero-overline{font-size:10px}.hero-content{bottom:27px}.hero-gallery-button{margin-top:21px;font-size:11px;min-height:45px;min-width:166px}.hero{min-height:560px}.story-copy h2{font-size:34px}.story-main{aspect-ratio:4/3}.gallery-filters button{font-size:9px;padding-inline:10px}.gallery-filters button span{font-size:8px;margin-left:4px}.gallery-photo .photo-frame{height:210px}.details-intro h2,.gallery-heading h2{font-size:35px}.contact-main h2{font-size:46px}.spec-tabs{gap:27px}.site-footer>.brand>span{font-size:15px}.site-footer>.brand img{width:49px;height:34px}
}
@media(max-width:359px){
  :root{--gutter:18px}.brand img{width:43px;height:30px}.brand>span{font-size:14px}.brand{gap:8px}.site-header{gap:9px}.header-contact span{display:none}.header-contact{font-size:9px;padding:8px 10px}.hero h1{font-size:35px}.hero{min-height:530px}.hero-content{bottom:25px}.gallery-filters{gap:5px}.gallery-filters button{padding-inline:8px}.gallery-photo .photo-frame{height:185px}.spec-tabs{gap:23px}.spec-tabs button{font-size:11px}.spec-content dl>div{font-size:10px}.story-copy h2{font-size:31px}.listing-card{padding:18px}.listing-card h3{font-size:20px}.faq-intro h2{font-size:32px}
}
