/* Current editorial system. Native page scrolling; no shaped photo masks. */
:root{--forest-deep:#092a23;--forest-black:#061d18;--paper:#f4f1e9;--cream:#f4f1e9;--ink:#102e26;--gold:#d8c39a}
html{scroll-padding-top:100px}
body{background:var(--paper)}
main{overflow:clip}
a,button{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.button,.nav-cta{min-height:46px;transition:background .25s,color .25s,transform .25s}
.button:hover{transform:translateY(-2px)}
.eyebrow,.v3-overline,.exp-head,.v7-scene-nav{font-family:'DM Sans',sans-serif;font-size:10px;letter-spacing:.13em;line-height:1.6;text-transform:uppercase}
h2{font-weight:400;text-wrap:balance}
.v2-section h2{font-size:clamp(3.2rem,5.4vw,6.3rem);line-height:.98;letter-spacing:-.04em}
.v2-section h2 em,.v3-land h2 em{white-space:normal}
.v2-section{padding-block:clamp(76px,9vw,144px)}
.v2-section p,.v7-place-intro p{line-height:1.75}
.v2-section-head{max-width:850px}
.v2-section-head>p:last-child{max-width:57ch}
/* Opener: quiet utility typography supports the display and handwritten pair. */
.era-hero{height:140svh}
.era-hero-center{inset:21% var(--gutter) 16%}
.era-hero-title{letter-spacing:-.055em;font-weight:400;line-height:.8}
.era-hero-title span{width:auto;margin-left:0;transform:none}
.era-hero-title i{font-size:.54em;line-height:1.1}
.era-hero-aside{font-size:8px;letter-spacing:.11em}
.era-hero-cta{padding-block:15px;border-bottom:1px solid currentColor}
.v2-factbar{padding-block:32px;background:var(--forest-black)}
.v2-fact-grid strong{font-family:var(--display);font-size:clamp(2rem,3.5vw,3.4rem);font-weight:400}
.v2-quicknav{background:var(--paper);border-bottom:1px solid #102e2626;padding:0}
.v2-quicknav .container{display:flex;flex-wrap:wrap;justify-content:center;gap:0 32px}
.v2-quicknav a{padding:18px 0;font-size:11px}
/* Introduction runs across an editorial grid, then opens onto full-bleed scenes. */
.v7-place-intro{padding:100px 0 85px;background:var(--forest-deep);color:var(--cream)}
.v7-intro-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:32px 10vw;align-items:end}
.v7-intro-grid>.eyebrow{grid-column:1/-1;margin:0}
.v7-intro-grid h2{font-size:clamp(4.6rem,8vw,9rem);line-height:.87;letter-spacing:-.055em;margin:0}
.v7-intro-grid h2 em{font-family:var(--hand);font-weight:400;color:var(--gold)}
.v7-intro-grid>div{max-width:43ch}
.v7-intro-grid .v3-underline{color:var(--cream);margin-top:18px}
.exp-section{background:var(--forest-black)}
.exp-panel,.has-experience-motion .exp-panel{grid-template-columns:1fr;isolation:isolate;overflow:hidden}
.exp-panel{position:relative;min-height:85svh}
.exp-panel img,.has-experience-motion .exp-panel img{position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:cover;object-position:50% 65%;z-index:-2}
.exp-panel::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(4,22,17,.82),rgba(4,22,17,.30) 65%),linear-gradient(0deg,rgba(4,22,17,.5),transparent 50%)}
.exp-panel-copy,.has-experience-motion .exp-panel-copy{align-self:center;max-width:850px;padding:130px var(--gutter);color:var(--cream)}
.exp-panel h2{font-size:clamp(5rem,9vw,10rem);line-height:.9;margin:28px 0;letter-spacing:-.05em}
.exp-panel h2 em{display:block;color:var(--gold);font-family:var(--hand);font-weight:400}
.exp-panel-copy p{max-width:34ch;font-size:16px;line-height:1.7}
.exp-panel-copy .button{margin-top:24px}
.exp-head{padding:22px var(--gutter);color:var(--cream)}
.has-experience-motion .exp-section{height:280svh}
.has-experience-motion .exp-panel-copy{opacity:var(--copy-opacity,1)}
.has-experience-motion .exp-progress{bottom:0;height:2px;background:#ffffff26;margin:0;width:100%}
.has-experience-motion .exp-progress span{display:block;width:100%;height:2px;transform:scaleX(var(--story-progress,0));transform-origin:left;background:var(--gold)}
.v7-scene-nav{display:none}
.has-experience-motion .v7-scene-nav{position:absolute;bottom:28px;left:var(--gutter);right:var(--gutter);display:flex;gap:30px;z-index:5;color:var(--cream)}
.v7-scene-nav a{padding:12px 0;color:inherit;text-decoration:none;border-bottom:1px solid #ffffff50;min-width:100px}
.v7-scene-nav a[aria-current="step"]{border-color:var(--gold);color:var(--gold)}
.v7-scene-nav span{margin-left:0}
.v7-scene-nav .v7-skip{margin-left:auto;text-align:right}
/* Image composition: open edges, no decorative frames, arches, or overlapping cards. */
.v2-site-photos{padding:0;gap:24px;align-items:start;isolation:auto}
.v2-site-photos img,.v2-site-photos img:last-child{position:static;left:auto;top:auto;width:100%;height:auto;max-height:650px;object-fit:cover;aspect-ratio:3/4;border-radius:0;box-shadow:none!important}
.v2-site-photos img:last-child{margin-top:100px}
.v2-image-card,.v2-photo,.v3-project-image{border:0;border-radius:0;box-shadow:none;background:transparent;padding:0}
.v2-image-card img{border-radius:0;width:100%;height:clamp(420px,50vw,730px);object-fit:cover}
.v2-split:has(>.v2-image-card){gap:clamp(40px,8vw,140px)}
.v7-managed .v2-split{width:100%;max-width:none;padding-left:var(--gutter);padding-right:0;grid-template-columns:1fr 1.2fr}
.v7-managed .v2-image-card{margin-block:-40px}
.v7-managed .v2-image-card img{height:720px;object-position:center}
.v3-project-image img{border-radius:0;max-height:760px}
.v3-land{padding-block:100px}
.v3-land h2{font-size:clamp(4rem,7vw,8rem);line-height:.95}
.v3-plan-frame{margin-top:65px;gap:4vw}
.v3-plan-frame figure{padding:0;background:transparent;border:0}
.v3-plan-frame img{object-fit:contain;height:auto;max-height:720px;background:#fff}
.v3-plan-label strong{font-weight:400}
.v2-cost-grid{gap:0;border-top:1px solid #102e2633;border-bottom:1px solid #102e2633}
.v2-cost-grid article{background:transparent;border:0;box-shadow:none;border-radius:0;padding:32px 28px 32px 0;margin-right:28px}
.v2-cost-grid article+article{border-left:1px solid #102e2633;padding-left:28px}
.v2-cost-grid strong{font-family:var(--display);font-size:clamp(1.9rem,2.4vw,2.8rem);font-weight:500;line-height:1.15}
.v2-review-list li{padding-block:27px;border-bottom:1px solid #102e2633}
.v2-review-list strong{font-family:var(--display);font-size:1.8rem;font-weight:500}
.v2-faq details{padding-block:22px}
.v2-faq summary{font-size:18px;line-height:1.5}
.v2-enquiry{background:#e9e8de}
.form-shell{box-shadow:none;border:1px solid #102e2626;border-radius:0;background:var(--paper);padding:clamp(24px,4vw,56px)}
.form-shell h2{font-size:clamp(2.6rem,4vw,4rem)}
.form-grid{gap:22px}
.field input,.field select{border-radius:0;min-height:50px;background:transparent;border:0;border-bottom:1px solid #102e2666}
.field label{font-size:12px}
.gallery-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:90px 32px;align-items:start}
.gallery-item.large,.gallery-item.tall,.gallery-item.half{grid-column:span 7;height:auto;min-height:0}
.gallery-item:nth-child(even){grid-column:span 5;margin-top:120px}
.gallery-item:nth-child(3n){grid-column:1/-1;margin-top:0}
.gallery-open,.gallery-item.tall .gallery-open,.gallery-item.half:nth-child(even) .gallery-open{border-radius:0;overflow:hidden;height:auto;flex:auto}
.gallery-item img,.gallery-item.tall img,.gallery-item.half:nth-child(even) img{border-radius:0;height:auto;width:100%;max-height:780px;object-fit:cover}
.gallery-caption{font-size:12px;line-height:1.6;padding-top:15px}
.inner-hero h1{font-size:clamp(3.5rem,6.1vw,7rem);max-width:17ch;line-height:.96;letter-spacing:-.045em}
.site-footer{background:var(--forest-black)}
.footer-brand .word{font-size:clamp(3rem,4vw,5rem);line-height:1.05;letter-spacing:-.025em}
/* Photographic expansion is geometry-based and never changes the page's scroll owner. */
.v7-photo-reveal{clip-path:inset(0 var(--photo-inset,0%) 0 var(--photo-inset,0%));transition:none}
@media(max-width:1000px){.has-experience-motion .v7-scene-nav{gap:18px}.v7-scene-nav a{min-width:70px}.v7-managed .v2-image-card img{height:580px}}
@media(max-width:820px){
 .era-hero{height:115svh}.era-hero-center{inset:27% 20px 20%}.era-hero-title{font-size:clamp(4rem,13.7vw,7rem)}
 .v7-place-intro{padding:75px 0}.v7-intro-grid{grid-template-columns:1fr;gap:30px}.v7-intro-grid h2{font-size:clamp(4.5rem,12vw,7rem)}
 .v7-intro-grid>div{max-width:55ch}.v7-intro-grid>.eyebrow{grid-column:auto}
 .exp-head{display:flex;gap:20px}.exp-head span:last-child{font-size:9px}.exp-head span:last-child::after{content:none}
 .exp-panel{min-height:76svh;margin:0;display:grid}.exp-panel-copy{padding:85px var(--gutter);max-width:100%}
 .exp-panel img{height:100%;grid-row:auto}.exp-panel h2{font-size:clamp(4.5rem,13vw,7rem)}
 .v7-managed .v2-split{grid-template-columns:1fr;padding:0 var(--gutter)}.v7-managed .v2-image-card{margin:25px calc(-1 * var(--gutter)) 0}.v7-managed .v2-image-card img{height:65svh}
 .v2-site-photos{gap:16px}.v2-site-photos img:last-child{margin-top:60px}
 .v2-cost-grid article{margin:0;padding:24px 0}.v2-cost-grid article+article{border-left:0;border-top:1px solid #102e2633;padding:24px 0}
 .gallery-grid{gap:45px 20px}.gallery-item:nth-child(even){margin-top:65px}
}
@media(max-width:580px){
 .era-hero-title span{width:auto;margin-left:0;transform:none}.era-hero-title{font-size:13.7vw}.era-hero-title i{font-size:.66em;margin-top:.15em}
 .era-hero-bottom{bottom:35px}.v2-section{padding-block:70px}.v2-section h2{font-size:3.2rem}.v2-quicknav .container{gap:0 22px;justify-content:flex-start}.v2-quicknav a{padding-block:12px}
 .v2-fact-grid strong{font-size:2rem}.v3-land{padding-block:70px}.v3-land h2{font-size:3.8rem}.v3-plan-frame{margin-top:40px}
 .v2-site-photos{grid-template-columns:1fr}.v2-site-photos img:last-child{margin-top:0}.v2-site-photos img{max-height:580px}
 .gallery-grid{display:block}.gallery-item.large,.gallery-item.tall,.gallery-item.half{margin:0 0 44px;height:auto;min-height:0}
 .gallery-item img{max-height:620px}.form-shell h2{font-size:2.7rem}.footer-bottom{margin-top:50px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}.v7-photo-reveal{clip-path:none!important}
 .has-experience-motion .v7-scene-nav{display:none}.has-experience-motion .exp-panel-copy{opacity:1}.era-hero{height:100svh}
}
@media(max-height:650px) and (min-width:821px){.exp-panel h2{font-size:4.5rem;margin:14px 0}.exp-panel-copy,.has-experience-motion .exp-panel-copy{padding-top:105px;padding-bottom:90px}.exp-panel-copy p{font-size:14px}.has-experience-motion .exp-head{display:none}}
/* Clear inherited two-row panel grids and keep short landscape screens readable. */
.exp-panel,.has-experience-motion .exp-panel{grid-template-rows:1fr}
.v2-fact-grid span{line-height:1.5}
@media(min-width:581px) and (max-width:820px){.v2-cost-grid{grid-template-columns:1fr}.v2-cost-grid article:last-child{grid-column:auto}}
@media(forced-colors:active){.exp-panel::after{background:Canvas}.exp-panel-copy{color:CanvasText}.v7-scene-nav a{border:1px solid LinkText}}
