.gift-card-page{max-width:1220px;margin:0 auto;padding:48px var(--gutter) 100px}
.gift-back-link{display:inline-block;font:12px/1.7 var(--font-body);color:var(--muted);margin-bottom:33px;text-decoration:none}
.gift-back-link:hover{color:var(--ink)}
.gift-page-heading{max-width:710px;margin-bottom:45px}
.gift-kicker{font:11px/1.6 var(--font-body);color:var(--muted);letter-spacing:.07em;text-transform:uppercase;margin:0 0 13px}
.gift-page-heading h1{font:300 clamp(54px,7vw,84px)/1.06 var(--font-title);letter-spacing:-.035em;margin:0 0 22px}
.gift-page-heading>p:last-child{font:16px/1.8 var(--font-body);color:var(--muted);max-width:570px;margin:0}
.gift-purchase-layout{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);gap:50px;align-items:start}
.gift-visual{position:sticky;top:125px;overflow:hidden;background:var(--ink);color:#faf5ef}
.gift-visual>img{display:block;width:100%;height:auto;aspect-ratio:1.504;object-fit:cover}
.gift-visual-copy{padding:34px 35px 30px}
.gift-visual-copy h2{font:300 clamp(32px,3.2vw,43px)/1.15 var(--font-title);letter-spacing:-.025em;margin:0 0 19px}
.gift-visual-copy p{font:13px/1.85 var(--font-body);color:#ded8d0;max-width:370px;margin:0 0 24px}
.gift-visual-copy>span{display:block;font:10px/1.8 var(--font-body);color:#c9c1b8;border-top:1px solid rgba(250,245,239,.22);padding-top:20px}
.gift-flow{min-width:0;border:1px solid var(--border-soft);background:rgba(252,249,246,.7);padding:30px}
.gift-steps{display:flex;list-style:none;margin:0 0 33px;padding:0;border-bottom:1px solid var(--line);gap:28px}
.gift-steps>li{display:flex;align-items:center;gap:9px;font:11px/1.6 var(--font-body);color:var(--muted);padding:0 0 18px;position:relative}
.gift-steps>li[aria-current=step]{color:var(--ink)}
.gift-steps>li[aria-current=step]::after{content:'';height:2px;background:var(--accent);position:absolute;bottom:-1px;left:0;right:0}
.gift-steps>li>span{font-size:10px;color:var(--accent)}
.gift-section-heading{margin-bottom:26px}
.gift-section-heading h2{font:300 37px/1.1 var(--font-title);letter-spacing:-.025em;margin:0 0 12px}
.gift-section-heading h2:focus{outline:none}
.gift-section-heading p{font:12px/1.8 var(--font-body);color:var(--muted);margin:0}
.gift-value-form fieldset,.gift-details-form fieldset{padding:0;border:0;margin:0;min-width:0}
.gift-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px}
.gift-preset{position:relative;cursor:pointer;text-align:center;min-width:0}
.gift-preset>input{position:absolute;opacity:0;width:1px;height:1px;inset:50%;pointer-events:none}
.gift-preset>span{display:block;padding:20px 10px;border:1px solid var(--border-strong);background:#fbf7f3;color:var(--ink);font:300 31px/1.15 var(--font-title);letter-spacing:-.02em;transition:background .15s,border-color .15s}
.gift-preset:has(input:checked)>span{background:var(--ink);border-color:var(--ink);color:#faf5ef}
.gift-preset:has(input:focus-visible)>span{outline:2px solid var(--ink);outline-offset:4px}
.gift-custom-choice{display:flex;align-items:center;gap:11px;font:13px/1.7 var(--font-body);color:var(--ink);cursor:pointer;margin-bottom:4px}
.gift-custom-choice input,.gift-delivery-choice>input,.gift-terms>input{width:17px;height:17px;min-height:0;flex:none;accent-color:var(--ink);margin:2px 0 0}
.gift-custom-field{display:flex;flex-direction:column;font:12px/1.7 var(--font-body);gap:10px;margin-top:21px}
.gift-custom-field>div{display:flex;align-items:center;border:1px solid var(--border-strong);background:#fcf9f6}
.gift-custom-field>div>span{padding-left:15px;color:var(--muted);font-size:17px;line-height:1}
.gift-card-page .gift-custom-field input{width:100%;min-width:0;background:transparent;border:0;border-radius:0;padding:13px 15px;color:var(--ink);font:16px/1.6 var(--font-body)}
.gift-custom-field>div:focus-within{border-color:var(--ink);box-shadow:0 1px 0 var(--ink)}
.gift-card-page .gift-custom-field input:focus{outline:none;box-shadow:none}
.gift-hint{font:10px/1.8 var(--font-body);color:var(--muted)}
.gift-value-total{display:flex;justify-content:space-between;align-items:baseline;border-block:1px solid var(--line);margin:28px 0 23px;padding:20px 0;gap:22px}
.gift-value-total>span{font:12px/1.7 var(--font-body);color:var(--muted)}
.gift-value-total strong{font:300 36px/1 var(--font-title);letter-spacing:-.025em;white-space:nowrap}
.gift-primary{display:flex;align-items:center;justify-content:space-between;gap:25px;width:100%;min-height:52px;background:var(--ink);color:#faf5ef;border:1px solid var(--ink);padding:16px 19px;cursor:pointer;font:13px/1.6 var(--font-body);text-align:left;border-radius:0}
.gift-primary>span{font-size:21px;line-height:1}
.gift-primary:hover{background:#354038}
.gift-primary:disabled{opacity:.48;cursor:default}
.gift-primary:focus-visible,.gift-selected-value button:focus-visible,.gift-back-button:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.gift-selected-value{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 0 22px;border-bottom:1px solid var(--line);margin-bottom:26px}
.gift-selected-value>span{font:12px/1.7 var(--font-body);color:var(--muted)}
.gift-selected-value strong{display:inline-block;font:300 25px/1 var(--font-title);color:var(--ink);margin-left:10px;white-space:nowrap}
.gift-selected-value button,.gift-back-button{padding:0;border:0;background:none;color:var(--ink);font:11px/1.8 var(--font-body);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.gift-details-form{display:flex;flex-direction:column;gap:27px}
.gift-details-form>fieldset+fieldset{border-top:1px solid var(--line);padding-top:24px}
.gift-details-form legend{display:block;font:300 26px/1.2 var(--font-title);letter-spacing:-.02em;padding:0;margin-bottom:20px}
.gift-details-form legend>span{font:10px/1.6 var(--font-body);color:var(--muted);letter-spacing:0;margin-left:10px}
.gift-details-form label:not(.gift-delivery-choice):not(.gift-terms){display:flex;flex-direction:column;gap:9px;font:12px/1.7 var(--font-body);color:var(--ink);min-width:0}
.gift-details-form fieldset>label,.gift-post-fields>label{margin-top:20px}
.gift-details-form .gift-field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;min-width:0}
.gift-card-page .gift-details-form input:not([type=checkbox]):not([type=radio]),.gift-card-page .gift-details-form select{width:100%;min-width:0;border:1px solid var(--border-strong);border-radius:0;background:#fcf9f6;padding:12px 13px;color:var(--ink);font:14px/1.65 var(--font-body);box-shadow:none}
.gift-card-page .gift-details-form input:focus,.gift-card-page .gift-details-form select:focus{outline:0;border-color:var(--ink);box-shadow:0 1px 0 var(--ink)}
.gift-card-page input[aria-invalid=true]{border-color:#945d44!important}
.gift-field-error,.gift-form-error{color:#81523e;font:11px/1.7 var(--font-body);letter-spacing:0}
.gift-form-error{border-left:2px solid #945d44;padding:4px 0 4px 13px;margin:0}
.gift-delivery-options{display:grid;gap:12px}
.gift-delivery-choice{display:flex;align-items:start;gap:12px;border:1px solid var(--border-strong);background:#fcf9f6;padding:16px;cursor:pointer}
.gift-delivery-choice:has(input:checked){border-color:var(--accent);background:var(--selected-surface)}
.gift-delivery-choice:has(input:disabled){opacity:.55;cursor:default}
.gift-delivery-choice strong{font:400 13px/1.65 var(--font-body);display:block;color:var(--ink)}
.gift-delivery-choice small{display:block;font:11px/1.7 var(--font-body);color:var(--muted);margin-top:4px}
.gift-post-fields{display:flex;flex-direction:column;gap:20px}
.gift-post-fields>label{margin-top:0}
.gift-post-fields{padding-top:22px}
.gift-pickup-note{font:12px/1.8 var(--font-body);color:var(--muted);margin:20px 0 0}
.gift-details-form .gift-optional{font:10px/1.6 var(--font-body);color:var(--muted);margin-top:-3px}
.gift-checkout-total{padding-top:9px;border-top:1px solid var(--line)}
.gift-checkout-total>div{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:9px 0;font:12px/1.7 var(--font-body);color:var(--muted)}
.gift-checkout-total strong{font:400 14px/1.5 var(--font-body);color:var(--ink);white-space:nowrap}
.gift-checkout-total .gift-total-row{border-top:1px solid var(--line);margin-top:12px;padding-top:20px;color:var(--ink)}
.gift-total-row>span{font:300 30px/1.1 var(--font-title);letter-spacing:-.02em}
.gift-checkout-total .gift-total-row>strong{font:300 36px/1 var(--font-title);letter-spacing:-.025em}
.gift-terms{display:flex;align-items:start;gap:12px;font:11px/1.8 var(--font-body);color:var(--muted)}
.gift-terms a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.gift-payment-note{font:10px/1.8 var(--font-body);color:var(--muted);margin:-11px 0 0}
.gift-back-button{align-self:flex-start;font-size:12px;margin-top:-8px}
.gift-sr-only{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}
.gift-card-page [hidden]{display:none!important}
@media(max-width:1100px){.gift-purchase-layout{gap:30px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.gift-visual-copy{padding:28px}.gift-flow{padding:26px}.gift-presets{gap:10px}.gift-preset>span{font-size:28px;padding:18px 9px}.gift-details-form .gift-field-row{gap:14px}}
@media(max-width:850px){.gift-card-page{max-width:720px;padding-top:32px;padding-bottom:70px}.gift-page-heading{margin-bottom:30px}.gift-page-heading h1{font-size:62px}.gift-purchase-layout{grid-template-columns:1fr;gap:25px}.gift-visual{position:static}.gift-visual-copy{padding:25px 28px}.gift-visual-copy h2{font-size:35px}.gift-visual-copy p{max-width:none;margin-bottom:20px}.gift-visual-copy>span{padding-top:16px}.gift-flow{padding:28px}.gift-steps{margin-bottom:28px}.gift-section-heading h2{font-size:37px}}
@media(max-width:480px){.gift-card-page{padding-top:25px;padding-bottom:55px}.gift-back-link{margin-bottom:28px}.gift-page-heading h1{font-size:53px;margin-bottom:17px}.gift-page-heading>p:last-child{font-size:14px;line-height:1.8}.gift-visual-copy{padding:24px}.gift-visual-copy h2{font-size:32px}.gift-visual-copy p{font-size:12px}.gift-flow{padding:24px 20px}.gift-steps{gap:24px}.gift-steps>li{font-size:10px;gap:7px}.gift-section-heading h2{font-size:34px}.gift-presets{gap:9px}.gift-preset>span{font-size:27px;padding:19px 7px}.gift-value-total strong{font-size:33px}.gift-selected-value{gap:12px}.gift-selected-value>span{font-size:11px}.gift-selected-value strong{margin-left:7px;font-size:24px}.gift-selected-value button{font-size:10px}.gift-details-form .gift-field-row{grid-template-columns:1fr;gap:20px}.gift-card-page .gift-details-form input:not([type=checkbox]):not([type=radio]),.gift-card-page .gift-details-form select{font-size:16px}.gift-details-form legend{font-size:25px}.gift-details-form{gap:25px}.gift-checkout-total .gift-total-row>strong{font-size:32px}.gift-total-row>span{font-size:28px}.gift-primary{font-size:12px}.gift-payment-note{font-size:10px}}
@media(prefers-reduced-motion:reduce){.gift-preset>span{transition:none}}
@media(max-width:850px){.gift-visual-copy{display:none}.gift-visual>img{aspect-ratio:1.8}.gift-page-heading{margin-bottom:25px}}
@media(min-width:851px){.gift-purchase-layout:has([data-gift-step="1"]:not([hidden])){align-items:stretch}.gift-purchase-layout:has([data-gift-step="1"]:not([hidden])) .gift-visual{position:static;display:flex;flex-direction:column}.gift-purchase-layout:has([data-gift-step="1"]:not([hidden])) .gift-visual-copy{display:flex;flex-direction:column;flex:1}.gift-purchase-layout:has([data-gift-step="1"]:not([hidden])) .gift-visual-copy>span{margin-top:auto}}

.gift-result-shell{max-width:740px;padding:60px var(--gutter) 90px;margin:0 auto;min-height:55vh}
.gift-result-card{border:1px solid var(--border-soft);background:rgba(252,249,246,.76);padding:44px 42px 28px;text-align:center}
.gift-result-card>header{max-width:520px;margin:0 auto}
.gift-result-card h1{font:300 clamp(37px,5vw,55px)/1.1 var(--font-title);letter-spacing:-.03em;text-wrap:balance;margin:0}
.gift-result-card header>p{font:14px/1.85 var(--font-body);color:var(--muted);margin:20px 0 0}
.gift-result-mark{display:flex;justify-content:center;align-items:center;width:50px;height:50px;border:1px solid var(--border-strong);border-radius:50%;margin:0 auto 25px;font:300 27px/1 var(--font-title);color:var(--ink)}
.gift-result-mark svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.gift-result-mark.waiting{border:0}
.gift-result-spinner{display:block;width:32px;height:32px;border:1px solid var(--border-soft);border-top:2px solid var(--accent);border-radius:50%;animation:gift-result-spin 1.1s linear infinite}
@keyframes gift-result-spin{to{transform:rotate(360deg)}}
.gift-result-details{border-top:1px solid var(--line);margin-top:28px;padding-top:26px}
.gift-result-details h2{font:300 31px/1.15 var(--font-title);letter-spacing:-.02em;margin:0 0 9px}
.gift-result-details>p{font:12px/1.8 var(--font-body);color:var(--muted);margin:0 0 24px}
.gift-result-details dl{margin:0;text-align:left}
.gift-result-details dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:10px 0;font:12px/1.7 var(--font-body);color:var(--muted)}
.gift-result-details dd{margin:0;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.gift-result-details .gift-result-total{border-top:1px solid var(--line);margin-top:10px;padding-top:19px;color:var(--ink)}
.gift-result-total dt,.gift-result-total dd{font:300 29px/1.1 var(--font-title);letter-spacing:-.02em}
.gift-result-actions{display:flex;flex-direction:column;align-items:center;gap:18px;margin-top:29px}
.gift-result-actions .gift-primary{max-width:380px}
.gift-result-contact{font:12px/1.8 var(--font-body);color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.gift-result-note{font:12px/1.8 var(--font-body);color:var(--muted);max-width:490px;margin:26px auto 0}
.gift-result-reference{font:10px/1.8 var(--font-body);color:var(--muted);border-top:1px solid var(--line);padding-top:19px;margin:24px 0 0;overflow-wrap:anywhere}
@media(max-width:600px){.gift-result-shell{padding-top:32px;padding-bottom:55px}.gift-result-card{padding:30px 24px 24px}.gift-result-card h1{font-size:37px}.gift-result-card header>p{font-size:13px}.gift-result-mark{margin-bottom:23px}.gift-result-details h2{font-size:29px}.gift-result-actions .gift-primary{max-width:none}.gift-result-note{font-size:11px}.gift-result-reference{font-size:9px}}
@media(prefers-reduced-motion:reduce){.gift-result-spinner{animation:none}}
