/* Frontier home: photographs first, a clear route to the shop. */
:root{--ink:#202821;--forest:#263b31;--deep:#1c2821;--cream:#f5f2ea;--paper:#ebe7dd;--muted:#59635a;--line:#c9c8bd;--accent:#a3523d}
::selection{background:#d6ac94;color:#1d2520}
.hero{height:calc(100svh - 84px);min-height:570px;max-height:900px}
.hero-image{object-position:center 54%;animation:none;transform:scale(calc(1.01 + var(--home-progress,0)*.04))}
.hero-shade{background:linear-gradient(90deg,#0f1712b8,#0f171242 58%,#0f17121f),linear-gradient(0deg,#0f171294,transparent 43%)}
.hero-content{height:100%;width:75%;padding:60px var(--gutter) 110px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.hero .eyebrow{letter-spacing:.12em}.hero h1{font-size:clamp(94px,11.3vw,164px);line-height:.87;letter-spacing:-.055em;margin:32px 0 26px}.hero h1 em{color:#e6cfb7;font-style:italic}
.hero-description{font:17px/1.6 var(--sans);color:#f6f3eb;max-width:360px;margin-bottom:28px}.hero .button{font-size:14px}
.hero-footer{border-top:1px solid #ffffff66;padding-top:15px;bottom:24px;font-size:10px;letter-spacing:.09em}.hero-photo-label{display:none}
.intro{padding:clamp(64px,8vw,115px) var(--gutter);background:var(--cream)}
.intro-grid{grid-template-columns:1.2fr 1fr;gap:8%;align-items:end}.intro-grid>div{margin:0;max-width:none}.intro .eyebrow{margin-bottom:24px;color:#975039}.intro h2{font-size:clamp(46px,5vw,76px);line-height:1.03;letter-spacing:-.045em}.intro h2 em{color:#a3523d;font-style:italic}.intro-grid p:not(.eyebrow){font:16px/1.8 var(--sans);color:#465046;margin:0;max-width:510px}
.service-paths{display:grid;grid-template-columns:1fr 1fr;gap:6%;margin-top:48px}.service-paths>a{position:relative;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 40px 25px 0}.service-paths>a>span{font:32px/1.2 var(--display);letter-spacing:-.02em}.service-paths p{font-size:14px;margin-top:10px}.service-paths svg{position:absolute;right:0;top:32px}.service-paths a:hover{border-bottom-color:var(--forest)}
.work{background:#eae6db;padding:clamp(64px,8vw,110px) var(--gutter)}
.section-heading{margin-bottom:30px}.section-heading h2{font-size:clamp(55px,6vw,88px);letter-spacing:-.04em}.section-heading h2 em{font-style:italic;color:#a3523d}.section-heading .eyebrow{margin-bottom:20px}.project-grid{gap:40px 30px}.project-card,.project-card.project-wide{grid-column:span 3}.project-image{background:#d3d0c6;height:clamp(310px,35vw,530px)}.project-card[data-shape=portrait] .project-image{aspect-ratio:auto}.project-image img{object-fit:cover;transition:transform .5s ease}.project-card:hover .project-image img{transform:scale(1.025)}.project-caption{border-top:1px solid #a7a99d;margin-top:14px;padding-top:14px}.project-caption h3{font-family:var(--display);letter-spacing:-.025em;font-size:32px}.gallery-footnote{border-top:1px solid var(--line);padding-top:18px}.filters button{font-size:14px;min-height:44px}
.vision-story{background:var(--cream);padding:clamp(64px,8vw,115px) var(--gutter)}
.vision-heading{display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:end}.vision-heading .eyebrow{margin-bottom:24px;color:#975039}.vision-heading h2{font-size:clamp(55px,6.5vw,96px);line-height:.95;letter-spacing:-.045em}.vision-heading h2 em{font-style:italic;color:#a3523d}.vision-heading>div>p:not(.eyebrow){font:16px/1.75 var(--sans);color:#465046;max-width:470px}.vision-heading .text-link{margin-top:22px}.vision-grid{display:grid;grid-template-columns:1fr 1fr;gap:6%;margin-top:44px;align-items:center}.vision-grid figure{margin:0}.vision-plan{background:#fff;padding:clamp(20px,3vw,40px)}.vision-plan-meta{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #c7c6bb;padding-bottom:16px;font-size:10px;font-weight:600;letter-spacing:.07em}.vision-plan img{height:auto;object-fit:contain;margin:20px auto}.vision-grid figcaption{font-size:12px;line-height:1.6;color:#59635a;padding-top:16px}.vision-plan figcaption{border-top:1px solid #c7c6bb}.vision-result img{height:auto;aspect-ratio:4/4.5;object-fit:cover;object-position:center 58%}.related-note{margin-top:24px}
.approach{display:block;background:#263b31;color:#f5f2ea;padding:clamp(64px,8vw,110px) var(--gutter)}.approach .eyebrow{color:#e5c6ad;margin-bottom:22px}.approach h2{font-size:clamp(46px,5.3vw,76px);letter-spacing:-.04em}.approach h2 em{font-style:italic;color:#e5c6ad}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin:42px 0 20px}.steps li{display:block;border-top:1px solid #c7cdbf66;padding-top:22px}.steps li>span{color:#d6b79f;font-size:12px}.steps h3{font-size:18px;margin:20px 0 12px;color:#fff}.steps p{font-size:15px;line-height:1.7;color:#e0e5da}.approach .text-link{color:#f5f2ea;border-color:#c7cdbf66}
.contact{background:#a3523d;color:#fff;padding:clamp(64px,8vw,115px) var(--gutter)}.contact-grid{grid-template-columns:1.15fr 1fr;gap:8%;margin:0;align-items:start}.contact .eyebrow{color:#f5dfd1;margin-bottom:24px}.contact h2{font-size:clamp(58px,6.4vw,96px);letter-spacing:-.045em;line-height:1}.contact h2 em{font-style:italic;color:#efd2bb}.contact-intro{font-size:17px;line-height:1.7;color:#fff;max-width:420px;margin:24px 0}.contact-call{display:inline-flex;gap:24px;align-items:center;font:32px/1.5 var(--display);border-bottom:1px solid #ffffff66;padding:6px 0}.contact-people>div{padding:22px 0 26px;border-top:1px solid #ffffff66}.contact-people>div>p{font-size:12px;color:#f3dfd3;margin-bottom:12px}.contact-people h3{font-size:21px;color:#fff;margin:0 0 17px;font-weight:500}.contact-people h3 span{display:block;font-size:13px;font-weight:400;margin-top:6px;color:#f3dfd3}.contact-people>div>a{display:flex;align-items:center;gap:20px;font-size:15px;min-height:44px;width:fit-content;border-bottom:1px solid #ffffff66}.contact-people small{display:block;font-size:12px;color:#f3dfd3;margin-top:9px;overflow-wrap:anywhere}.contact-location{font-size:13px;line-height:1.8;color:#f3dfd3;margin-top:8px}.contact-location a{text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.arrow-icon{display:inline-block;width:18px;height:18px;flex:none;vertical-align:middle}.gallery-arrow{display:grid;place-items:center}.gallery-arrow .arrow-icon{width:20px;height:20px}
@media(max-width:900px){.hero{height:calc(100svh - 72px)}.hero-content{width:85%}.intro-grid{grid-template-columns:1fr;gap:28px}.intro-grid>div{max-width:none}.intro-grid p:not(.eyebrow){max-width:640px}.contact-grid{gap:6%}.steps{gap:24px}}
@media(max-width:700px){.vision-heading,.vision-grid{grid-template-columns:1fr;gap:30px}.vision-grid{margin-top:32px}.vision-result img{aspect-ratio:4/4.2}.contact-grid{grid-template-columns:1fr;gap:40px}.steps{grid-template-columns:1fr;gap:0}.steps li{display:grid;grid-template-columns:30px 1fr;gap:20px;padding:20px 0}.steps h3{margin:0 0 8px}.steps li>span{padding-top:3px}}
@media(max-width:600px){.hero{height:calc(100svh - 68px);min-height:580px;max-height:800px}.hero-content{width:100%;padding:65px var(--gutter) 100px}.hero h1{font-size:clamp(82px,22vw,125px)}.hero-description{font-size:16px}.hero-image{object-position:58% center}.hero-shade{background:linear-gradient(90deg,#101a15bf,#101a1547 95%),linear-gradient(0deg,#101a15a6,transparent 45%)}.hero-footer{font-size:8px;letter-spacing:.04em;gap:18px}.hero-footer>span{max-width:140px;line-height:1.6}.hero-footer a{gap:12px;max-width:125px;text-align:right}.intro h2{font-size:clamp(42px,10.8vw,62px)}.service-paths{grid-template-columns:1fr;gap:0;margin-top:32px}.service-paths>a+ a{border-top:0}.service-paths>a>span{font-size:30px}.service-paths p{font-size:14px}.project-grid{gap:32px}.project-image{height:auto;aspect-ratio:4/3}.project-card[data-shape=portrait] .project-image{aspect-ratio:4/4.5}.project-caption h3{font-size:29px}.section-heading h2{font-size:clamp(50px,12vw,70px)}.filters{gap:22px}.filters button{font-size:13px}.vision-heading h2{font-size:clamp(52px,12vw,76px)}.contact h2{font-size:clamp(55px,13vw,78px)}.contact-people h3{font-size:21px}}
/* The commercial opening pairs a direct invitation with the full bar composition. */
.hero{background:#253c32;overflow:hidden}
.hero-image{left:auto;right:0;width:54%;object-position:center 60%;transform:none}
.hero-shade{display:none}
.hero-content{width:46%;padding:52px 4.5vw 105px;position:relative;z-index:2}
.hero h1{font-size:clamp(60px,6.4vw,104px);line-height:1;letter-spacing:-.045em;margin:28px 0 26px}
.hero .eyebrow{font-size:10px;letter-spacing:.1em;line-height:1.6}
.hero .short-rule{display:none}
.hero-description{font-size:16px;line-height:1.75;max-width:360px;color:#e6e9e0;margin-bottom:26px}
.hero-actions{display:flex;align-items:flex-start;flex-direction:column;gap:14px}
.hero .button{font-size:13px;padding:17px 20px;gap:20px;min-height:52px}
.hero-project-link{display:flex;align-items:center;gap:16px;min-height:44px;font-size:13px;text-decoration:none;border-bottom:1px solid #e6e9e066;color:#e6e9e0}
.hero-project-link span{font-size:10px;color:#d5ba9e}
.hero-project-link:hover{border-color:#e6e9e0}
.hero-footer{width:37%;left:4.5vw;right:auto;gap:16px;font-size:8px;line-height:1.7;letter-spacing:.04em;bottom:24px}
.hero-footer>span{max-width:190px}.hero-footer a{gap:12px}
.hero-photo-label{display:block;position:absolute;right:30px;bottom:24px;font:10px/1.5 var(--sans);letter-spacing:.1em;color:white;text-shadow:0 1px 6px #000;background:#1b2a2199;padding:8px 12px}
.text-link .download-detail{font:11px var(--sans);color:#59635a;white-space:nowrap;margin-left:0}
.related-note{flex-wrap:wrap;gap:10px;max-width:100%}
@media(min-width:1400px){.hero-image{object-position:center 64%}}
@media(min-width:701px) and (max-width:1000px){.hero-content{width:48%;padding-inline:30px}.hero-image{width:52%}.hero h1{font-size:clamp(52px,6.5vw,65px)}.hero-description{font-size:15px}.hero .button{font-size:12px;padding-inline:15px;gap:14px}.hero-footer{left:30px;width:40%;font-size:7px}}
@media(max-width:700px){.hero-image{width:100%;object-position:center 58%}.hero-shade{display:block;background:linear-gradient(90deg,#0b2119e8,#0b21199c 60%,#0b21193d),linear-gradient(0deg,#0b2119c9,transparent 70%)}.hero-content{width:100%;padding:44px var(--gutter) 96px}.hero h1{font-size:clamp(54px,12.9vw,88px);line-height:1.02;max-width:100%;margin:24px 0}.hero-description{font-size:16px;max-width:350px;line-height:1.65}.hero .button{font-size:13px;gap:18px}.hero-footer{left:var(--gutter);width:calc(100% - var(--gutter)*2);font-size:8px}.hero-footer>span{max-width:180px}.hero-photo-label{display:none}.hero-project-link{font-size:13px}.hero .eyebrow{font-size:9px}}
@media(prefers-reduced-motion:reduce){.hero-image,.project-card:hover .project-image img{transform:none!important}}
