@font-face{font-family:Newsreader;src:url('../assets/fonts/Newsreader.ttf') format('truetype');font-display:swap}
@font-face{font-family:Hanken;src:url('../assets/fonts/HankenGrotesk.ttf') format('truetype');font-display:swap}
:root{--paper:#eeede8;--ink:#252924;--olive:#5c6857;--soft:#dddcd3;--line:#c9cbc1;--serif:Newsreader,Georgia,serif;--sans:Hanken,Arial,sans-serif;--scale:1;--space:1;--motion:1}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 calc(16px * var(--scale))/1.55 var(--sans)}img{display:block;max-width:100%;height:auto}a{color:inherit}button{font:inherit}h1,h2,h3,p,figure,blockquote{margin:0}h1,h2,h3,blockquote{font-family:var(--serif);font-weight:400;line-height:1.08;text-wrap:balance}p{ text-wrap:pretty }.shell{width:min(calc(100% - 64px),1320px);margin-inline:auto}section[id],span[id]{scroll-margin-top:90px}.skip-link{position:fixed;top:-100px;left:12px;z-index:100;padding:12px;background:var(--paper)}.skip-link:focus{top:12px}:focus-visible{outline:3px solid var(--olive);outline-offset:4px}.site-header{position:relative;z-index:5;border-bottom:1px solid var(--line)}.header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font:400 30px/1 var(--serif);text-decoration:none;white-space:nowrap}.brand em{font-style:italic}.site-header nav{display:flex;align-items:center;gap:clamp(16px,2.5vw,38px)}.site-header nav a,.header-action{font-size:12px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;font-weight:600;white-space:nowrap}.site-header nav a:hover{text-decoration:underline;text-underline-offset:5px}.header-action{min-height:44px;display:inline-flex;align-items:center;border-bottom:1px solid var(--ink)}
.hero{position:relative;min-height:690px;display:flex;align-items:center}.hero-image{position:absolute;right:0;top:0;width:53%;height:100%;object-fit:cover;object-position:center}.hero-shade{display:none}.hero-content{position:relative;padding-block:calc(100px * var(--space));padding-right:57%;z-index:1}.eyebrow,.scroll-label{display:block;color:var(--olive);font-size:11px;letter-spacing:.17em;text-transform:uppercase;font-weight:600}.hero h1{font-size:clamp(66px,7.2vw,122px);letter-spacing:-.055em;line-height:.95;margin:28px 0 32px}.hero-intro{max-width:48ch;line-height:1.68}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 24px;background:var(--ink);color:var(--paper);text-decoration:none;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.button:hover{background:var(--olive)}.button-light{margin-top:32px}.scroll-label{margin-top:54px}
.opening{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.32fr);align-items:end;gap:45px;padding-block:calc(140px * var(--space))}.opening p{font:400 clamp(44px,5.6vw,83px)/1.06 var(--serif);letter-spacing:-.035em;max-width:18ch}.opening span{border-top:1px solid var(--line);padding-top:15px;color:var(--olive);font-size:12px;text-transform:uppercase;letter-spacing:.13em}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:32px}.section-heading h2{font-size:clamp(46px,5.6vw,82px);letter-spacing:-.04em}.section-heading span{font-size:12px;max-width:24ch;text-align:right;color:var(--olive)}.gallery{padding-bottom:calc(160px * var(--space))}.gallery-stage{display:grid;grid-template-columns:minmax(0,1fr) 168px;gap:14px}.gallery-main{position:relative;min-width:0;overflow:hidden;background:var(--soft)}.gallery-main img{width:100%;height:620px;object-fit:cover;transition:transform calc(.25s * var(--motion)) ease-out}.gallery-main figcaption{position:absolute;bottom:0;left:0;background:var(--paper);padding:14px 20px;font:400 22px var(--serif)}.gallery-choices{display:grid;grid-template-rows:repeat(5,1fr);gap:9px}.thumb{position:relative;min-height:0;min-width:0;overflow:hidden;padding:0;border:0;background:var(--soft);cursor:pointer}.thumb img{height:100%;width:100%;object-fit:cover;filter:brightness(.73)}.thumb span{position:absolute;bottom:5px;left:7px;right:7px;color:#faf9f6;font-size:11px;text-align:left;text-shadow:0 1px 3px #252924;white-space:nowrap}.thumb:hover img,.thumb.is-active img{filter:brightness(1)}.thumb.is-active{outline:3px solid var(--olive);outline-offset:-3px}
.story{background:#e1e2da;padding-block:calc(110px * var(--space))}.story-strip{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 max(32px,calc((100vw - 1320px)/2)) 24px;scrollbar-color:var(--olive) transparent}.story-strip figure{flex:0 0 clamp(280px,28vw,390px);scroll-snap-align:center;min-width:0}.story-strip img{width:100%;height:360px;object-fit:cover}.story-strip figcaption{display:flex;justify-content:space-between;gap:12px;padding-top:12px;font-size:13px}.story-strip strong{font-weight:500}.story-strip span{color:var(--olive)}.story-strip.is-dragging{scroll-snap-type:none;user-select:none}.quote{padding-block:calc(170px * var(--space));text-align:center}.quote blockquote{font-size:clamp(42px,5vw,72px);letter-spacing:-.035em;max-width:19ch;margin:auto}.quote p{margin-top:28px;color:var(--olive);font-size:12px;text-transform:uppercase;letter-spacing:.12em}.packages{padding-bottom:calc(160px * var(--space))}.packages-intro{max-width:54ch;color:var(--olive);margin:18px 0 52px}.package-grid{border-top:1px solid var(--ink)}.package{display:grid;grid-template-columns:minmax(230px,.75fr) minmax(120px,.25fr) minmax(270px,1fr);gap:20px;align-items:start;border-bottom:1px solid var(--line);padding:30px 0}.package h3{font-size:clamp(30px,3vw,48px)}.price{font:400 28px var(--serif)}.package ul{list-style:none;margin:0;padding:0}.package li{border-bottom:1px solid var(--line);padding:5px 0 9px;font-size:14px}.package li:last-child{border-bottom:0}.enquire{background:var(--ink);color:var(--paper)}.enquire-inner{padding-block:calc(130px * var(--space));display:grid;justify-items:start}.enquire h2{font-size:clamp(56px,7vw,106px);max-width:13ch}.enquire p{max-width:57ch;margin:24px 0 30px}.enquire .button{background:var(--paper);color:var(--ink)}.email{margin-top:20px;text-decoration:underline;text-underline-offset:4px;font-size:14px}footer{background:#1a201c;color:var(--paper)}.footer-inner{padding-block:32px;font-size:13px}
/* Five different compositions keep the same complete page content. */
html[data-direction='2']{--paper:#f3f2ed;--olive:#69766a}html[data-direction='2'] .hero{display:block;min-height:0;padding-bottom:90px}html[data-direction='2'] .hero-image{position:relative;width:100%;height:min(64vw,650px);object-position:center 44%}html[data-direction='2'] .hero-content{padding:52px 0 0;text-align:center}html[data-direction='2'] .hero h1{font-size:clamp(70px,8vw,140px);margin:15px auto 23px;max-width:12ch}html[data-direction='2'] .hero-intro{margin:auto}html[data-direction='2'] .opening{display:block;text-align:center}html[data-direction='2'] .opening p{max-width:20ch;margin:auto}html[data-direction='2'] .opening span{display:block;width:max-content;max-width:100%;margin:30px auto 0}html[data-direction='2'] .gallery-stage{grid-template-columns:1fr}html[data-direction='2'] .gallery-main img{height:680px}html[data-direction='2'] .gallery-choices{display:flex;overflow-x:auto}html[data-direction='2'] .thumb{flex:0 0 170px;height:120px}html[data-direction='2'] .package{grid-template-columns:1fr 140px 1fr}
html[data-direction='3']{--paper:#ede9e1;--soft:#ded6c9}html[data-direction='3'] .site-header{background:#e4e0d8}html[data-direction='3'] .hero{min-height:770px}html[data-direction='3'] .hero-image{left:5%;right:auto;top:7%;height:84%;width:42%;object-fit:cover}html[data-direction='3'] .hero-content{padding-left:48%;padding-right:0}html[data-direction='3'] .hero h1{font-style:italic;font-size:clamp(69px,7.5vw,118px)}html[data-direction='3'] .opening{grid-template-columns:.34fr 1fr}html[data-direction='3'] .opening span{grid-column:1;grid-row:1}html[data-direction='3'] .opening p{grid-column:2;grid-row:1}html[data-direction='3'] .gallery-stage{grid-template-columns:170px minmax(0,1fr)}html[data-direction='3'] .gallery-choices{grid-column:1;grid-row:1}html[data-direction='3'] .gallery-main{grid-column:2;grid-row:1}html[data-direction='3'] .story{background:#d9d7cc}html[data-direction='3'] .package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;border:0}html[data-direction='3'] .package{display:block;border-top:1px solid var(--ink);padding:26px 0}html[data-direction='3'] .package h3{min-height:108px}html[data-direction='3'] .price{display:block;margin:15px 0}html[data-direction='3'] .package ul{border-top:1px solid var(--line);padding-top:15px}
html[data-direction='4']{--paper:#252924;--ink:#eeede8;--olive:#c8cfbc;--line:#69716b;--soft:#454b45}html[data-direction='4'] .site-header{color:#f5f3ed;background:#252924;border-color:#647168}html[data-direction='4'] .hero{min-height:860px;color:#f5f3ed}html[data-direction='4'] .hero-image{width:100%;height:100%;object-position:center 47%}html[data-direction='4'] .hero-shade{display:block;position:absolute;inset:0;background:linear-gradient(90deg,rgba(19,26,22,.78),rgba(19,26,22,.10) 78%)}html[data-direction='4'] .hero-content{padding-right:36%;padding-block:120px}html[data-direction='4'] .hero h1{font-size:clamp(80px,9vw,148px)}html[data-direction='4'] .hero .eyebrow,html[data-direction='4'] .hero .scroll-label{color:#f1eee3}html[data-direction='4'] .button-light{background:#f5f3ed;color:#252924}html[data-direction='4'] .opening{grid-template-columns:1fr}html[data-direction='4'] .opening p{max-width:22ch}html[data-direction='4'] .opening span{max-width:300px}html[data-direction='4'] .gallery-stage{grid-template-columns:1fr}html[data-direction='4'] .gallery-main img{height:760px}html[data-direction='4'] .gallery-choices{display:flex;overflow-x:auto}html[data-direction='4'] .thumb{flex:0 0 160px;height:115px}html[data-direction='4'] .story{background:#343b35}html[data-direction='4'] .quote{background:#e5e7dd;color:#252924}html[data-direction='4'] .enquire{background:#161e18}html[data-direction='4'] .enquire .button{color:#252924}
html[data-direction='5']{--paper:#f0f0e9;--olive:#506053;--soft:#d9ddd2}html[data-direction='5'] .site-header{border-bottom:2px solid var(--ink)}html[data-direction='5'] .brand{font-style:italic}html[data-direction='5'] .hero{min-height:730px}html[data-direction='5'] .hero-image{left:0;right:auto;width:48%}html[data-direction='5'] .hero-content{padding-left:54%;padding-right:0}html[data-direction='5'] .hero h1{font-size:clamp(65px,6.8vw,109px);letter-spacing:-.035em}html[data-direction='5'] .opening{grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}html[data-direction='5'] .gallery-stage{grid-template-columns:minmax(0,1fr) 220px}html[data-direction='5'] .gallery-main img{height:700px}html[data-direction='5'] .story-strip figure{flex-basis:clamp(310px,33vw,440px)}html[data-direction='5'] .story-strip img{height:400px}html[data-direction='5'] .package{grid-template-columns:1fr 150px 1.3fr}html[data-direction='5'] .package h3{font-family:var(--sans);font-weight:500;letter-spacing:-.04em}html[data-direction='5'] .enquire{background:#445348}
@media(max-width:1023px){.shell{width:min(calc(100% - 42px),1320px)}.header-inner{flex-wrap:wrap;min-height:78px;padding-block:12px}.site-header nav{order:3;justify-content:space-between;width:100%;gap:12px}.hero{min-height:670px}.hero h1{font-size:clamp(66px,8vw,95px)}.package{grid-template-columns:1fr 110px 1fr}html[data-direction='3'] .package-grid{gap:14px}html[data-direction='3'] .package h3{min-height:90px}}
@media(max-width:767px){.shell{width:calc(100% - 36px)}.header-inner{min-height:70px;gap:8px}.brand{font-size:27px}.site-header nav{overflow-x:auto;padding-block:7px}.site-header nav a,.header-action{font-size:11px;min-height:44px;display:inline-flex;align-items:center}.hero,html[data-direction='3'] .hero,html[data-direction='4'] .hero,html[data-direction='5'] .hero{display:flex;flex-direction:column;min-height:0}.hero-image,html[data-direction='3'] .hero-image,html[data-direction='4'] .hero-image,html[data-direction='5'] .hero-image{position:relative;inset:auto;width:100%;height:min(92vw,490px);object-fit:cover}.hero-shade,html[data-direction='4'] .hero-shade{display:none}.hero-content,html[data-direction='3'] .hero-content,html[data-direction='4'] .hero-content,html[data-direction='5'] .hero-content{padding:34px 0 65px;width:calc(100% - 36px)}.hero h1,html[data-direction='2'] .hero h1,html[data-direction='3'] .hero h1,html[data-direction='4'] .hero h1,html[data-direction='5'] .hero h1{font-size:clamp(56px,13vw,87px);line-height:.99;margin:17px 0 20px}.hero-intro{font-size:15px}.scroll-label{margin-top:32px}.opening,html[data-direction='2'] .opening,html[data-direction='3'] .opening,html[data-direction='4'] .opening,html[data-direction='5'] .opening{display:block;padding-block:80px}.opening p{font-size:clamp(40px,10vw,62px)}.opening span{display:block;margin-top:28px;max-width:270px}.section-heading{display:block}.section-heading h2{font-size:clamp(43px,10vw,65px)}.section-heading span{display:block;text-align:left;margin-top:10px}.gallery{padding-bottom:90px}.gallery-stage,html[data-direction='3'] .gallery-stage,html[data-direction='5'] .gallery-stage{display:block}.gallery-main img,html[data-direction='2'] .gallery-main img,html[data-direction='4'] .gallery-main img,html[data-direction='5'] .gallery-main img{height:min(110vw,540px)}.gallery-choices,html[data-direction='3'] .gallery-choices{display:flex;overflow-x:auto;gap:8px;margin-top:8px;padding-bottom:6px}.thumb,html[data-direction='2'] .thumb,html[data-direction='4'] .thumb{flex:0 0 116px;height:91px}.story{padding-block:76px}.story-strip{gap:12px;padding-left:18px;padding-right:18px}.story-strip figure,html[data-direction='5'] .story-strip figure{flex-basis:77vw}.story-strip img,html[data-direction='5'] .story-strip img{height:300px}.quote{padding-block:100px}.quote blockquote{font-size:clamp(39px,9vw,60px)}.packages{padding-bottom:85px}.package,html[data-direction='2'] .package,html[data-direction='5'] .package{display:block}.package h3,html[data-direction='3'] .package h3{min-height:0}.price{display:block;margin-top:8px}.package ul{margin-top:14px}html[data-direction='3'] .package-grid{display:block}.enquire-inner{padding-block:85px}.enquire h2{font-size:clamp(52px,11vw,78px)}.email{overflow-wrap:anywhere}html[data-direction='2'] .hero-image{height:min(92vw,490px)}html[data-direction='2'] .hero-content{text-align:left}html[data-direction='2'] .hero h1{max-width:none}html[data-direction='3'] .gallery-main{grid-column:auto;grid-row:auto}html[data-direction='3'] .gallery-choices{grid-column:auto;grid-row:auto}html[data-direction='4'] .hero{color:#f5f3ed}html[data-direction='4'] .hero-content{padding-inline:0}}
@media(max-width:374px){.site-header nav a,.header-action{font-size:10px}.brand{font-size:24px}.hero h1,html[data-direction='2'] .hero h1,html[data-direction='3'] .hero h1,html[data-direction='4'] .hero h1,html[data-direction='5'] .hero h1{font-size:54px}.section-heading h2{font-size:42px}.thumb span{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.gallery-main figcaption{text-transform:uppercase}
.hero-detail-image{display:none}
@media(min-width:768px){
  .gallery-stage{height:620px}.gallery-main img{height:100%}.gallery-choices{min-height:0}
  html[data-direction='2'] .gallery-stage,html[data-direction='4'] .gallery-stage{height:auto}
  html[data-direction='2'] .gallery-main img{height:680px}
  html[data-direction='4'] .gallery-main img{height:760px}
  html[data-direction='5'] .gallery-stage{height:700px}
  html[data-direction='1'] .hero-detail-image{display:block;position:absolute;z-index:2;right:46%;top:54%;width:15%;height:33%;object-fit:cover;border:7px solid var(--paper)}
  html[data-direction='3'] .hero-detail-image{display:block;position:absolute;z-index:2;left:36%;top:58%;width:17%;height:30%;object-fit:cover;border:8px solid var(--paper)}
  html[data-direction='5'] .hero-detail-image{display:block;position:absolute;z-index:2;left:40%;top:52%;width:17%;height:34%;object-fit:cover;border:7px solid var(--paper)}
}
@media(max-width:767px){
  .hero-image,html[data-direction='2'] .hero-image,html[data-direction='3'] .hero-image,html[data-direction='4'] .hero-image,html[data-direction='5'] .hero-image{height:230px}
  .hero-content,html[data-direction='2'] .hero-content,html[data-direction='3'] .hero-content,html[data-direction='4'] .hero-content,html[data-direction='5'] .hero-content{padding-top:24px;padding-bottom:40px}
  .hero h1,html[data-direction='2'] .hero h1,html[data-direction='3'] .hero h1,html[data-direction='4'] .hero h1,html[data-direction='5'] .hero h1{font-size:clamp(50px,12vw,72px);margin:12px 0 15px}
  .button-light{margin-top:20px}.scroll-label{margin-top:25px}
  html[data-direction='2'] .hero{display:flex;flex-direction:column-reverse;padding-bottom:0}html[data-direction='2'] .hero-content{order:1}html[data-direction='2'] .hero-image{order:2}
  html[data-direction='3'] .hero-image{width:calc(100% - 72px);margin:20px auto 0;height:290px}html[data-direction='3'] .hero-content{padding-top:32px}
  html[data-direction='5'] .hero-image{width:70%;align-self:flex-start;height:290px}
  html[data-direction='5'] .hero-detail-image{display:none}
}
@media(max-width:767px){html[data-direction='2'] .hero{flex-direction:column}html[data-direction='2'] .hero-content{order:0}html[data-direction='2'] .hero-image{order:1}}
/* Date enquiries retain the photographic folio's quiet rules and olive palette. */
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:32px}.hero-actions .button-light{margin:0}.portfolio-link,.package-enquiry{font-size:12px;letter-spacing:.08em;font-weight:600;text-decoration:underline;text-underline-offset:5px;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}.gallery-bridge{margin-top:28px}.quote .illustrative-feedback{font-size:11px;margin-top:12px;text-transform:none;letter-spacing:.03em}.package-enquiry{grid-column:3;padding-block:6px}.enquire-inner{grid-template-columns:minmax(0,1fr) minmax(0,540px);gap:clamp(48px,7vw,120px);align-items:start}.enquire-intro{min-width:0}.enquiry-flow{width:100%;min-width:0}.enquiry-flow h3{font-size:clamp(30px,3vw,40px);letter-spacing:-.025em}.enquire .demo-help{margin:18px 0 30px;font-size:15px;line-height:1.6;color:#c9cbc1;max-width:53ch}.enquiry-flow fieldset{margin:0;padding:0;border:0;min-width:0}.enquiry-field{margin-bottom:22px}.enquiry-field label{display:block;margin-bottom:8px;font-size:13px;font-weight:600;white-space:nowrap}.enquiry-field input,.enquiry-field select,.enquiry-field textarea{display:block;width:100%;min-width:0;border:1px solid #a5ad9e;border-radius:0;background:#eeede8;color:#252924;padding:12px 14px;font:400 16px/1.5 var(--sans)}.enquiry-field input,.enquiry-field select{min-height:50px}.enquiry-field textarea{resize:vertical}.enquiry-field input::placeholder{color:#62675f}.enquiry-field input:disabled{opacity:.5;cursor:not-allowed}.enquiry-flow :focus-visible{outline-color:#c8cfbc}.field-help{display:block;color:#c9cbc1;font-size:12px;margin-top:7px}.date-unsure{display:flex;align-items:center;gap:10px;margin:-8px 0 22px;min-height:44px}.date-unsure input{margin:0;width:20px;height:20px;accent-color:#c8cfbc}.date-unsure label{font-size:13px;white-space:nowrap}.enquire .enquiry-error{color:#f0c6b8;font-size:14px;margin:0 0 18px}.enquiry-flow .button{border:0;cursor:pointer}.enquiry-summary dl{margin:0 0 32px}.enquiry-summary dt{margin-top:20px;color:#c9cbc1;font-size:12px;font-weight:600;white-space:nowrap}.enquiry-summary dd{margin:5px 0 0;font-size:17px;white-space:pre-wrap;overflow-wrap:anywhere}.enquiry-summary dd.email-value{overflow-wrap:normal;white-space:normal}.summary-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px}.text-button{padding:12px 0;border:0;background:transparent;color:var(--paper);font-size:13px;text-decoration:underline;text-underline-offset:5px;cursor:pointer;min-height:44px;white-space:nowrap}.mobile-enquiry{display:none}[hidden]{display:none!important}
@media(max-width:1023px){.enquire-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px}.enquire h2{font-size:clamp(50px,7vw,80px)}}
@media(max-width:767px){.hero-actions{gap:20px;margin-top:20px}.enquire-inner{display:block}.enquire-intro{margin-bottom:44px}.enquiry-flow{max-width:540px}.package-enquiry{margin-top:14px}.mobile-enquiry{display:block;position:fixed;bottom:0;left:0;right:0;z-index:20;padding:8px 18px calc(8px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line)}.mobile-enquiry .button{display:flex;width:100%;min-height:46px}body{padding-bottom:calc(63px + env(safe-area-inset-bottom))}.enquire-inner{padding-bottom:72px}.gallery-bridge{margin-top:20px}.enquiry-flow h3{font-size:32px}}
