.photo-button{position:relative;display:block;padding:0;border:0;background:#202920;width:100%;overflow:hidden;cursor:zoom-in;color:#f0f0e8}.photo-button img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .8s;filter:saturate(.7)}.photo-button:hover img{transform:scale(1.045);filter:saturate(.95)}.photo-enlarge{position:absolute;right:18px;bottom:18px;display:grid;place-items:center;width:36px;height:36px;border:1px solid #ffffff70;background:#18201a80;font-size:22px}.hero-photo-link{position:absolute;right:7vw;bottom:90px;z-index:4;border:1px solid #ffffff50;padding:10px 18px;color:var(--ink);background:#18201a90;font-size:14px}.hero .coordinates{display:none}.card{padding:0;display:grid;grid-template-rows:44px 230px 90px 1fr;min-height:480px;overflow:hidden}.card .number{padding:15px 25px}.card .arrow{top:7px;right:25px}.card .card-image{width:100%;height:230px}.card h3{margin:0;padding:23px 25px 0;font-size:34px;line-height:1.04;align-self:start}.card p{padding:18px 25px 25px;margin:0}.card .symbol{height:230px;margin:0;padding:50px}.page-hero.with-photo{display:grid;grid-template-columns:1.05fr 1fr;gap:5vw;align-items:center;padding-bottom:70px}.with-photo h1{font-size:clamp(52px,6vw,90px)}.page-photo{height:470px;clip-path:polygon(0 0,94% 0,100% 9%,100% 100%,6% 100%,0 91%)}.photo-detail{grid-template-columns:1fr 1.15fr;gap:0 6vw}.photo-detail>.eyebrow{grid-column:1/-1;margin-bottom:25px}.detail-photo{height:360px}.editorial-photo{margin:60px 0 0;grid-column:1/-1}.wide-photo{height:clamp(280px,42vw,620px)}figcaption{color:var(--muted);font-size:13px;margin-top:12px;letter-spacing:.5px}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:40px}.gallery-grid figure{margin:0}.gallery-grid figure:first-child{grid-column:1/-1}.gallery-grid .photo-button{height:360px}.gallery-grid figure:first-child .photo-button{height:560px}#photo-dialog{width:96vw;height:94svh;max-width:1800px;max-height:1100px;background:#101610;color:var(--ink);border:1px solid var(--line);padding:0}#photo-dialog::backdrop{background:#080e08ed;backdrop-filter:blur(10px)}.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 25px;border-bottom:1px solid var(--line);font-size:15px}.gallery-toolbar>div{display:flex;gap:10px}.gallery-toolbar button{height:44px;min-width:44px;border:1px solid var(--line);color:var(--ink);background:#253024;font-size:20px}.gallery-toolbar button:hover{background:var(--sand);color:var(--bg)}.photo-stage{height:calc(100% - 140px);display:flex;align-items:center;justify-content:center;overflow:auto;padding:18px}.photo-stage img{max-width:100%;max-height:100%;object-fit:contain}.photo-stage.zoomed{display:block}.photo-stage.zoomed img{max-width:none;max-height:none;width:180%;height:auto}.photo-caption{text-align:center;color:var(--muted);font-size:13px;padding:0 18px}.photo-button:focus-visible,.gallery-toolbar button:focus-visible{outline:2px solid var(--sand);outline-offset:4px}@media(max-width:900px){.card{grid-template-rows:44px 190px 100px 1fr}.card .card-image{height:190px}.card h3{font-size:30px}.page-photo{height:420px}.page-hero.with-photo{gap:30px}}@media(max-width:650px){.hero-photo-link{right:7vw;bottom:80px;font-size:12px}.page-hero.with-photo{grid-template-columns:1fr;padding-bottom:35px;gap:30px}.page-photo{height:300px}.card{grid-template-rows:44px 240px 90px 1fr}.card .card-image{height:240px}.card h3{font-size:34px}.photo-detail{grid-template-columns:1fr;gap:25px}.photo-detail>.eyebrow{grid-column:auto;margin-bottom:0}.detail-photo{height:270px}.gallery-grid{grid-template-columns:1fr;gap:28px}.gallery-grid figure:first-child{grid-column:auto}.gallery-grid .photo-button,.gallery-grid figure:first-child .photo-button{height:300px}.gallery-toolbar{padding:12px;flex-direction:column;align-items:start;gap:10px}.gallery-toolbar>div{width:100%;justify-content:flex-end}.photo-stage{height:calc(100% - 190px);padding:10px}.gallery-toolbar>span{font-size:13px}}@media(prefers-reduced-motion:reduce){.photo-button img{transition:none}}

/* Quiet night photography with original linear route accents. */
.hero-flow{position:absolute;z-index:1;left:39%;bottom:100px;width:54%;pointer-events:none;stroke:var(--sand);stroke-width:1;opacity:.45}.flow-base{opacity:.3}.flow-travel{stroke-dasharray:70 650;animation:route-flow 10s linear infinite}.section,.page-hero{position:relative}.section:after,.page-hero:after{content:'';position:absolute;left:7vw;bottom:26px;width:clamp(100px,22vw,340px);height:1px;pointer-events:none;background:linear-gradient(90deg,transparent,#c4bf9b80,transparent) -100px 0/100px 1px no-repeat;border-bottom:1px solid #c4bf9b12;animation:section-flow 12s linear infinite}.section:nth-of-type(2n):after{left:auto;right:7vw;animation-delay:-6s}.section:nth-of-type(3n):after{animation-delay:-3s}@keyframes route-flow{to{stroke-dashoffset:-720}}@keyframes section-flow{to{background-position:350px 0}}@media(max-width:1100px){.hero-flow{left:37%;width:58%;bottom:100px}}@media(max-width:650px){.hero-flow{left:24%;width:70%;bottom:115px;opacity:.3}.section:after,.page-hero:after{bottom:20px}}@media(prefers-reduced-motion:reduce){.flow-travel{stroke-dasharray:none;opacity:.2}.section:after,.page-hero:after{background-position:center}}

/* Keep route lines below content in their own background layer. */
.hero-flow{z-index:0}.section,.page-hero{isolation:isolate}.section:after,.page-hero:after{z-index:-1}

.hero{background-position:72% center}@media(max-width:650px){.hero{background-position:92% center}}
@media(prefers-reduced-motion:reduce){.flow-travel,.section:after,.page-hero:after{animation:none}}

.vehicle-explorer{grid-column:1/-1;margin-top:42px;border:1px solid #c4bf9b35;background:#18221b}.viewer-heading{padding:30px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:35px}.viewer-heading h3{font-size:36px;margin:18px 0 0}.viewer-heading p{font-size:14px;margin:0;max-width:480px}.viewer-placeholder{position:relative;height:470px;overflow:hidden;background:#151e18}.viewer-placeholder img{width:100%;height:100%;object-fit:cover;filter:brightness(.5) saturate(.6)}.viewer-placeholder .button{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);white-space:nowrap}.vehicle-frame{display:block;border:0;border-top:1px solid #c4bf9b25;width:100%;height:620px;background:#161e19}@media(max-width:650px){.viewer-heading{padding:22px;grid-template-columns:1fr;gap:20px}.viewer-heading h3{font-size:32px}.viewer-placeholder{height:350px}.vehicle-frame{height:470px}}
