:root{--paper:#fbf8f1;--ink:#352a27;--muted:#73665e;--wine:#782f42;--rose:#ede1db;--border:#dcd1c6;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b16b7b;outline-offset:5px}img{display:block;max-width:100%}.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}.announcement{background:var(--wine);color:#fff5e9;text-align:center;padding:10px 20px;font-size:11px;letter-spacing:1.3px}.header{padding:25px 44px;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--border)}.brand{display:flex;gap:13px;align-items:center;font-size:14px;letter-spacing:2px;line-height:1.3;font-weight:600;white-space:nowrap}.brand small{display:block;font-size:8px;font-weight:400;letter-spacing:3px;margin-top:6px}.monogram{font-family:var(--serif);font-size:36px;font-style:italic;font-weight:400;letter-spacing:-3px;position:relative;border:1px solid #baa998;border-radius:50%;width:59px;height:59px;display:grid;place-content:center;padding-right:4px}.monogram span{position:absolute;top:-11px;left:23px;font-size:18px;line-height:20px;background:var(--paper);padding:0 3px;color:var(--wine)}nav{display:flex;gap:30px;font-size:12px}nav a:hover,.text-link:hover{color:var(--wine)}.header-actions{display:flex;gap:26px;align-items:center}.languages{display:flex;align-items:center;gap:7px;font-size:10px}.languages button{border:0;background:none;padding:7px 2px;color:var(--muted);font-size:11px}.languages button[aria-pressed=true]{color:var(--wine);font-weight:700;border-bottom:1px solid var(--wine)}.button{border:1px solid var(--wine);background:var(--wine);color:#fff8ef;display:inline-flex;align-items:center;justify-content:center;padding:15px 24px;letter-spacing:.3px;font-size:12px;transition:background .2s,transform .2s;min-height:47px}.button:hover{background:#5d2433;transform:translateY(-1px)}.button.small{padding:11px 20px;min-height:42px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding-top:60px;padding-bottom:55px}.hero-copy{padding-block:24px}.eyebrow{font-size:10px;letter-spacing:2.2px;font-weight:600;color:var(--wine);margin:0 0 24px;display:flex;align-items:center;gap:12px}.line{width:26px;height:1px;background:var(--wine)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h1{font-size:clamp(42px,4.3vw,67px);line-height:1.12;letter-spacing:-2.3px;margin-bottom:28px}em{color:var(--wine);font-weight:400}h2{font-size:clamp(34px,3.3vw,48px);line-height:1.17;letter-spacing:-1.4px;margin-bottom:25px}h3{font-size:25px;line-height:1.2;margin-bottom:15px}.intro{color:var(--muted);font-size:14px;max-width:390px;line-height:1.9;margin-bottom:30px}.hero-buttons{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.text-link{font-size:12px;text-decoration:underline;text-underline-offset:6px;text-decoration-color:#b7a697;line-height:1.8}.hero-note{display:flex;gap:14px;align-items:center;margin-top:35px;color:var(--muted);font-size:11px}.hero-note p{margin:0}.sparkle{font-family:var(--serif);font-size:33px;color:var(--wine)}.hero-visual{position:relative;padding-right:12px}.image-frame{padding:12px;border:1px solid #cbbcaf;border-radius:240px 240px 0 0}.image-frame img{width:100%;height:510px;object-fit:cover;border-radius:240px 240px 0 0;object-position:center 57%}.round-note{position:absolute;bottom:40px;left:-39px;width:112px;height:112px;border-radius:50%;background:var(--paper);border:1px solid var(--border);box-shadow:0 0 0 7px var(--paper);display:flex;flex-direction:column;justify-content:center;text-align:center;font-size:8px;letter-spacing:2px;line-height:1.9;transform:rotate(-12deg)}.round-note em{font-family:var(--serif);font-size:27px;letter-spacing:0;line-height:1.2}.photo-caption{display:flex;justify-content:space-between;gap:12px;margin-top:14px;font-size:8px;letter-spacing:1px;color:var(--muted)}.photo-caption span:last-child{font-style:italic;letter-spacing:.2px}.occasion-strip{background:#f0e7dd;border-block:1px solid var(--border);display:flex;justify-content:space-evenly;gap:20px;align-items:center;padding:21px 36px;color:#6d554d;font-family:var(--serif);font-size:21px}.occasion-strip b{font-size:21px;color:#a17972;font-weight:400}.section{padding-block:85px}.section-top{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:33px}.section-top h2{margin-bottom:0}.section-top>p{font-size:13px;color:var(--muted);max-width:290px;margin-bottom:4px;line-height:1.9}.section-top .eyebrow{margin-bottom:18px}.filters{display:flex;gap:10px;margin:32px 0}.filters button{background:transparent;color:var(--muted);border:1px solid var(--border);border-radius:50px;font-size:11px;padding:9px 20px;min-height:38px}.filters button.active{background:var(--wine);color:#fff8ef;border-color:var(--wine)}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 25px}.cake[hidden]{display:none}.cake-photo{border:none;padding:0;background:var(--rose);width:100%;position:relative;overflow:hidden;display:block}.cake-photo img{width:100%;height:330px;object-fit:cover;transition:transform .5s}.cake-photo:hover img{transform:scale(1.035)}.view-photo{position:absolute;right:14px;bottom:14px;background:var(--paper);width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:19px;color:var(--wine)}.cake-category{display:block;font-size:9px;letter-spacing:1.6px;text-transform:uppercase;color:var(--wine);margin-top:19px;margin-bottom:7px}.cake h3{font-size:24px;margin-bottom:8px}.cake p{font-size:12px;color:var(--muted);margin-bottom:0}.gallery-bottom{margin-top:38px;padding-top:25px;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:20px;align-items:center}.gallery-bottom p{font-size:12px;color:var(--muted);margin:0}.story-section{background:#efe6df;padding-block:70px}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.story-image{position:relative;padding-left:20px}.story-image:before{content:'';position:absolute;top:20px;left:0;width:90%;height:100%;border:1px solid #c2ada0;pointer-events:none}.story-image img{width:100%;height:490px;object-fit:cover;object-position:center 45%;position:relative}.image-label{position:absolute;bottom:25px;left:0;background:var(--paper);padding:12px 22px;font-family:var(--serif);font-style:italic;color:var(--wine);font-size:18px}.story-copy>p:not(.eyebrow){font-size:13px;color:var(--muted);line-height:1.95;max-width:420px}.signature{font-family:var(--serif);font-size:28px;font-style:italic;color:var(--wine);margin-top:25px}.signature span{font-size:25px;margin-left:15px}.story-copy .location{font-size:10px!important;margin-top:8px;letter-spacing:1px}.process{text-align:center}.process .eyebrow{justify-content:center;margin-bottom:17px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;text-align:left;margin-top:45px}.steps article{border-top:1px solid var(--border);padding-top:20px}.steps article>span{font-family:var(--serif);color:#b4998b;font-size:37px;display:block;margin-bottom:15px}.steps p{font-size:13px;color:var(--muted);line-height:1.85;max-width:320px}.faq-section{padding-block:65px;background:#f3eee6;border-block:1px solid var(--border)}.faq-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:100px}.faqs details{border-bottom:1px solid var(--border);padding:19px 0}.faqs details:first-child{padding-top:0}.faqs summary{cursor:pointer;list-style:none;position:relative;font-family:var(--serif);font-size:20px;padding-right:35px}.faqs summary::-webkit-details-marker{display:none}.faqs summary:after{content:'+';position:absolute;right:0;top:0;color:var(--wine);font-family:Arial;font-size:23px;font-weight:300}.faqs details[open] summary:after{content:'−'}.faqs p{font-size:13px;line-height:1.9;color:var(--muted);margin:18px 30px 0 0}.enquiry-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px}.enquiry-copy h2{font-size:75px;line-height:1.05}.enquiry-copy>p:not(.eyebrow){max-width:300px;font-size:13px;color:var(--muted);line-height:1.9}.contact-note{border-top:1px solid var(--border);padding-top:25px;margin-top:35px;display:flex;align-items:flex-start;gap:16px}.contact-note>span{font-size:30px;color:var(--wine)}.contact-note p{font-size:11px;color:var(--muted);line-height:2;margin-top:6px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:11px;color:var(--ink)}label>span{display:block;margin-bottom:9px}input,select,textarea{width:100%;border:1px solid #d9cec1;background:#fffdf9;color:var(--ink);padding:12px 13px;border-radius:0;min-height:46px;font-size:13px}textarea{resize:vertical;line-height:1.7}textarea::placeholder{color:#82766c}.full{grid-column:1/-1}.form-help{font-size:11px;color:var(--muted);line-height:1.8;margin:20px 0}#message-panel{border-top:1px solid var(--border);margin-top:25px;padding-top:25px}.message-actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-top:18px}#copy-status{color:var(--wine);font-size:12px;margin:12px 0}footer{background:#342b29;color:#f7eee5;padding:35px 0 20px}.footer-top{display:flex;justify-content:space-between;gap:30px;align-items:center;padding-bottom:30px}.footer-top .monogram{border-color:#917d6e}.footer-top .monogram span{background:#342b29;color:#c9a5aa}.footer-top>p{font-family:var(--serif);font-size:26px;font-style:italic;margin:0;color:#dac9bc}.footer-top>a:last-child{font-size:12px}.footer-bottom{border-top:1px solid #60514a;display:flex;justify-content:space-between;gap:20px;padding-top:20px;font-size:10px;color:#d1c0b4}.privacy-link{color:inherit;border:0;background:none;font-size:10px;padding:0;text-decoration:underline;text-underline-offset:3px}.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}.skip{position:absolute;top:-100px;left:20px;z-index:5;background:var(--paper);padding:10px}.skip:focus{top:10px}dialog{border:1px solid var(--border);padding:0;width:min(650px,calc(100% - 32px));max-height:92vh;background:var(--paper);color:var(--ink)}dialog::backdrop{background:rgba(30,19,23,.78)}#cake-dialog>img{width:100%;max-height:65vh;object-fit:contain;background:#e9ded3}.dialog-close{position:absolute;right:12px;top:12px;border:1px solid var(--border);border-radius:50%;width:36px;height:36px;background:var(--paper);color:var(--wine);font-size:26px;line-height:1;z-index:1}.dialog-copy{padding:25px 30px}.dialog-copy h3{margin:0 0 10px}.dialog-copy p{font-size:13px;color:var(--muted);margin-bottom:12px}.dialog-copy a{font-size:11px;text-decoration:underline;text-underline-offset:4px}#privacy-dialog .dialog-copy{padding:50px 35px 30px}body:has(dialog[open]){overflow:hidden}
@media(min-width:1450px){.hero{gap:100px}.image-frame img{height:570px}.hero-copy{padding-block:45px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.header{padding:22px 30px}nav{gap:18px}.header-actions{gap:15px}.hero{gap:40px}.image-frame img{height:440px}h1{font-size:49px}.hero-buttons{gap:18px}.story-grid,.enquiry-grid,.faq-grid{gap:55px}.cake-photo img{height:290px}.occasion-strip{font-size:18px}.steps{gap:35px}}
@media(max-width:850px){nav{display:none}.hero{gap:30px}h1{font-size:42px;letter-spacing:-1.5px}.image-frame img{height:410px}.intro{font-size:13px}.hero-buttons{align-items:flex-start;flex-direction:column}.hero-note{margin-top:20px}.round-note{width:90px;height:90px;left:-22px;bottom:45px;font-size:7px}.photo-caption{font-size:7px}.photo-caption span:last-child{display:none}.occasion-strip{flex-wrap:wrap;gap:8px 20px;padding:18px;font-size:17px}.occasion-strip b:last-of-type{display:none}.gallery{grid-template-columns:1fr 1fr}.cake-photo img{height:330px}.section-top{align-items:flex-start;flex-direction:column;gap:20px}.section-top>p{max-width:430px}.story-grid{gap:35px}.story-image img{height:430px}.story-copy h2{font-size:35px}.story-copy .eyebrow{font-size:8px}.steps{gap:25px}.steps h3{font-size:22px}.faq-grid{grid-template-columns:1fr;gap:20px}.faq-grid h2 br{display:none}.enquiry-grid{gap:40px}.enquiry-copy h2{font-size:58px}.form-grid{gap:15px}.footer-top>p{font-size:22px}}
@media(max-width:600px){.wrap{width:calc(100% - 40px)}.announcement{font-size:9px;letter-spacing:.6px;padding:9px 12px}.header{padding:20px;gap:14px}.brand{font-size:11px;gap:8px;letter-spacing:1.5px}.brand small{font-size:7px;letter-spacing:2px}.monogram{width:46px;height:46px;font-size:29px}.monogram span{left:16px;font-size:16px}.header-actions{gap:14px}.header-actions>.button{display:none}.hero{grid-template-columns:1fr;padding-top:35px;padding-bottom:38px;gap:25px}.hero-copy{padding:0}.eyebrow{font-size:8px;letter-spacing:1.6px;margin-bottom:22px}h1{font-size:47px;letter-spacing:-1.7px;margin-bottom:23px}.intro{max-width:360px;margin-bottom:25px}.hero-buttons{flex-direction:row;align-items:center;gap:20px}.button{font-size:11px;padding:13px 19px}.hero-buttons .text-link{font-size:10px}.hero-note{margin-top:22px}.hero-visual{margin-top:5px;padding:0 12px 0 25px}.image-frame{padding:9px}.image-frame img{height:390px}.round-note{bottom:35px;left:0;width:90px;height:90px}.photo-caption{font-size:7px;margin-top:12px}.occasion-strip{font-size:15px;gap:8px 16px}.occasion-strip b:nth-of-type(2){display:none}.occasion-strip span{flex-basis:40%;text-align:center}.occasion-strip b{display:none}.section{padding-block:52px}h2{font-size:36px}.section-top{gap:14px;margin-bottom:23px}.section-top .eyebrow{margin-bottom:15px}.filters{gap:7px;margin:25px 0}.filters button{padding:8px 15px;font-size:10px}.gallery{gap:28px 13px}.cake-photo img{height:220px}.view-photo{width:28px;height:28px;font-size:16px;bottom:9px;right:9px}.cake-category{font-size:8px;margin-top:13px;letter-spacing:1px}.cake h3{font-size:21px}.cake p{font-size:11px;line-height:1.6}.gallery-bottom{align-items:flex-start;flex-direction:column;gap:12px;margin-top:25px}.story-section{padding-block:45px}.story-grid{grid-template-columns:1fr;gap:43px}.story-image{padding-left:15px;margin-right:10px}.story-image img{height:400px}.story-image:before{top:15px}.story-copy h2{font-size:36px}.story-copy .eyebrow{font-size:9px}.steps{grid-template-columns:1fr;gap:20px;margin-top:30px}.steps article{position:relative;padding:23px 0 0 55px;min-height:130px}.steps article>span{position:absolute;left:0;top:15px;font-size:30px}.steps h3{font-size:25px}.steps p{max-width:none}.process h2{margin-bottom:0}.faq-section{padding-block:45px}.faq-grid{gap:10px}.faqs summary{font-size:19px}.faqs p{margin-right:0}.enquiry-grid{grid-template-columns:1fr;gap:28px}.enquiry-copy h2{font-size:57px}.enquiry-copy h2 br{display:none}.enquiry-copy>p:not(.eyebrow){max-width:none}.contact-note{margin-top:25px;padding-top:20px}.form-grid{gap:17px 13px}input,select,textarea{font-size:16px;padding:11px}.form-help{font-size:11px}.footer-top{flex-wrap:wrap;gap:24px;padding-bottom:25px}.footer-top>p{font-size:20px}.footer-top>a:last-child{width:100%}.footer-bottom{flex-direction:column;gap:8px;align-items:flex-start;font-size:10px}.dialog-copy{padding:22px}.dialog-copy h3{font-size:26px}}
@media(max-width:380px){h1{font-size:41px}.hero-buttons{gap:15px}.gallery{grid-template-columns:1fr}.cake-photo img{height:330px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.image-frame img{height:350px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Expanded studio portfolio */
.filters{flex-wrap:wrap}.cake-photo{aspect-ratio:4/5;background:#efe4d6}.cake-photo img{height:100%;object-fit:contain}.story-image>img:first-child{object-fit:contain;background:#f2e7db}.story-image .story-detail{position:absolute;width:37%;height:auto;aspect-ratio:1;object-fit:cover;right:-30px;bottom:-15px;border:8px solid var(--paper);box-shadow:0 8px 24px #3728221a;z-index:1}.story-image .image-label{z-index:2}.photo-versions{display:flex;gap:8px;margin:0 0 18px;flex-wrap:wrap}.photo-versions button{border:1px solid var(--border);background:transparent;padding:8px 15px;font-size:11px;color:var(--ink);border-radius:25px}.photo-versions button[aria-pressed=true]{background:var(--wine);color:var(--paper);border-color:var(--wine)}.dialog-copy .retouch-note{font-size:10px;line-height:1.6;color:var(--muted)}.image-frame img{object-fit:cover;object-position:center 55%}
@media(max-width:600px){.story-image .story-detail{right:-10px;bottom:-20px;width:40%;border-width:5px}.cake-photo img{height:100%}.filters button{padding:8px 13px}.story-grid{gap:50px}}
