/* Corporate gift cards page (owner request 31 Oct 2026). Builds on shop.css and portal.css. */
.corp-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,5vw,72px);align-items:center;padding-top:clamp(64px,8vw,120px);padding-bottom:clamp(40px,5vw,72px)}
.corp-hero .section-number{color:#edae76;letter-spacing:.19em}
.corp-hero h1{font:400 clamp(42px,6vw,88px)/1.05 var(--serif);letter-spacing:-.05em;margin:22px 0}
.corp-hero h1 em{color:#edb277}
.corp-lede{max-width:600px;font-size:17px;line-height:1.7;color:#efd5c1;margin:0 0 24px}
.corp-pill{display:inline-flex;align-items:baseline;gap:8px;padding:10px 18px;border:1px solid rgba(237,178,119,.55);border-radius:999px;color:#efd5c1;font-size:15px}
.corp-pill b{font:400 22px/1 var(--serif);color:#edb277}
.corp-links{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin:28px 0 0}
.corp-cta{text-decoration:none;background:var(--copper,#e4a366);color:#351508;transition:background .2s ease,transform .2s ease}
.corp-cta:hover{background:#f0be8d;transform:translateY(-1px)}
.corp-flyer{color:#edb277;font-size:14px;text-underline-offset:3px;transition:color .2s ease}
.corp-flyer:hover{color:#fff2e4}
.corp-photo{margin:0}
.corp-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;box-shadow:0 30px 60px -30px rgba(0,0,0,.7)}
.corp-photo figcaption{margin-top:10px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#cfae95}
.corp-band{padding-top:clamp(40px,5vw,64px);padding-bottom:clamp(40px,5vw,64px);border-top:1px solid rgba(237,178,119,.22);border-bottom:1px solid rgba(237,178,119,.22)}
.corp-band h2,.corp-grid h2{font:400 clamp(30px,3.4vw,46px)/1.1 var(--serif);letter-spacing:-.04em;margin:0 0 28px;color:#fff2e4}
.corp-band h2 em,.corp-grid h2 em{color:#edb277}
.corp-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,3vw,40px)}
.corp-stats b{display:block;font:400 clamp(40px,5vw,64px)/1 var(--serif);color:#edb277;letter-spacing:-.03em}
.corp-stats p{margin:12px 0 8px;font-size:15px;line-height:1.6;color:#efd5c1}
.corp-stats small{font-size:12px;letter-spacing:.08em;color:#cfae95}
.corp-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,5vw,72px);align-items:start;padding-top:clamp(56px,7vw,96px);padding-bottom:clamp(40px,5vw,72px)}
.corp-table{width:100%;border-collapse:collapse;font-size:15px}
.corp-table th{padding:0 12px 12px 0;text-align:left;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#edae76;border-bottom:1px solid rgba(237,178,119,.35)}
.corp-table td{padding:14px 12px 14px 0;border-bottom:1px solid rgba(237,178,119,.16);color:#efd5c1;line-height:1.5;vertical-align:top}
.corp-table td:first-child{font:400 22px/1.2 var(--serif);color:#fff2e4;white-space:nowrap}
.corp-table td:nth-child(2){font-weight:600;color:#edb277;white-space:nowrap}
.corp-choice td{color:#fff2e4}
.corp-note{margin:20px 0 0;font-size:15px;line-height:1.65;color:#cfae95}
.corp-formats{display:grid;gap:16px}
.corp-format{padding:22px 24px;border:1px solid rgba(237,178,119,.28);background:rgba(255,240,225,.04)}
.corp-format.gold{border-color:rgba(237,178,119,.6);background:rgba(237,178,119,.1)}
.corp-format h3{margin:0 0 8px;font:400 24px/1.2 var(--serif);color:#fff2e4}
.corp-format p{margin:0;font-size:15px;line-height:1.65;color:#efd5c1}
.corp-format span{display:inline-block;margin-top:12px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#edb277}
.corp-order{padding-bottom:clamp(80px,10vw,130px)}
.corp-card{max-width:720px}
.corp-card .section-number{color:#eec094;letter-spacing:.2em;font-size:12px;font-weight:700}
.corp-card h2{margin:10px 0 14px;font:400 clamp(30px,5vw,42px)/1.12 var(--serif,'Playfair Display',Georgia,serif);color:var(--ink)}
.corp-card h2 em{color:#f0b77f}
.corp-optional{font-weight:400;color:var(--text-muted,#e0c4ad)}
.corp-fieldset{border:0;margin:0;padding:0;display:grid;gap:8px;min-width:0}
.corp-fieldset legend{margin-bottom:6px;font-size:14px;color:var(--ink)}
.corp-line{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:8px;transition:border-color .2s ease}
.corp-line.invalid{border-color:#ffb4a2}
.corp-small{font-size:12px;color:var(--text-muted,#e0c4ad)}
.corp-remove{min-height:46px;padding:0 12px;background:none;border:1px solid var(--line);border-radius:8px;color:#f1c39b;font:inherit;font-size:13px;cursor:pointer;transition:border-color .2s ease,color .2s ease}
.corp-remove:hover{border-color:#f1c39b;color:#f8e9d9}
.corp-total{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;padding:14px 16px;border-radius:8px;background:rgba(0,0,0,.18);font-size:15px;color:var(--text-muted,#e0c4ad)}
.corp-total strong{font-size:17px;color:#f0b77f}
.corp-trap{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.corp-fine{margin:4px 0 0;font-size:13px;line-height:1.6;color:var(--text-muted,#e0c4ad)}
#corp-thanks h2{margin:6px 0 12px}
.corp-line.person{grid-template-columns:110px 1fr 1fr auto}
.corp-line.person .corp-wide{grid-column:1/-2}
.corp-eta{margin:2px 0 6px;font-size:14px;line-height:1.55;color:#f0d2b8}
.corp-eta strong{color:#f0b77f}
.corp-fine a{color:#f0b77f}
.corp-confirm{max-width:720px;padding-top:clamp(64px,8vw,120px);padding-bottom:clamp(80px,10vw,130px)}
.corp-confirm h1{font:400 clamp(40px,6vw,76px)/1.05 var(--serif);letter-spacing:-.05em;margin:18px 0}
.corp-confirm h1 em{color:#edb277}
.corp-confirm .section-number{color:#edae76;letter-spacing:.19em}
.corp-summary{margin:28px 0 0;padding:22px 24px;border:1px solid rgba(237,178,119,.4);background:rgba(237,178,119,.08)}
.corp-summary p{display:flex;justify-content:space-between;gap:16px;margin:0;padding:9px 0;border-bottom:1px solid rgba(237,178,119,.16);color:#efd5c1}
.corp-summary p strong{color:#fff2e4;text-align:right}
.corp-summary .corp-sum-meta{display:block;border:0;padding-top:14px;font-size:14px;line-height:1.6;color:#cfae95}
.corp-summary .button{margin-top:16px}
@media(max-width:900px){.corp-hero,.corp-grid{grid-template-columns:1fr}.corp-stats{grid-template-columns:1fr}}
@media(max-width:560px){.corp-line,.corp-line.person{grid-template-columns:1fr 1fr}.corp-line.person .corp-wide{grid-column:1/-1}.corp-remove{grid-column:1/-1;min-height:38px}.portal-two{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.corp-cta,.corp-line,.corp-remove{transition:none}}
.corp-card textarea{width:100%;box-sizing:border-box;min-height:70px;padding:12px 13px;border:1px solid var(--line);border-radius:8px;background:var(--rust-deep,#321308);color:var(--ink);font:inherit;font-size:16px;line-height:1.55;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease}
.corp-card textarea:focus{outline:none;border-color:var(--copper,#e4a366);box-shadow:0 0 0 3px rgba(228,163,102,.25)}
.corp-vibe{display:grid;grid-template-columns:64px 1fr;gap:16px;align-items:center;text-decoration:none;transition:border-color .2s ease,transform .2s ease}
.corp-vibe:hover{border-color:rgba(237,178,119,.7);transform:translateY(-2px)}
.corp-vibe img{width:64px;height:64px}
.corp-vibe-text{display:block}
@media(prefers-reduced-motion:reduce){.corp-vibe{transition:none}}
