.hero h1{margin-top:0}
.wordmark{display:block;width:100%;height:auto;aspect-ratio:900/350;object-fit:contain}
.site-header nav{gap:27px}
.collection{padding-top:70px}
.collection-content,.customise-content{min-width:0}
.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.product-card{min-width:0}
.product-photo{display:block;overflow:hidden;background:var(--paper);aspect-ratio:4/5}
.product-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .25s}
.product-photo:hover img{transform:scale(1.025)}
.product-heading{margin:20px 0 19px}
.product-heading h3{font-family:var(--serif);font-size:30px;line-height:1.2}
.product-heading h3 span{font-size:23px;font-style:italic;margin-left:6px}
.product-heading p{font-size:12px;line-height:1.7;color:var(--muted);margin-top:7px}
.product-card .text-link{font-size:12px;gap:20px}
.collection-caption{margin-top:31px;font-size:12px;line-height:1.8;color:var(--muted)}
.customise{background:var(--paper);max-width:none;padding-top:73px;padding-bottom:78px}
.customise-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:45px;align-items:start}
.preview-column{position:sticky;top:24px;min-width:0}
.piece-preview{width:100%;aspect-ratio:4/5;background:var(--piece-colour);color:var(--piece-ink);display:flex;align-items:center;justify-content:center;padding:28px;box-shadow:0 8px 18px #42182712;transition:background .2s,color .2s}
.piece-preview span{display:block;max-width:100%;font-family:var(--serif);font-size:clamp(34px,4.1vw,64px);font-weight:400;line-height:1.15;text-align:center;white-space:pre-wrap;overflow-wrap:anywhere}
.preview-label{margin-top:18px;font-size:12px}
.preview-note{font-size:11px;line-height:1.8;color:var(--muted);margin-top:9px;max-width:360px}
.form-field{margin-bottom:23px}
.form-field label,.colour-fieldset legend{display:block;font-size:12px;line-height:1.65;margin-bottom:9px}
.form-field label>span{color:var(--muted);font-size:10px}
.form-field input,.form-field textarea,.request-review textarea{font:14px/1.6 var(--sans);border:1px solid #bda7a6;color:var(--wine);background:#faf7f1;border-radius:0;padding:12px 13px;width:100%;min-height:46px;box-shadow:none;appearance:none}
.form-field input:focus,.form-field textarea:focus,.request-review textarea:focus{outline:2px solid var(--wine);outline-offset:2px}
.form-field textarea{resize:vertical;min-height:100px}
.field-hint{font-size:10px;line-height:1.75;color:var(--muted);margin-top:8px}
.colour-fieldset{padding:0;border:0;min-width:0;margin:0 0 23px}
.colour-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.colour-choice{position:relative;display:flex;gap:8px;align-items:center;padding:10px 8px;border:1px solid #c6b5ae;background:#f7f2eb;cursor:pointer;font-size:10px;min-height:44px}
.colour-choice input{margin:0;accent-color:var(--wine);position:absolute;width:1px;height:1px;opacity:0}
.colour-choice:has(input:checked){outline:1px solid var(--wine);border-color:var(--wine);background:#fffaf4}
.colour-choice:has(input:focus-visible){outline:3px solid var(--wine);outline-offset:3px}
.colour-dot{width:19px;height:19px;border:1px solid #0002;border-radius:50%;background:var(--swatch);flex-shrink:0}
.custom-swatch{background:linear-gradient(135deg,#ca9da5 0 33%,#e5dac3 33% 66%,#7b9788 66%)}
.form-row{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:15px}
.button-wine,.button-outline{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:15px 19px;background:var(--wine);color:var(--cream);border:1px solid var(--wine);border-radius:0;font:12px/1.5 var(--sans);cursor:pointer;min-height:48px}
.button-wine:hover{background:#74243b}
.button-outline{background:transparent;color:var(--wine)}
.button-outline:hover{background:#e8dcd1}
.order-explainer{font-size:11px;line-height:1.85;color:var(--muted);margin-top:14px}
.request-review{margin-top:46px;padding:28px;border:1px solid #baa09f;background:var(--cream);scroll-margin-top:30px}
.request-review h3{font:38px/1.15 var(--serif);margin:10px 0 14px}
.request-review>p:not(.eyebrow){font-size:12px;line-height:1.8}
.request-review textarea{margin-top:21px;resize:vertical;min-height:225px;font-size:12px;background:#fffdf8}
.request-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:17px}
#copy-status{margin-top:16px;color:var(--muted);min-height:22px}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1600px){.customise{padding-left:max(6%,calc((100vw - 1408px)/2));padding-right:max(6%,calc((100vw - 1408px)/2))}}
@media(max-width:1100px){.customise-layout{gap:28px}.colour-options{grid-template-columns:repeat(2,minmax(0,1fr))}.site-header nav{gap:22px}.site-header .nav-contact{margin-left:0}.form-field input,.form-field textarea{font-size:16px}.piece-preview{padding:22px}}
@media(min-width:701px) and (max-width:900px){.customise.section-wrap{display:block}.customise>.section-label{margin-bottom:26px}.site-header nav{gap:16px;font-size:11px}.site-header .brand{width:125px}.site-header .nav-contact span{margin-left:7px}}
@media(max-width:700px){.collection{padding-top:42px}.product-grid{gap:20px}.product-heading{margin-top:14px}.product-heading h3{font-size:25px}.product-heading h3 span{display:block;margin:3px 0 0;font-size:20px}.product-heading p{font-size:10px}.product-card .text-link{font-size:10px;gap:10px}.product-photo{aspect-ratio:3/4}.collection-caption{font-size:11px}.customise-layout{display:block}.preview-column{position:static;max-width:420px;margin:0 auto 32px}.piece-preview{aspect-ratio:1.2;padding:24px}.piece-preview span{font-size:44px}.customise{padding-top:47px;padding-bottom:47px}.colour-options{grid-template-columns:repeat(3,minmax(0,1fr))}.colour-choice{font-size:10px;gap:7px;padding:10px 7px}.form-field label,.colour-fieldset legend{font-size:13px}.field-hint{font-size:11px}.button-wine,.button-outline{font-size:12px}.order-explainer{font-size:11px}.request-review{padding:20px;margin-top:30px}.request-review h3{font-size:33px}.request-actions{display:grid;grid-template-columns:1fr}.site-header nav{gap:8px}}
@media(max-width:360px){.product-grid{grid-template-columns:minmax(0,1fr);gap:34px}.product-photo{aspect-ratio:4/5}.product-heading h3 span{display:inline;margin-left:6px}.colour-options{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Consistent brand and catalogue presentation. */
.site-header,.site-footer{background:#efe9df}
.wordmark{mix-blend-mode:darken;filter:none}
.header-wordmark{aspect-ratio:870/255;width:100%;height:auto;image-rendering:auto}
.site-header .brand{width:154px}
.story{padding-top:66px;padding-bottom:72px}
.product-photo{aspect-ratio:4/5;background:#f4f0e9}
.product-photo img{object-fit:contain;object-position:center;transform:none}
.product-photo:hover img{transform:none}
.product-grid{align-items:start;gap:34px}
.product-heading p{display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:space-between}
.product-size{white-space:nowrap;color:var(--wine)}
.piece-preview{aspect-ratio:2/3}
@media(max-width:900px){.site-header .brand{width:140px}.product-heading p{display:block}.product-size{display:block;margin-top:5px}}
@media(max-width:700px){.story{padding-top:44px;padding-bottom:44px}.site-header .brand{width:144px}.product-photo{aspect-ratio:4/5}.piece-preview{aspect-ratio:2/3;max-width:300px;margin-inline:auto}}
@media(max-width:600px){.product-grid{grid-template-columns:minmax(0,1fr);gap:36px}.product-heading h3 span{display:inline;margin-left:6px}.product-heading p{display:flex}.product-size{margin-top:0}.product-card .text-link{font-size:12px}.product-heading p{font-size:12px}.product-heading h3{font-size:29px}}

.customer-details{margin-top:32px;padding-top:27px;border-top:1px solid #c6b5ae}
.customer-details h3{font:30px/1.2 var(--serif);margin-bottom:24px}
.submit-request{margin-top:20px}
.request-status{font-size:12px;line-height:1.8;margin-top:14px}
.request-status:empty{display:none}
.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.request-reference{margin:20px 0;font-size:15px!important;overflow-wrap:anywhere}
button:disabled{opacity:.65;cursor:wait}
.owner-link{font-size:11px!important;margin-top:12px}
