@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');
:root{--cream:#e8decd;--ink:#24251f;--gold:#a47b42;--line:#d7d0c0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.65 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}img{display:block;width:100%;object-fit:cover}header{height:100px;padding:14px 4.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font:24px Georgia,serif;letter-spacing:-1px}.brand img{width:65px;height:65px;border-radius:50%}.brand i,.footer-brand i{color:var(--gold)}nav{display:flex;gap:30px;font-size:13px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:36px;background:var(--ink);color:var(--cream);padding:17px 24px;border:1px solid var(--ink);font-size:13px;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:#63513a;transform:translateY(-2px)}.button span{font-size:20px}.small{padding:10px 18px;gap:25px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:720px}.hero-copy{padding:64px 9% 25px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;margin:0 0 25px}.dot{display:inline-block;width:7px;height:7px;background:var(--gold);border-radius:50%;margin-right:8px}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.04;margin:0}h1{font-size:clamp(55px,6.2vw,100px);letter-spacing:-4px}em{color:var(--gold);font-weight:500}.intro{font-size:16px;max-width:330px;margin:26px 0 30px}.hero-foot{margin-top:52px;border-top:1px solid var(--line);padding-top:18px;display:flex;flex-direction:column;gap:5px;font-size:10px;letter-spacing:1px}.hero-foot span+span{letter-spacing:0;color:#777669}.hero-photo{position:relative;min-height:600px;overflow:hidden}.hero-photo>img{height:100%;position:absolute;object-position:57% center;animation:zoom 20s ease-in-out infinite alternate}.photo-label{position:absolute;top:30px;left:30px;color:white;font-size:9px;letter-spacing:2px}.round-stamp{position:absolute;bottom:34px;left:30px;width:138px;height:138px;border-radius:50%;background:var(--cream);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:9px;line-height:1.5;letter-spacing:2px;transform:rotate(-12deg);box-shadow:0 0 0 7px #e8decd33}.round-stamp b{font:italic 30px Georgia,serif;letter-spacing:0}.ticker{background:var(--ink);color:var(--cream);padding:17px 0;overflow:hidden;font-size:11px;letter-spacing:2px}.ticker>div{white-space:nowrap;width:max-content;animation:marquee 38s linear infinite}.ticker span{color:#b99860;padding:0 38px;font-size:19px}.section{padding:100px 7%}h2{font-size:clamp(42px,4.2vw,67px);letter-spacing:-2px}p{color:#67685e}.experience{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.experience>div>p:not(.eyebrow){max-width:460px}.machine-wrap{position:relative}.machine-wrap img{aspect-ratio: .95;object-position:center 65%}.image-note{position:absolute;bottom:25px;left:25px;background:var(--cream);padding:17px 22px;font-size:10px;letter-spacing:1.5px;line-height:1.7}.stats{display:flex;gap:35px;border-top:1px solid var(--line);margin:28px 0;padding-top:23px}.stats strong{font:38px Georgia,serif}.stats strong span{font:12px 'DM Sans',sans-serif}.stats p{font-size:10px;margin:5px 0}.text-link{font-size:12px;border-bottom:1px solid var(--gold);padding-bottom:6px}.prints{background:#e8decd}.section-top{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:45px}.section-top>p{max-width:300px;font-size:14px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.print-card{border:0;padding:0;background:transparent;text-align:left;color:var(--ink);overflow:hidden}.print-card img{height:370px;transition:transform .6s}.print-card:hover img{transform:scale(1.04)}.print-card>span{display:block;padding:22px 0;font:22px Georgia,serif;position:relative;background:#e8decd}.print-card small{display:block;font:9px 'DM Sans',sans-serif;letter-spacing:1.5px;margin-bottom:9px}.print-card b{float:right;font:20px sans-serif}.gallery-note{text-align:center;margin:25px 0 0;font-size:12px}.canvas{display:grid;grid-template-columns:1fr 1fr;gap:12%}.canvas>div>p:not(.eyebrow){max-width:330px}.ninety{display:flex;gap:18px;align-items:center;margin-top:40px}.ninety strong{font:65px Georgia,serif;color:var(--gold)}.ninety span{font-size:11px}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:21px 0;font-size:16px}summary::-webkit-details-marker{display:none}summary span{font-size:11px;color:var(--gold)}details p{font-size:13px;margin:0 0 22px;max-width:440px}details[open] summary{color:var(--gold)}.canvas-list summary{font:25px Georgia,serif;padding:23px 0}.how{background:var(--ink);color:var(--cream)}.how p{color:#c2c0b4}.how .eyebrow{color:#c0a373}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:65px}.steps article{border-top:1px solid #59594f;padding-top:25px}.steps article>span{font-size:11px;color:#bea06d}.steps h3{font-size:30px;margin:30px 0 15px}.steps p{font-size:13px}.wide-image{position:relative;height:550px;display:flex;align-items:center;padding:7%;color:white;overflow:hidden}.wide-image>img{position:absolute;inset:0;height:100%;object-position:center 55%;filter:brightness(.45)}.wide-image>div{position:relative}.wide-image .eyebrow{color:white}.wide-image h2{font-size:70px;margin-bottom:30px}.wide-image em{color:#d7bd8c}.wide-image .button{background:var(--cream);color:var(--ink);border:0}.faq{display:grid;grid-template-columns:1fr 1fr;gap:8%}.faq h2{font-size:48px}.faq .eyebrow{font-size:9px}.contact{display:grid;grid-template-columns:1fr 1.2fr;gap:12%;background:#e8decd}.contact h2{font-size:76px}.contact>div>p:not(.eyebrow){max-width:300px}.contact-logo{width:100px;height:100px;border-radius:50%;margin-top:30px}form{padding-top:10px}label{display:block;font-size:11px;font-weight:600;margin-bottom:24px}label small{font-weight:400;color:#777}input,select,textarea{display:block;width:100%;border:0;border-bottom:1px solid #bdb6a7;background:transparent;padding:12px 0;color:var(--ink);border-radius:0;font-size:13px}input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:4px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}.consent{display:flex;align-items:flex-start;gap:10px;font-size:10px;font-weight:400;color:#65665d}.consent input{width:15px;margin:4px 0}.trap{position:absolute;left:-9999px}#form-status{font-size:13px;max-width:450px}footer{display:flex;align-items:center;gap:30px;padding:30px 4.5%;font-size:10px}footer p{margin-right:auto}.footer-brand{font:23px Georgia,serif}dialog{border:0;background:var(--cream);padding:20px;max-width:90vw;max-height:92vh}dialog::backdrop{background:#14150fe0}dialog img{width:auto;max-width:80vw;max-height:74vh;object-fit:contain}dialog p{margin-bottom:0}.close{position:absolute;right:25px;top:25px;border:0;background:var(--cream);width:35px;height:35px;border-radius:50%;font-size:25px}.reveal{transition:opacity .7s,transform .7s}.js .reveal.pending{opacity:0;transform:translateY(22px)}:focus-visible{outline:2px solid var(--gold);outline-offset:5px}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes zoom{to{transform:scale(1.07)}}@media(min-width:1600px){body{max-width:1800px;margin:auto}}@media(max-width:1000px){nav{gap:15px}.brand span{display:none}.hero-copy{padding:50px 9% 25px}h1{letter-spacing:-2px}.hero{min-height:650px}.hero-photo{min-height:650px}.section{padding:75px 6%}.experience{gap:7%}.stats{gap:15px}.gallery{gap:15px}.print-card img{height:290px}.print-card>span{font-size:18px}.contact{gap:7%}.contact h2{font-size:65px}footer{flex-wrap:wrap}}@media(max-width:650px){header{height:80px;padding:10px 5%}.brand img{height:55px;width:55px}nav{display:none}.small{font-size:11px;gap:15px}.hero{grid-template-columns:1fr}.hero-copy{padding:42px 6% 30px}h1{font-size:66px}.intro{font-size:15px;max-width:300px}.hero-foot{margin-top:32px}.hero-photo{min-height:430px}.round-stamp{width:110px;height:110px;font-size:8px}.section{padding:60px 6%}.experience,.canvas,.faq,.contact{grid-template-columns:1fr;gap:40px}.machine-wrap img{aspect-ratio:1.15}.section-top{display:block}.section-top>p{margin-top:25px}.gallery{grid-template-columns:1fr;gap:28px}.print-card img{height:390px}.print-card>span{font-size:24px}.gallery-note{text-align:left}.canvas{gap:20px}.ninety{margin:20px 0}.steps{grid-template-columns:1fr;gap:25px;margin-top:35px}.steps h3{margin-top:16px}.wide-image{height:460px}.wide-image h2{font-size:57px}.faq h2{font-size:43px}.contact h2{font-size:65px}.contact-logo{display:none}.form-row{gap:18px}.form-row label{min-width:0}footer{gap:14px;justify-content:space-between}footer p{flex-basis:100%;order:3;margin:0}footer>span{font-size:9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js .reveal.pending{opacity:1;transform:none}}

/* Drawn icons prevent iOS emoji substitution. */
.arrow-icon{display:inline-block;width:20px;height:20px;flex-shrink:0;vertical-align:middle}
.text-link .arrow-icon{width:15px;height:15px;margin-left:6px}
.print-card b .arrow-icon{width:20px;height:20px}
.button{appearance:none;-webkit-appearance:none}
.button:disabled{opacity:.65;cursor:wait}
@media(max-width:650px){header{height:108px}.brand img{width:86px;height:86px}.small{padding:12px 14px;gap:12px;font-size:10px}.small .arrow-icon{width:18px;height:18px}}
@media(max-width:360px){.brand img{width:76px;height:76px}.small{padding:10px;font-size:9px;gap:8px}}

/* Mobile header: prominent brand with a compact enquiry link. */
.brand{flex-shrink:0}
.arrow-icon{width:20px;max-width:20px;height:20px;max-height:20px;overflow:hidden}
@media(max-width:650px){header{height:144px;padding:10px 5%;gap:16px}.brand img{width:120px;height:120px;max-width:none}.small{max-width:190px;font-size:11px;gap:12px;padding:12px}.small .arrow-icon{width:18px;height:18px}.contact-logo{display:block;width:120px;height:120px}}
@media(max-width:360px){header{gap:10px}.brand img{width:110px;height:110px}.small{font-size:10px;gap:8px}}
