:root{--paper:#f6f3ed;--ink:#2a322c;--muted:#616a62;--line:#d8ddd3;--green:#294438;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 var(--sans)}a{color:inherit}button,input,textarea{font:inherit}button,a,input,summary{touch-action:manipulation}button,summary{cursor:pointer}button{transition:background .18s,color .18s,transform .18s}button:disabled{cursor:wait;opacity:.55}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #678269;outline-offset:4px}header,footer{max-width:1280px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:32px 48px}.wordmark{text-decoration:none;font-size:23px;font-weight:700;letter-spacing:3px}.wordmark span{display:block;font-size:9px;font-weight:400;letter-spacing:2px;margin-top:2px}.header-link{font-size:14px;text-underline-offset:6px}main{max-width:1184px;margin:auto;padding:32px 0 80px}.intro{margin:16px 0 56px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:600}h1{font:normal clamp(42px,5.4vw,76px)/1.06 var(--serif);letter-spacing:-2px;margin:22px 0}h1 em{font-weight:400;color:#607661}p{margin:14px 0}.intro>p:not(.eyebrow){color:var(--muted);font-size:17px}.brand-line{margin-top:30px!important;font-size:12px!important;font-weight:600;letter-spacing:.4px}.brand-line span{margin:0 9px;color:#7d8c7d}.gift-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:72px}.form-section{border-top:1px solid var(--line);padding:27px 0 35px}.section-head{display:flex;align-items:center;gap:16px}h2{font:normal 27px/1.2 var(--serif);margin:0}.step{font-size:11px;border:1px solid #aebbac;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;flex-shrink:0}.hint{font-size:14px;color:var(--muted);margin:14px 0 22px}.designs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.design-choice{display:flex;flex-direction:column;gap:7px;text-align:left;border:0;padding:5px;background:transparent;font-size:12px;color:var(--ink);border-radius:5px}.design-choice[aria-checked=true]{box-shadow:0 0 0 2px var(--green)}.design-choice:hover{background:#e6eade}.mini-card{width:100%;aspect-ratio:1.5;overflow:hidden;border-radius:5px;position:relative}.voucher-artwork{display:block;width:100%;height:auto;aspect-ratio:1.5;object-fit:cover}.gift-card{width:100%;min-width:0;position:relative;overflow:hidden;border-radius:9px;box-shadow:0 15px 30px -24px #19261c60}.card-copy{padding:25px 28px}.card-brand{font-size:10px;letter-spacing:2px}.gift-card h3{font:normal 29px/1.2 var(--serif);margin:15px 0 25px}.card-value{font:normal 35px/1 var(--serif)}.card-person{margin:12px 0 0;font-size:13px}.card-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}.card-mark{font-size:9px;letter-spacing:1px;text-align:right}.sticky-preview{position:sticky;top:30px}.sticky-preview>.eyebrow{margin:0 0 18px}.preview-caption{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:16px}.gift-note{border-top:1px solid var(--line);margin-top:36px;padding-top:24px}.gift-note h3{font:normal 25px var(--serif);margin:0}.gift-note p{font-size:14px;color:var(--muted)}.amounts{display:flex;gap:8px;margin:22px 0}.amounts button{flex:1;border:1px solid var(--line);border-radius:3px;min-height:46px;background:transparent}.amounts button[aria-pressed=true]{background:var(--green);color:#fff;border-color:var(--green)}.field{display:flex;flex-direction:column;gap:8px;margin:16px 0}.field>span{font-size:13px;font-weight:600}.field small,legend small{font-weight:400;color:var(--muted)}input:not([type=checkbox]),textarea{background:#fffefa;border:1px solid #bec8ba;border-radius:3px;min-height:48px;padding:12px;width:100%;color:var(--ink)}textarea{resize:vertical}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.amount-field{max-width:245px;margin-bottom:7px}.amount-input{display:flex;align-items:center;border:1px solid #bec8ba;background:#fffefa;border-radius:3px;padding-left:15px;font-size:22px!important}.amount-input input{border:0;background:transparent;font-size:22px;padding-left:9px}small{font-size:12px}fieldset{border:0;padding:0;margin:30px 0 0}legend{font-size:16px;font-weight:600;width:100%}legend small{display:block;margin-top:3px}.terms{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;font-size:14px}.terms summary{min-height:24px}.terms ol{padding-left:20px;font-size:13px;color:var(--muted)}.terms li{margin:12px 0}.consent{display:flex;gap:12px;align-items:flex-start;font-size:13px;margin:25px 0}.consent input{width:20px;height:20px;flex-shrink:0;accent-color:var(--green);margin:0}.pay-button,.button{background:var(--green);color:#fff;border:0;border-radius:3px;min-height:54px;padding:16px 24px;text-align:center;text-decoration:none;font-weight:600;display:inline-block}.pay-button{width:100%}.pay-button:hover,.button:hover{background:#183528}.checkout-note{font-size:12px;text-align:center;color:var(--muted)}footer{border-top:1px solid var(--line);font-size:12px;margin-top:30px}footer>span{letter-spacing:2px}#gift-status:not(:empty){margin:20px 0;padding:16px;border:1px solid var(--line);background:#fffefa;border-radius:4px}#gift-status.is-error{border-color:#b77061;color:#872d24}.gift-result{max-width:700px;margin:35px auto;text-align:center}.gift-result h1{font-size:48px}.gift-result .gift-card{text-align:left;max-width:500px;margin:30px auto}.gift-result .actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.gift-result .gift-message{font:italic 23px/1.5 var(--serif);white-space:pre-line}.result-details{padding:20px;border-block:1px solid var(--line);margin:24px 0}.result-details p{margin:7px 0}.gift-result .terms{text-align:left;margin-top:35px}
@media(max-width:1250px){main{padding-inline:48px}.gift-layout{gap:45px}}@media(max-width:760px){header,footer{padding:24px}.wordmark{font-size:18px}.wordmark span{font-size:7px}.header-link{font-size:12px}main{padding:12px 24px 45px}.intro{margin-bottom:30px}h1{letter-spacing:-1px}.intro>p:not(.eyebrow){font-size:15px}.brand-line{line-height:2}.brand-line span{margin:0 4px}.gift-layout{display:flex;flex-direction:column;gap:30px}.preview-column{order:-1}.sticky-preview{position:static}.card-copy{padding:20px}.gift-card h3{font-size:27px;margin:12px 0 20px}.gift-card .card-value{font-size:32px}.gift-note{display:none}.designs{gap:10px}.mini-card{font-size:15px}.form-section{padding:24px 0 29px}h2{font-size:25px}.amounts{gap:6px}.amounts button{font-size:14px}.gift-result h1{font-size:38px}.field-grid{gap:10px}footer{gap:16px;align-items:flex-start}.preview-caption{font-size:10px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Use the approved logo artwork with its original colour and proportions. */
.wordmark{display:block;line-height:0}.beauty-blvd-logo{display:block;width:240px;max-width:100%;height:auto}.footer-logo{display:block;width:150px;height:auto}.card-logo{display:block;width:160px;max-width:100%;height:auto;margin-bottom:12px}.brand-strip{margin-top:26px}.brand-logos{overflow:hidden;width:100%;mask-image:linear-gradient(to right,transparent,#000 24px,#000 calc(100% - 24px),transparent)}.brand-logo-track{display:flex;width:max-content;animation:brand-drift 40s linear infinite}.brand-logo-group{display:flex;align-items:center;justify-content:space-around;gap:44px;width:clamp(640px,calc(100vw - 96px),1184px);padding:8px 22px;flex-shrink:0}.brand-logo-item{display:flex;align-items:center;justify-content:center;width:128px;height:48px;flex:0 0 128px}.brand-logo-item img{display:block;width:100%;height:auto;max-height:36px;object-fit:contain}@keyframes brand-drift{to{transform:translateX(-50%)}}@media(max-width:760px){.beauty-blvd-logo{width:170px}.footer-logo{width:140px}.brand-logo-group{gap:32px;padding-inline:16px}.brand-logo-item{width:112px;flex-basis:112px;height:44px}.brand-logo-item img{max-height:30px}}@media(prefers-reduced-motion:reduce){.brand-logos{mask-image:none}.brand-logo-track{animation:none;width:100%}.brand-logo-group{width:100%;padding:8px 0;gap:20px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.brand-logo-item{width:100%;max-width:128px;justify-self:center}.brand-logo-group[aria-hidden=true]{display:none}}@media(max-width:760px) and (prefers-reduced-motion:reduce){.brand-logo-group{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px}}

#gift-confirmation-initial{display:none}.gift-receipt #gift-confirmation-initial{display:block}.gift-receipt .intro,.gift-receipt #gift-purchase{display:none}.gift-confirmation{max-width:680px;margin:40px auto 70px;text-align:center;min-height:400px}.gift-confirmation h1{font-size:clamp(38px,5vw,62px)}.confirmation-spinner{width:56px;height:56px;margin:0 auto 30px;border:4px solid #d8ddd3;border-top-color:#294438;border-radius:50%;animation:confirm-spin 1s linear infinite}.confirmation-success{width:56px;height:56px;margin:0 auto 30px;background:#294438;border-radius:50%;position:relative}.confirmation-success:after{content:'';position:absolute;left:19px;top:12px;width:13px;height:24px;border:solid white;border-width:0 3px 3px 0;transform:rotate(45deg)}.confirmation-hint{color:var(--muted);max-width:540px;margin:24px auto 30px}.delivery-choice{padding:20px;border:1px solid var(--line);background:#fffefa}.delivery-choice strong{font-size:15px}.gift-confirmation .checkout-note{margin:24px auto;max-width:500px}@keyframes confirm-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.confirmation-spinner{animation:none}}

/* A considered form surface: soft corners, grouped details and calm states. */
:root{--field-surface:#fffefa;--field-border:#87988b;--soft-green:#e7ede4;--form-radius:14px}
#gift-form{min-width:0}
.section-head{gap:14px}
.step{width:32px;height:32px;border-color:#c0cbbd;background:var(--soft-green);color:var(--green);font-weight:600}
.form-section{padding-block:30px 38px}
.design-choice{padding:6px;border-radius:14px;gap:9px}
.mini-card{border-radius:10px}
.amounts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:26px 0 24px}
.amounts button{min-width:0;min-height:50px;padding:10px 6px;border-radius:999px;border-color:var(--field-border);background:var(--field-surface);color:var(--green);font-weight:600;font-variant-numeric:tabular-nums}
.amounts button[aria-pressed=true]{background:var(--green);color:#fff;border-color:var(--green);box-shadow:0 3px 8px #29443814}
.amounts button:active{transform:scale(.97)}
.field{gap:9px;margin:18px 0}
.field>span{font-size:13px;font-weight:600}
input:not([type=checkbox]),textarea{min-width:0;min-height:54px;padding:14px 15px;border-radius:var(--form-radius);border-color:var(--field-border);background:var(--field-surface);font-size:16px;line-height:1.45;transition:border-color .18s,box-shadow .18s,background .18s}
input:not([type=checkbox]):focus-visible,textarea:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-color:var(--green);background:#fff}
textarea{min-height:126px}
.amount-field{max-width:280px;margin-bottom:9px}
.amount-input{border-radius:16px;border-color:var(--field-border);background:var(--soft-green);padding-left:18px;gap:4px;overflow:visible;font-size:28px!important;font-variant-numeric:tabular-nums}
.amount-input input{border:0;min-width:0;background:transparent;font-size:28px;font-weight:600;box-shadow:none;border-radius:16px;padding:14px 14px 14px 4px}
.amount-input:focus-within{outline:2px solid var(--green);outline-offset:3px;border-color:var(--green)}
.amount-input input:focus-visible{outline:none;background:transparent}
#amount-hint{display:block;color:var(--muted);line-height:1.5}
#gift-form fieldset{min-width:0;margin:24px 0 0;padding:24px;background:#fffaf4;border:1px solid var(--line);border-radius:20px}
#gift-form legend{float:left;margin:0 0 10px;padding:0;font:normal 25px/1.2 var(--serif);color:var(--green)}
#gift-form legend small{font:normal 13px/1.5 var(--sans);margin-top:7px;color:var(--muted)}
#gift-form legend+*{clear:both}
#gift-form fieldset>.field:last-child{margin-bottom:0}
.field-grid{gap:14px}
#gift-form .field-grid .field{margin-bottom:0}
.delivery-choice{padding:22px;border-radius:18px;align-items:center}
.consent input{width:22px;height:22px;margin-top:2px}
.terms{padding-block:18px}
.terms summary{min-height:44px;display:flex;align-items:center;gap:10px;font-weight:600;color:var(--green);list-style:none}
.terms summary::-webkit-details-marker{display:none}
.terms summary::before{content:'+';font-size:24px;line-height:1;font-weight:400;width:20px;flex-shrink:0}
.terms[open] summary::before{content:'−'}
.pay-button,.button{border-radius:999px;min-height:56px;padding:16px 24px}
.gift-card{border-radius:18px}
#gift-status:not(:empty){border-radius:14px}
@media(hover:hover) and (pointer:fine){.amounts button:not([aria-pressed=true]):hover{background:var(--soft-green);border-color:var(--green)}}
@media(max-width:760px){.form-section{padding-block:26px 32px}.amounts{gap:8px}.amounts button{font-size:14px}.field-grid{gap:12px}#gift-form fieldset{padding:20px;border-radius:18px}.gift-card{border-radius:16px}}
@media(max-width:380px){.amounts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.field-grid{grid-template-columns:1fr;gap:0}#gift-form fieldset{padding:18px}.field-grid .field{margin-bottom:0}}
@media(prefers-reduced-motion:reduce){.amounts button:active{transform:none}input:not([type=checkbox]),textarea{transition:none}}
