:root{--wine:#762d3b;--ink:#302a2c;--muted:#757170;--paper:#fff;--line:#e9e5e4;--placeholder:#efeeec;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.42}button{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,.ribbon:focus-visible{outline:2px solid var(--wine);outline-offset:5px}a:hover{color:var(--wine)}img{display:block;max-width:100%;height:auto}figure,p,h1,h2{margin:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.1;color:var(--wine)}h1{font-size:clamp(46px,6vw,88px);letter-spacing:-.055em}h2{font-size:clamp(30px,3vw,46px);letter-spacing:-.035em}button{border:0;background:transparent}[hidden]{display:none!important}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link:focus{position:fixed;top:15px;left:15px;padding:12px;background:#fff;z-index:10000}.site-header{display:flex;justify-content:space-between;align-items:center;padding:32px 5.5%;gap:24px}.wordmark{font-family:var(--serif);font-size:26px;line-height:.92;letter-spacing:-1.1px;color:var(--wine)}.site-header nav{display:flex;gap:30px;font-size:12px}.site-header nav a{padding:10px 0}.site-header nav a[aria-current]{color:var(--wine);text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}.eyebrow{font-size:11px;letter-spacing:.08em;color:var(--muted);margin-bottom:22px}.text-link{display:inline-flex;align-items:center;gap:34px;border-bottom:1px solid currentColor;padding:8px 0;font-size:12px;color:var(--wine)}.photo-placeholder{background:var(--placeholder);width:100%;min-height:240px;display:flex;align-items:center;justify-content:center}.photo-placeholder span{font-size:10px;color:#8a8380;letter-spacing:.08em}.site-footer{margin:90px 5.5% 0;padding:25px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted)}.site-footer a{white-space:nowrap;color:var(--wine)}
/* Home: three compositions share the same content and image selection. */
.home-hero{margin:4px 3% 0;position:relative;min-height:650px}.layout-full{height:min(76vh,850px);min-height:560px;isolation:isolate}.hero-slides,.hero-slide{position:absolute;inset:0}.hero-slide{opacity:0;transition:opacity 1.3s ease}.hero-slide.is-active{opacity:1}.hero-slide img,.hero-slides>.photo-placeholder{height:100%;width:100%;object-fit:cover}.hero-words{position:relative;z-index:2}.layout-full .hero-words{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:7%;max-width:760px}.layout-full.has-images::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,14,13,.57),rgba(20,14,13,.12));z-index:1;pointer-events:none}.layout-full.has-images .hero-words,.layout-full.has-images h1,.layout-full.has-images .eyebrow,.layout-full.has-images .text-link{color:white}.hero-words h1{font-size:clamp(65px,8.5vw,125px);margin-bottom:24px}.hero-intro{max-width:320px;font-size:13px;line-height:1.8;margin-bottom:23px}.slide-controls{position:absolute;bottom:24px;right:28px;display:flex;gap:8px;z-index:3;background:#fffef9ee;padding:2px 8px}.slide-controls button{min-height:44px;min-width:44px;font-size:12px}.home-note{display:flex;justify-content:space-between;gap:25px;margin:18px 5.5% 0;color:var(--muted);font-size:10px}.home-note>span:first-child{font-style:italic}.home-links{padding:100px 7% 25px;text-align:center}.home-links h2{margin-bottom:32px}.home-links>div{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 36px;font-size:12px}.home-links a span{padding-left:12px;color:var(--wine)}.hero-composition{position:absolute;inset:0}.composition-photo{position:absolute}.composition-photo img,.composition-photo .photo-placeholder{width:100%;height:100%;object-fit:cover;min-height:0}.layout-scattered{min-height:720px}.layout-scattered .hero-words{width:50%;margin:auto;text-align:center;padding-top:200px;pointer-events:none}.layout-scattered .hero-words a{pointer-events:auto}.layout-scattered .hero-intro{margin-left:auto;margin-right:auto}.layout-scattered .composition-1{left:3%;top:2%;width:21%;height:46%}.layout-scattered .composition-2{right:2%;top:11%;width:24%;height:34%}.layout-scattered .composition-3{right:15%;bottom:0;width:28%;height:30%}.layout-scattered .hero-words h1{font-size:clamp(60px,7vw,105px)}.layout-split{min-height:650px;margin-left:7%;margin-right:7%}.layout-split .hero-words{width:43%;padding-top:150px}.layout-split .hero-words h1{font-size:clamp(65px,7vw,104px)}.layout-split .composition-1{right:0;top:3%;width:44%;height:80%}.layout-split .composition-2{right:32%;bottom:0;width:23%;height:32%;border:8px solid white}.layout-split .composition-3{right:2%;bottom:1%;width:15%;height:24%;border:6px solid white}
/* Portfolio ribbons and a spacious, uneven arrangement on category pages. */
.page-heading{padding:72px 8% 80px}.page-heading h1{margin-bottom:22px}.page-heading>p:last-child{font-size:13px;color:var(--muted)}.portfolio-strip{padding:0 0 65px 8%;overflow:hidden}.strip-heading{display:flex;align-items:center;justify-content:space-between;padding-right:8.7%;margin-bottom:28px;gap:15px}.strip-heading h2{display:flex;gap:24px;align-items:center;font-size:clamp(27px,3vw,43px)}.strip-heading h2 a>span{font-family:var(--sans);font-size:21px;margin-left:15px}.index-number{font:10px var(--sans);color:var(--muted)}.strip-controls{display:flex;gap:6px}.strip-controls button{min-width:44px;min-height:44px;font-size:21px;color:var(--wine)}.ribbon{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#cec3c3 transparent;padding:0 8% 15px 0;align-items:stretch}.ribbon>.photo-link{flex:0 0 auto;scroll-snap-align:start}.ribbon img{height:310px;width:auto;max-width:none;object-fit:contain}.ribbon>.photo-placeholder{flex:0 0 27%;height:310px;min-width:210px}.ribbon>.photo-placeholder:nth-child(even){flex-basis:38%}.photo-link{display:block;position:relative}.photo-link img{transition:opacity .3s}.photo-link:hover img{opacity:.88}.category-heading{padding-bottom:50px}.scattered-gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:4%;row-gap:95px;align-items:start;padding:0 8%}.scattered-gallery>*{width:100%;grid-column:1/span 5}.scattered-gallery>:nth-child(6n+2){grid-column:8/span 5;margin-top:110px}.scattered-gallery>:nth-child(6n+3){grid-column:2/span 7}.scattered-gallery>:nth-child(6n+4){grid-column:2/span 4;margin-top:60px}.scattered-gallery>:nth-child(6n+5){grid-column:8/span 4;margin-top:170px}.scattered-gallery>:nth-child(6n+6){grid-column:4/span 8}.scattered-gallery img{width:100%;height:auto}.scattered-gallery>.photo-placeholder{aspect-ratio:4/5}.scattered-gallery>.photo-placeholder:nth-child(3n){aspect-ratio:3/2}.end-note{text-align:center;padding:110px 20px 0}.end-note p{font:30px/1.3 var(--serif);color:var(--wine);margin-bottom:14px}
/* About and contact. */
.about-layout{max-width:1250px;margin:65px auto 125px;padding:0 7%;display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.about-layout figure img,.about-layout figure .photo-placeholder{width:100%;height:auto;min-height:420px;object-fit:cover}.about-layout .photo-placeholder{aspect-ratio:4/5}.about-layout h1{font-size:clamp(42px,5vw,68px);margin-bottom:28px}.body-copy{font-size:14px;line-height:1.9}.body-copy p{margin-bottom:20px}.about-layout .text-link{margin-top:20px}figcaption{font-size:10px;color:var(--muted);margin-top:12px}.contact-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:12%;max-width:1350px;margin:65px auto 50px;padding:0 7%}.contact-layout h1{font-size:clamp(48px,5vw,72px);margin-bottom:24px}.contact-layout .body-copy{max-width:340px}.contact-layout aside figure{margin:35px 0 27px;max-width:290px}.contact-layout aside figure img{width:100%;max-height:310px;object-fit:cover}.contact-layout aside .photo-placeholder{aspect-ratio:5/4;min-height:180px}.contact-email{display:block;color:var(--wine);font-size:15px;overflow-wrap:anywhere}.social-link{display:inline-block;margin-top:10px;font-size:11px;color:var(--muted)}.contact-panel{padding-top:7px}.enquiry-choice{padding:0;border:0;margin:0 0 25px}.enquiry-choice legend{font-size:11px;color:var(--muted);margin-bottom:15px}.enquiry-choice>div{display:flex;border-bottom:1px solid var(--line);gap:25px}.enquiry-choice label{position:relative;flex:1}.enquiry-choice input{position:absolute;width:1px;height:1px;opacity:0}.enquiry-choice span{display:block;padding:12px 0;font-size:13px;border-bottom:2px solid transparent;text-align:center;cursor:pointer}.enquiry-choice input:checked+span{border-color:var(--wine);color:var(--wine)}.enquiry-choice input:focus-visible+span{outline:2px solid var(--wine);outline-offset:3px}.form-hint{font-size:10px;color:var(--muted);margin:0 0 26px;line-height:1.8}.form-hint a{text-decoration:underline}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 28px;margin-bottom:24px}.full-width{grid-column:1/-1}.enquiry-form label{font-size:11px}.optional{color:var(--muted);font-size:9px}.enquiry-form input:not([type=radio]):not([type=hidden]),.enquiry-form textarea{display:block;width:100%;border:0;border-bottom:1px solid #bdb6b3;border-radius:0;background:transparent;color:var(--ink);padding:9px 0;min-height:44px;outline-offset:4px;font-size:14px}.enquiry-form textarea{resize:vertical;margin:6px 0 22px}.wedding-fields{border:0;padding:0;margin:0;min-width:0}.submit-button{color:white;background:var(--wine);font-size:12px;display:flex;justify-content:space-between;gap:65px;align-items:center;padding:14px 22px;min-height:48px}.submit-button:not(:disabled):hover{background:#54202a}.hp-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-message{border-left:2px solid var(--wine);background:#f6f3f2;padding:15px;font-size:13px;margin-bottom:25px}
/* Native dialog retains keyboard focus and closes on Escape. */
.viewer-open{overflow:hidden}.lightbox{border:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;padding:60px 5% 75px;background:#f9f8f5;color:var(--ink)}.lightbox::backdrop{background:#f9f8f5}.lightbox figure{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.lightbox img{max-width:100%;max-height:calc(100% - 34px);width:auto;height:auto;object-fit:contain}.lightbox figcaption{max-width:700px;text-align:center}.lb-close{position:absolute;right:4%;top:13px;font-size:12px;min-height:44px;padding:0 14px}.lb-controls{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:30px;font-size:11px}.lb-controls button{min-width:48px;min-height:44px;font-size:24px}
@media(min-width:1700px){.home-hero,.home-note{max-width:1600px;margin-left:auto;margin-right:auto}.site-header,.site-footer{max-width:1650px;margin-left:auto;margin-right:auto}.portfolio-strip,.scattered-gallery{max-width:1600px;margin-left:auto;margin-right:auto}}
@media(max-width:800px){.site-header{padding:25px 6%}.site-header nav{gap:18px;font-size:11px}.wordmark{font-size:23px}.home-hero{min-height:540px}.layout-full{height:70svh;min-height:480px}.layout-full .hero-words{padding:9%}.hero-words h1{font-size:clamp(58px,10vw,84px)}.home-note{flex-direction:column;gap:6px}.home-links{padding-top:65px}.site-footer{flex-wrap:wrap;margin-top:65px}.site-footer p:nth-child(2){order:3;width:100%}.page-heading{padding:50px 7%}.ribbon img{height:260px}.ribbon>.photo-placeholder{height:260px}.portfolio-strip{padding-left:7%;padding-bottom:44px}.scattered-gallery{gap:60px 5%;padding:0 7%}.scattered-gallery>:nth-child(6n+2){margin-top:70px}.scattered-gallery>:nth-child(6n+5){margin-top:90px}.about-layout,.contact-layout{gap:7%;padding:0 7%}.about-layout figure img,.about-layout figure .photo-placeholder{min-height:300px}.contact-layout{grid-template-columns:1fr;max-width:700px;margin-top:35px}.contact-layout aside{margin-bottom:48px}.contact-layout aside figure{max-width:230px}.contact-layout aside .body-copy{max-width:450px}.layout-scattered{min-height:670px}.layout-scattered .hero-words{padding-top:220px;width:70%}.layout-scattered .composition-1{width:28%;height:30%;top:0}.layout-scattered .composition-2{width:31%;height:24%;top:30px}.layout-scattered .composition-3{width:34%;height:23%;right:8%;bottom:0}.layout-scattered .hero-words h1{font-size:clamp(54px,9vw,76px)}.layout-split{min-height:580px}.layout-split .hero-words{padding-top:75px;width:45%}.layout-split .hero-words h1{font-size:55px}.layout-split .composition-1{height:70%}.layout-split .composition-2{bottom:7%}}
@media(max-width:520px){.site-header{align-items:flex-start;gap:12px;padding-bottom:25px}.site-header nav{gap:15px;font-size:10px;flex-wrap:wrap;justify-content:flex-end;padding-top:1px}.wordmark{font-size:21px;min-width:100px}.site-header nav a{padding:5px 0}.hero-words h1{font-size:64px}.layout-full .hero-words{justify-content:center;padding-bottom:70px}.hero-intro{font-size:12px;max-width:270px}.home-links h2{font-size:32px}.home-links>div{gap:20px 30px}.strip-heading h2{gap:12px;font-size:27px}.strip-heading h2 a>span{margin-left:6px;font-size:17px}.strip-controls{gap:0}.strip-controls button{min-width:38px}.ribbon{gap:13px}.ribbon img{height:235px}.ribbon>.photo-placeholder{height:235px;min-width:170px}.scattered-gallery{grid-template-columns:repeat(6,minmax(0,1fr));row-gap:50px}.scattered-gallery>*{grid-column:1/span 5!important;margin-top:0!important}.scattered-gallery>:nth-child(even){grid-column:2/span 5!important}.scattered-gallery>:nth-child(3n){grid-column:1/-1!important}.about-layout{grid-template-columns:1fr;gap:40px;margin:30px auto 50px}.about-layout figure{max-width:330px}.about-layout h1{font-size:49px}.contact-layout h1{font-size:57px}.form-grid{gap:20px 15px}.enquiry-choice>div{gap:14px}.enquiry-choice span{font-size:12px}.site-footer{font-size:9px}.layout-scattered .hero-words{width:90%;padding-top:210px}.layout-scattered{min-height:630px}.layout-scattered .composition-1{width:34%;height:27%}.layout-scattered .composition-2{width:36%;height:22%}.layout-scattered .composition-3{width:43%;height:24%;right:7%}.layout-split{min-height:770px}.layout-split .hero-words{padding-top:18px;width:100%}.layout-split .hero-words h1{font-size:65px}.layout-split .composition-1{width:72%;height:43%;top:auto;bottom:40px}.layout-split .composition-2{width:39%;height:22%;bottom:0;right:57%;border-width:5px}.layout-split .composition-3{width:26%;height:18%;bottom:0;right:0;border-width:4px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Home revision 0.2: full photographic frames, larger supporting type,
   central location and an independent lower-right portfolio link. */
.home .site-header nav{font-size:15px;gap:30px}
.home .wordmark{font-size:31px}
.home .hero-words .eyebrow{font-size:14px;line-height:1.6;letter-spacing:.045em}
.home .hero-intro{font-size:17px;line-height:1.75;max-width:370px;margin-bottom:22px}
.home .hero-location{font-size:15px;line-height:1.8;max-width:350px;margin:0 auto;color:var(--muted)}
.home .home-note{align-items:center;font-size:14px;line-height:1.7;margin-top:26px;gap:28px}
.home .home-note .home-explore{font-size:15px;flex-shrink:0;gap:26px}
.home .home-links .eyebrow{font-size:14px}
.home .home-links h2{font-size:clamp(34px,3.4vw,51px)}
.home .home-links>div{font-size:15px}
.home .site-footer{font-size:12px}
/* No width/height crop: contain also protects extreme portrait / panorama ratios. */
.home-hero .composition-photo img{width:100%;height:auto;max-height:290px;object-fit:contain}
.home-hero .composition-photo .photo-placeholder{width:100%;height:230px;min-height:0}
.hero-slide img{object-fit:contain}
.layout-full .hero-location{margin-left:0}
.layout-full.has-images .hero-location{color:#fff}
.layout-scattered,.layout-diagonal,.layout-paired,.layout-split{display:grid;position:relative;min-height:0;height:auto;margin:25px 5.5% 0;column-gap:3%;row-gap:50px;align-items:center;padding:0}
.layout-scattered .hero-composition,.layout-diagonal .hero-composition,.layout-paired .hero-composition,.layout-split .hero-composition{display:contents}
.home-hero .composition-photo{position:static;inset:auto;width:100%;height:auto;min-width:0;margin:0;border:0;display:flex;align-items:center;justify-content:center}
.home-hero:not(.layout-full) .hero-words{width:100%;min-width:0;margin:0;padding:35px 0;text-align:center;pointer-events:auto;align-self:center}
.home-hero:not(.layout-full) .hero-intro{margin-left:auto;margin-right:auto}
.layout-diagonal .hero-words h1,.layout-paired .hero-words h1{font-size:clamp(60px,7vw,105px)}
.layout-scattered{grid-template-columns:23% minmax(0,1fr) 23%;grid-template-areas:'p1 words p2' 'p3 words p4';grid-template-rows:minmax(260px,auto) minmax(240px,auto)}
.home-hero:not(.layout-full) .hero-words{grid-area:words}
.home-hero:not(.layout-full) .composition-1{grid-area:p1}
.home-hero:not(.layout-full) .composition-2{grid-area:p2}
.home-hero:not(.layout-full) .composition-3{grid-area:p3}
.home-hero:not(.layout-full) .composition-4{grid-area:p4}
.home-hero:not(.layout-full) .composition-5{grid-area:p5}
.layout-scattered .composition-1{align-self:start}
.layout-scattered .composition-2{align-self:end;justify-self:end;width:88%}
.layout-scattered .composition-3{width:84%;justify-self:end;align-self:end}
.layout-scattered .composition-4{align-self:start}
.layout-scattered .composition-2 img,.layout-scattered .composition-3 img{max-height:230px}
/* Diagonal: five pictures moving from upper left to lower right. */
.layout-diagonal{grid-template-columns:21% minmax(0,1fr) 21%;grid-template-areas:'p1 words p2' 'p3 words p4' '. p5 .';grid-template-rows:minmax(220px,auto) minmax(200px,auto) auto;row-gap:34px}
.layout-diagonal .composition-1{align-self:start}
.layout-diagonal .composition-2{align-self:end;width:88%;justify-self:end}
.layout-diagonal .composition-3{width:78%;justify-self:start;align-self:start}
.layout-diagonal .composition-4{align-self:end}
.layout-diagonal .composition-5{width:55%;justify-self:end}
.layout-diagonal .composition-photo img{max-height:245px}
.layout-diagonal .composition-5 img{max-height:170px}
/* Two groups: two generous frames on the left, three lighter frames on the right. */
.layout-paired{grid-template-columns:24% minmax(0,1fr) 20%;grid-template-areas:'p1 words p2' 'p1 words p3' 'p4 words p5';grid-template-rows:auto auto auto;row-gap:30px}
.layout-paired .composition-1{align-self:start}
.layout-paired .composition-4{width:86%;justify-self:end}
.layout-paired .composition-2,.layout-paired .composition-3,.layout-paired .composition-5{width:85%}
.layout-paired .composition-3{justify-self:end}
.layout-paired .composition-2 img,.layout-paired .composition-3 img,.layout-paired .composition-5 img{max-height:175px}
/* Retain the previous words-left option, now with four uncropped photographs. */
.layout-split{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,.8fr);grid-template-areas:'words p1 p2' 'words p3 p4';grid-template-rows:minmax(250px,auto) minmax(220px,auto)}
.layout-split .composition-2,.layout-split .composition-3{width:85%;justify-self:end}
.layout-split .composition-2 img,.layout-split .composition-3 img{max-height:220px}
@media(min-width:1700px){.layout-scattered,.layout-diagonal,.layout-paired,.layout-split{max-width:1600px;margin-left:auto;margin-right:auto}}
@media(max-width:1000px){
 .layout-scattered,.layout-diagonal,.layout-paired{grid-template-columns:23% minmax(0,1fr) 23%;column-gap:2%}
 .home .hero-intro{font-size:16px}.home .hero-location{font-size:14px}.home .hero-words .eyebrow{font-size:13px}
 .layout-diagonal .hero-words h1,.layout-paired .hero-words h1{font-size:clamp(54px,7vw,76px)}
 .home-hero .composition-photo img{max-height:250px}
 .home .site-header nav{gap:22px;font-size:14px}
}
@media(max-width:680px){
 .home .site-header{align-items:center;flex-wrap:wrap;gap:20px}
 .home .site-header nav{font-size:13px;gap:20px;justify-content:flex-start;flex-wrap:wrap}
 .home .wordmark{font-size:27px}
 .layout-scattered,.layout-diagonal,.layout-paired,.layout-split{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:'words words' 'p1 p2' 'p3 p4';grid-template-rows:auto;column-gap:8%;row-gap:30px;margin-top:0}
 .layout-diagonal,.layout-paired{grid-template-areas:'words words' 'p1 p2' 'p3 p4' 'p5 p5'}
 .home-hero:not(.layout-full) .hero-words{padding:30px 0 12px}
 .layout-scattered .hero-words h1,.layout-diagonal .hero-words h1,.layout-paired .hero-words h1{font-size:clamp(54px,9vw,76px)}
 .layout-split .hero-words h1{font-size:65px}
 .home-hero:not(.layout-full) .composition-photo{width:100%;align-self:center;justify-self:center}
 .home-hero:not(.layout-full) .composition-photo img{max-height:230px}
 .home-hero:not(.layout-full) .composition-2{width:90%;justify-self:end;padding-top:35px}
 .home-hero:not(.layout-full) .composition-3{width:85%;justify-self:start}
 .home-hero:not(.layout-full) .composition-5{width:52%;justify-self:center}
 .home .home-note{flex-direction:row;align-items:flex-start;flex-wrap:wrap;font-size:13px;gap:16px;margin-top:28px}
 .home .home-note .home-explore{margin-left:auto;font-size:14px}
 .home .home-links{padding-top:65px}
 .home .hero-intro{max-width:350px;font-size:16px}
 .home .hero-location{max-width:320px;font-size:14px}
 .home .site-footer{font-size:11px}
}

/* Portfolio / About / Contact revision 0.3. */
.strip-heading h2{min-width:0}
.strip-heading h2 .gallery-category-link{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:10px 24px;padding:8px 0;min-height:44px}
.strip-heading h2 .gallery-category-title{font:inherit;margin:0;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px;text-decoration-color:#c5aab0}
.strip-heading h2 .gallery-category-action{font:13px/1.5 var(--sans);letter-spacing:0;margin:0;color:var(--wine);white-space:nowrap}
.gallery-category-action>span{display:inline-block;margin-left:5px}
.gallery-category-link:hover .gallery-category-title{ text-decoration-color:var(--wine)}
.gallery-category-link:hover .gallery-category-action{text-decoration:underline;text-underline-offset:4px}
.strip-controls{flex-shrink:0}
.ribbon{gap:12px}
.scattered-gallery{column-gap:2%;row-gap:32px;padding:0 7%;align-items:start}
.scattered-gallery>*{grid-column:1/span 3;margin-top:0}
.scattered-gallery>:nth-child(6n+1){grid-column:1/span 3;margin-top:0}
.scattered-gallery>:nth-child(6n+2){grid-column:5/span 4;margin-top:35px}
.scattered-gallery>:nth-child(6n+3){grid-column:10/span 3;margin-top:12px}
.scattered-gallery>:nth-child(6n+4){grid-column:1/span 4;margin-top:18px}
.scattered-gallery>:nth-child(6n+5){grid-column:6/span 3;margin-top:42px}
.scattered-gallery>:nth-child(6n+6){grid-column:10/span 3;margin-top:0}
.scattered-gallery img{width:auto;max-width:100%;height:auto;max-height:310px;object-fit:contain;margin:0 auto}
.scattered-gallery>.photo-placeholder{min-height:0;max-height:310px}
.contact-direct{margin:27px 0 30px}
.contact-email-label{font-size:12px;color:var(--muted);margin-bottom:6px}
.contact-direct .contact-email{display:inline-block;font-size:clamp(19px,1.8vw,26px);line-height:1.5;max-width:100%;overflow-wrap:anywhere;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px;color:var(--wine)}
.contact-socials{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:20px}
.contact-social{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:3px 0;font-size:12px;color:var(--wine)}
.contact-icon{flex-shrink:0;display:block;width:22px;height:22px}
.contact-social:hover>span:not(.social-arrow){text-decoration:underline;text-underline-offset:4px}
.social-arrow{font-size:12px}
.contact-layout aside figure{margin-top:24px}
@media(max-width:800px){
 .scattered-gallery{grid-template-columns:repeat(6,minmax(0,1fr));column-gap:4%;row-gap:27px}
 .scattered-gallery>:nth-child(n){grid-column:1/span 3;margin-top:0}
 .scattered-gallery>:nth-child(even){grid-column:4/span 3;margin-top:32px}
 .scattered-gallery img{max-height:270px}
 .scattered-gallery>.photo-placeholder{max-height:270px}
 .strip-heading h2 .gallery-category-link{gap:8px 16px}
}
@media(max-width:520px){
 .ribbon{gap:8px}
 .strip-heading{gap:12px}
 .strip-heading h2 .gallery-category-link{flex-direction:column;align-items:flex-start;gap:8px}
 .strip-heading h2 .gallery-category-action{font-size:12px}
 .scattered-gallery{column-gap:4%;row-gap:22px;padding:0 6%}
 .scattered-gallery>:nth-child(n){grid-column:1/span 3!important;margin-top:0!important}
 .scattered-gallery>:nth-child(even){grid-column:4/span 3!important;margin-top:22px!important}
 .scattered-gallery img{max-height:210px}
 .scattered-gallery>.photo-placeholder{max-height:210px}
 .contact-direct .contact-email{font-size:20px}
 .contact-socials{gap:4px 14px}
}

/* Approved revision 0.4 — readable secondary type throughout the site.
   Existing heading sizes are retained. */
body{font-size:17px}
.site-header nav,.home .site-header nav{font-size:16px}
.body-copy{font-size:18px;line-height:1.8}
.eyebrow{font-size:14px}
.page-heading>p:last-child{font-size:17px}
.text-link{font-size:16px}
figcaption{font-size:14px;line-height:1.6}
.site-footer,.home .site-footer{font-size:13px}
.enquiry-choice legend{font-size:15px}
.enquiry-choice span{font-size:16px}
.enquiry-form label{font-size:16px;line-height:1.6}
.optional{font-size:13px}
.form-hint{font-size:14px;line-height:1.7}
.enquiry-form input:not([type=radio]):not([type=hidden]),.enquiry-form textarea{font-size:17px}
.submit-button{font-size:16px}
.form-message{font-size:16px}
.contact-email-label{font-size:15px}
.contact-social{font-size:16px;gap:9px}
.contact-socials{gap:8px 20px}
.strip-heading h2 .gallery-category-action{font-size:16px}
.lb-close{font-size:15px}.lb-count{font-size:14px}
.home .hero-words .eyebrow{font-size:19px;line-height:1.5;letter-spacing:0;color:#000;margin-bottom:23px}
.home .hero-location{font-size:20px;line-height:1.6;color:#000;margin:0 auto 18px;max-width:370px}
.home .hero-intro{font-size:14px;line-height:1.7;color:#000;max-width:310px;margin:0 auto}
.home .home-note{font-size:15px}
.home .home-note .home-explore{font-size:16px}
/* White-backed slideshow copy preserves black-text legibility on any image. */
.home .layout-full.has-images .hero-words{background:rgba(255,255,255,.88);height:auto;min-height:100%;width:min(760px,75%)}
.home .layout-full.has-images h1{color:var(--wine)}
/* Five full frames around a fixed central text area, matching the approved sketch. */
.home-hero.layout-five{position:relative;display:block;height:clamp(710px,70vw,980px);min-height:710px;margin:25px 3% 0;padding:0;max-width:1600px}
.home-hero.layout-five .hero-composition{position:absolute;inset:0;display:block}
.home-hero.layout-five .hero-words{position:absolute;top:22.5%;left:29%;width:42%;padding:0;margin:0;text-align:center;z-index:2}
.home-hero.layout-five .hero-words h1{font-size:clamp(60px,7vw,105px);margin-bottom:28px}
.home-hero.layout-five .composition-photo{position:absolute;inset:auto;min-width:0;padding:0;margin:0;border:0;display:flex;align-items:center;justify-content:center}
.home-hero.layout-five .composition-photo img{width:100%;height:100%;max-height:none;object-fit:contain}
.home-hero.layout-five .composition-photo .photo-placeholder{width:100%;height:100%;min-height:0}
.home-hero.layout-five .composition-1{top:0;left:0;width:26%;height:43%}
.home-hero.layout-five .composition-2{top:6.75%;right:0;width:27%;height:27.5%}
.home-hero.layout-five .composition-3{top:51.8%;left:3%;width:24%;height:25.8%}
.home-hero.layout-five .composition-4{top:54.9%;right:1%;width:27%;height:43%}
.home-hero.layout-five .composition-5{top:72.5%;left:32%;width:31%;height:27.5%}
/* Remove the former wide left inset on the index and gallery pages. */
.portfolio-heading{padding-left:18px;padding-right:18px}
.portfolio-strip{padding-left:18px}
.strip-heading{padding-right:18px}
.ribbon{padding-right:18px}
.category-heading{padding-left:18px;padding-right:18px}
/* Different widths and gentle offsets, in the original DOM/image order. */
.scattered-gallery{display:flex;flex-wrap:wrap;align-items:flex-start;gap:18px 2%;padding:0 18px}
.scattered-gallery>:nth-child(n){flex:0 0 auto;min-width:0;margin:0}
.scattered-gallery>:nth-child(6n+1){width:25%;margin-top:0}
.scattered-gallery>:nth-child(6n+2){width:40%;margin-top:28px}
.scattered-gallery>:nth-child(6n+3){width:31%;margin-top:0}
.scattered-gallery>:nth-child(6n+4){width:36%;margin-top:0}
.scattered-gallery>:nth-child(6n+5){width:25%;margin-top:18px}
.scattered-gallery>:nth-child(6n+6){width:35%;margin-top:9px}
.scattered-gallery img{width:100%;height:auto;max-height:none;margin:0;object-fit:contain}
.scattered-gallery>.photo-placeholder{max-height:none;min-height:0}
@media(min-width:1700px){.home-hero.layout-five{margin-left:auto;margin-right:auto}}
@media(max-width:1000px){
 .enquiry-choice>div{gap:16px}
 .strip-heading h2 .gallery-category-link{gap:8px 16px}
}
@media(max-width:800px){
 .site-header nav,.home .site-header nav{font-size:15px;gap:20px}
 .home-hero.layout-five .hero-words h1{font-size:clamp(54px,7vw,76px)}
 .scattered-gallery{gap:16px 3%}
 .scattered-gallery>:nth-child(n){width:44%;margin-top:0}
 .scattered-gallery>:nth-child(even){width:53%;margin-top:22px}
 .body-copy{font-size:17px}
}
@media(max-width:800px){
 .home-hero.layout-five{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:'words words' 'p1 p2' 'p3 p4' 'p5 p5';gap:22px 6%;height:auto;min-height:0;margin:0 5%}
 .home-hero.layout-five .hero-composition{display:contents}
 .home-hero.layout-five .hero-words{position:static;grid-area:words;width:100%;padding:30px 0 12px}
 .home-hero.layout-five .hero-words h1{font-size:clamp(54px,9vw,76px)}
 .home-hero.layout-five .composition-photo{position:static;inset:auto;width:100%;height:auto;min-height:0;align-self:center;justify-self:center}
 .home-hero.layout-five .composition-photo img{width:100%;height:auto;max-height:none}
 .home-hero.layout-five .composition-photo .photo-placeholder{height:220px}
 .home-hero.layout-five .composition-2{padding-top:40px}
 .home-hero.layout-five .composition-3{width:87%}
 .home-hero.layout-five .composition-5{width:65%}
 .home .hero-words .eyebrow{font-size:18px}
 .home .hero-location{font-size:19px}
 .home .hero-intro{font-size:14px}
}
@media(max-width:520px){
 .site-header{flex-wrap:wrap;align-items:center;gap:20px}
 .site-header nav,.home .site-header nav{font-size:15px;gap:18px;justify-content:flex-start}
 .enquiry-choice span{font-size:15px}
 .enquiry-choice>div{gap:12px}
 .enquiry-form label{font-size:15px}
 .form-grid{grid-template-columns:1fr;gap:18px}
 .optional{font-size:13px}
 .strip-heading h2 .gallery-category-action{font-size:15px}
 .portfolio-heading,.category-heading{padding-left:12px;padding-right:12px}
 .portfolio-strip{padding-left:12px}
 .strip-heading,.ribbon{padding-right:12px}
 .scattered-gallery{padding:0 12px;gap:16px 4%}
 .scattered-gallery>:nth-child(n){width:43%;margin-top:0!important}
 .scattered-gallery>:nth-child(even){width:53%;margin-top:22px!important}
 .site-footer,.home .site-footer{font-size:13px}
 .contact-social{font-size:16px}
 .home .home-note{font-size:14px}
 .home .home-note .home-explore{font-size:15px}
}

/* Revision 0.5: confirmed home sizes and a shared Portfolio left edge. */
.portfolio-heading,.portfolio-strip{width:100%;max-width:none;margin-left:0;margin-right:0;padding-left:18px}
.portfolio-heading h1,.portfolio-heading>p,.strip-heading h2{margin-left:0;padding-left:0;text-align:left}
@media(min-width:801px){
 .home-hero.layout-five .composition-2{width:28%;height:33%;top:5%;right:0}
 .home-hero.layout-five .composition-3{width:26%;height:31.5%;top:48%;left:1%}
 .home-hero.layout-five .composition-5{width:33%;height:33%;top:67%;left:30.5%}
}
@media(max-width:800px){
 .home-hero.layout-five .composition-3{width:96%}
 .home-hero.layout-five .composition-5{width:76%}
}
@media(max-width:520px){.portfolio-heading,.portfolio-strip{padding-left:12px}}

/* Approved soft asymmetry: 12px gutters, gentle offsets, no reordering. */
.scattered-gallery{gap:12px;align-items:flex-start}
.scattered-gallery>:nth-child(6n+1){width:calc(26.041666% - 6.3px);margin-top:0}
.scattered-gallery>:nth-child(6n+2){width:calc(41.666666% - 10.05px);margin-top:12px}
.scattered-gallery>:nth-child(6n+3){width:calc(32.291666% - 7.8px);margin-top:0}
.scattered-gallery>:nth-child(6n+4){width:calc(37.5% - 9.05px);margin-top:0}
.scattered-gallery>:nth-child(6n+5){width:calc(26.041666% - 6.3px);margin-top:12px}
.scattered-gallery>:nth-child(6n+6){width:calc(36.458333% - 8.8px);margin-top:0}
@media(min-width:801px){.home-hero.layout-five .hero-words{top:17.5%}}
@media(max-width:800px){
 .home-hero.layout-five .hero-words{padding-top:15px}
 .scattered-gallery{gap:12px}
 .scattered-gallery>:nth-child(n){width:calc(44.791666% - 5.4px);margin-top:0!important}
 .scattered-gallery>:nth-child(even){width:calc(55.208333% - 6.65px);margin-top:12px!important}
}

/* Revision 0.5.1: shared Portfolio inset and slightly larger Home navigation. */
.portfolio-heading,.portfolio-strip{padding-left:40px}
.home .site-header nav{font-size:18px;gap:36px}
@media(max-width:800px){.home .site-header nav{font-size:16px;gap:24px}}
@media(max-width:520px){.portfolio-heading,.portfolio-strip{padding-left:20px}}

/* Revision 0.5.2: consistent wordmark, aligned Portfolio inset, closer mobile form. */
.site-header .wordmark,.home .site-header .wordmark{font-size:31px}
.portfolio-heading,.portfolio-strip{padding-left:52px}
@media(max-width:800px){
 .contact-layout{row-gap:20px;margin-top:20px}
 .contact-layout aside{margin-bottom:0}
 .contact-layout aside figure{margin-bottom:12px}
 .contact-layout .contact-panel{padding-top:0}
 .contact-panel .enquiry-choice{margin-bottom:16px}
 .contact-panel .enquiry-choice legend{margin-bottom:8px}
 .contact-panel .form-hint{margin-bottom:16px}
}
@media(max-width:680px){
 .site-header .wordmark,.home .site-header .wordmark{font-size:27px}
}
@media(max-width:520px){.portfolio-heading,.portfolio-strip{padding-left:28px}}
