/* I Do · stationery house PROTOTYPE · shop.css · SHOP1 · 28 Oct 2026 · DRAFT
   House tokens from warroom/warroomTokens.js (emerald one tone, ivory paper, champagne gold, ink). Faces are the app's
   own self-hosted ones (/fonts/_house-faces.generated.css). Design styles are scoped .pc--<design>. */
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url('/fonts/inter/inter-normal-latin.woff2') format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/manrope/manrope-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/manrope/manrope-latin-600-normal.woff2') format('woff2')}
:root{
  --emerald:#256B58; --emerald-deep:#14332B; --ivory:#F6EEDC; --ivory-deep:#F1E9D6; --paper:#FBF8F1;
  --ink:#232B27; --ink-soft:rgba(35,43,39,.64); --ink-faint:rgba(35,43,39,.44); --line:rgba(35,43,39,.12);
  --gold:#BFA067; --gold-hi:#F0DCA6; --gold-deep:#A9884E;
  --serif:'Cormorant Garamond', Georgia, serif; --sans:'Inter', system-ui, sans-serif;
  --r:14px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 var(--sans);overflow-x:hidden}
a{color:inherit}
.proto-flag{background:var(--emerald-deep);color:var(--gold-hi);font-size:12px;letter-spacing:.04em;text-align:center;padding:6px 16px}
.mast{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:16px;padding:12px max(16px,4vw);background:rgba(251,248,241,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.mast__mark{font:600 22px/1 var(--serif);color:var(--emerald);text-decoration:none;letter-spacing:.02em}
.faces{display:flex;gap:4px;flex:1;overflow-x:auto;scrollbar-width:none}
.faces a{white-space:nowrap;text-decoration:none;font-size:13.5px;padding:7px 12px;border-radius:99px;color:var(--ink-soft)}
.faces a[aria-current]{background:var(--emerald);color:#fff}
.basket-btn{font:500 13.5px var(--sans);background:none;border:1px solid var(--emerald);color:var(--emerald);border-radius:99px;padding:7px 14px;cursor:pointer;white-space:nowrap}
.basket-btn span{display:inline-block;min-width:1.4em;margin-left:4px;background:var(--emerald);color:#fff;border-radius:99px;font-size:12px;padding:0 5px}
main{max-width:1180px;margin:0 auto;padding:8px max(16px,4vw) 80px}
.kicker{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);margin:0 0 8px}
.lede{max-width:680px;padding:40px 0 24px}
.lede--tight{padding:16px 0 12px}
.lede h1,.proofpage h1,.rsvp h1{font:500 clamp(32px,5vw,48px)/1.08 var(--serif);margin:0 0 12px;color:var(--ink)}
.lede p{color:var(--ink-soft);font-size:16px;margin:0}
h2.sub{font:500 26px var(--serif);margin:36px 0 12px}
.crumbs{display:flex;gap:12px;align-items:center;padding:18px 0 0;font-size:13.5px;color:var(--ink-soft)}
.crumbs a{text-decoration:none;color:var(--emerald);font-weight:500}
.honest{font-size:12.5px;color:var(--ink-faint);max-width:620px;margin-top:32px}
.guest-door{display:flex;justify-content:space-between;align-items:center;gap:16px;text-decoration:none;background:var(--emerald);color:#fff;border-radius:var(--r);padding:16px 20px;margin:0 0 24px}
.guest-door b{display:block;font:500 20px var(--serif)} .guest-door span{font-size:13px;opacity:.82} .guest-door i{font-style:normal;color:var(--gold-hi);font-size:13.5px}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px}
.card{text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.card:hover{transform:translateY(-2px);box-shadow:0 12px 30px -18px rgba(20,51,43,.45)}
.card__proof{background:var(--ivory-deep);height:230px;display:flex;align-items:center;justify-content:center;padding:18px}
.card__txt{padding:12px 14px 14px} .card__txt b{display:block;font:500 19px var(--serif)} .card__txt span{font-size:12.5px;color:var(--ink-soft)}

/* the proof, sized to fit its box whatever its shape */
.tier{margin:26px 0 8px;padding-top:20px;border-top:1px solid var(--line)}
.tier__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;margin-bottom:14px}
.tier__head h2{font:500 28px var(--serif);margin:0;color:var(--emerald)}
.tier__head p{margin:0;color:var(--ink-soft);flex:1;min-width:220px} .tier__head p span{color:var(--ink-faint);font-size:13px}
.tier__row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:720px){.tier__row{grid-template-columns:1fr 1fr}.tier__row .design:last-child{grid-column:span 2}}
.design{text-decoration:none;display:flex;flex-direction:column;gap:4px}
.design__proof{background:var(--ivory-deep);border-radius:var(--r);height:280px;display:flex;align-items:center;justify-content:center;padding:20px;margin-bottom:6px;transition:background .2s}
.design:hover .design__proof{background:#EDE2C9}
.design b{font:500 18px var(--serif)} .design b em{font:500 10.5px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--gold-deep);border-radius:99px;padding:2px 7px;vertical-align:middle;margin-left:4px}
.design span{font-size:13px;color:var(--ink-soft)}
.price{font:500 18px var(--serif);color:var(--ink)} .price--wait,.wait{font:italic 400 14px var(--serif);color:var(--ink-faint)}

.proofpage{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:40px;padding-top:18px}
@media (max-width:860px){.proofpage{grid-template-columns:1fr;gap:24px}}
.proofpage__art{position:sticky;top:76px;align-self:start;display:flex;flex-direction:column;align-items:center;gap:14px}
@media (max-width:860px){.proofpage__art{position:static}}
.bigproof{width:100%;height:min(72vh,640px);background:var(--ivory-deep);border-radius:var(--r);display:flex;align-items:center;justify-content:center;padding:28px}
.qtyline{margin:0 0 4px;color:var(--ink-soft)} .qtyline b{color:var(--ink)} .priceline{margin:0 0 16px}
.act{display:inline-block;font:500 15px var(--sans);background:var(--emerald);color:#fff;border:0;border-radius:99px;padding:13px 24px;cursor:pointer;text-decoration:none;text-align:center}
.act:hover{background:#1E5A4A} .act--wide{display:block;width:100%;margin-top:16px}
.ghost{font:500 13.5px var(--sans);background:none;border:1px solid var(--line);color:var(--emerald);border-radius:99px;padding:8px 14px;cursor:pointer;text-decoration:none;white-space:nowrap}
.hint{font-size:13px;color:var(--ink-faint)}
.words{margin:22px 0;border:1px solid var(--line);border-radius:var(--r);padding:4px 16px 14px;background:#fff}
.words summary{cursor:pointer;font:500 18px var(--serif);padding:10px 0;color:var(--emerald)}
.words label,.addguest label{display:block;margin:10px 0}
.words label span,.addguest label span{display:block;font-size:12px;color:var(--ink-soft);margin-bottom:3px}
input,select{font:15px var(--sans);width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink)}
input:focus,select:focus{outline:2px solid var(--emerald);outline-offset:1px}
.dock{margin-top:24px;border-top:1px solid var(--line);padding-top:18px} .dock b{font:500 18px var(--serif)} .dock--off p{color:var(--ink-faint);font-size:13px}
solopress-configurator{--sp-accent:#256B58 !important;--sp-bg:#FBF8F1 !important;--sp-text:#232B27 !important;--sp-radius:12px !important;display:block;margin-top:10px}

.addguest{display:grid;grid-template-columns:1.2fr 1.2fr .8fr auto auto;gap:12px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:12px 16px;margin:12px 0 18px}
.addguest label{margin:0} .addguest .check{display:flex;gap:8px;align-items:center;font-size:13.5px;padding-bottom:10px} .addguest .check input{width:auto}
@media (max-width:860px){.addguest{grid-template-columns:1fr}}
.glist{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}
@media (max-width:400px){.glist{grid-template-columns:1fr}}
.grow{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:12px}
.grow__qr{width:76px;flex:none} .grow__txt{flex:1;min-width:0} .grow__txt b{display:block;font:500 17px var(--serif)} .grow__txt span{display:block;font-size:12.5px;color:var(--ink-soft)}
.grow__txt code{display:block;font-size:11px;color:var(--ink-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qr{display:block;width:100%;height:auto} .qr__bg{fill:#fff} .qr__ink{fill:var(--qr-ink,#232B27)}
.pages{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;margin-top:12px}
.page{margin:0} .page__art{background:var(--ivory-deep);border-radius:var(--r);height:330px;display:flex;align-items:center;justify-content:center;padding:18px}
.page figcaption{font-size:13px;color:var(--ink-soft);margin-top:6px}
.rsvp{max-width:520px;margin:40px auto;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px}
.rsvp fieldset{border:1px solid var(--line);border-radius:10px;margin:12px 0;padding:10px 14px} .rsvp legend{font:500 17px var(--serif);padding:0 6px}
.rsvp label{display:flex;gap:8px;align-items:center;margin:6px 0} .rsvp input{width:auto}
.done-note{color:var(--emerald);font-weight:500}

.sheet{position:fixed;inset:0;z-index:50;display:flex;justify-content:flex-end}
.sheet[hidden]{display:none}
.sheet__scrim{position:absolute;inset:0;background:rgba(20,51,43,.4)}
.sheet__panel{position:relative;width:min(440px,100%);height:100%;overflow:auto;background:var(--paper);padding:26px 22px 40px;box-shadow:-20px 0 50px -30px rgba(0,0,0,.5)}
.sheet__panel h2{font:500 30px var(--serif);margin:0 0 16px}
.sheet__x{position:absolute;top:12px;right:14px;font-size:26px;background:none;border:0;cursor:pointer;color:var(--ink-soft)}
.blist{list-style:none;padding:0;margin:0} .blist li{display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:12px 0}
.bl__art{width:64px;height:64px;flex:none;display:flex;align-items:center;justify-content:center;background:var(--ivory-deep);border-radius:8px;padding:6px}
.blist li > div:nth-child(2){flex:1} .blist b{display:block;font:500 16px var(--serif)} .blist span{display:block;font-size:12.5px;color:var(--ink-soft)} .blist i{font-style:normal;font-size:14px}
.blist .x{background:none;border:0;font-size:20px;color:var(--ink-faint);cursor:pointer}
.mockpay{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px}
.mockpay__flag{background:var(--ivory);border-radius:8px;padding:8px 10px;font-size:13px;color:var(--gold-deep)}
.steps{list-style:none;padding:0;margin:8px 0;border-left:2px solid var(--line)} .steps li{position:relative;padding:6px 0 14px 18px;color:var(--ink-faint)}
.steps li::before{content:'';position:absolute;left:-7px;top:10px;width:12px;height:12px;border-radius:50%;background:var(--paper);border:2px solid var(--line)}
.steps li.done{color:var(--ink-soft)} .steps li.done::before{background:var(--emerald);border-color:var(--emerald)}
.steps li.now{color:var(--ink)} .steps li.now::before{background:var(--gold);border-color:var(--gold)}
.steps b{display:block;font:500 17px var(--serif)} .steps span{font-size:13px}

@media (prefers-reduced-motion:reduce){.card,.design__proof{transition:none}}
@media (max-width:640px){.mast{flex-wrap:wrap;gap:10px}.faces{order:3;flex-basis:100%;margin:0 -4px}.mast__mark{flex:1}}
.grow{flex-wrap:wrap} .grow__txt{min-width:150px} .grow .ghost{padding:6px 12px;font-size:12.5px}
.price-note{font-size:12px;color:var(--ink-faint)}

/* v2 · the live configurator (R-RF-718) */
.card__price{display:block;margin-top:4px;font:500 13px var(--sans);color:var(--emerald)!important}
.card--off{opacity:.6} .card--off .card__price{color:var(--ink-faint)!important}
.opt{border:1px solid var(--line);border-radius:var(--r);padding:6px 14px 10px;margin:14px 0 10px;background:#fff}
.opt legend{font:500 16px var(--serif);padding:0 6px;color:var(--emerald)}
.opt__row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);cursor:pointer}
.opt__row:last-child{border-bottom:0} .opt__row input,.opt__foil input{width:auto;accent-color:var(--emerald)}
.opt__row span{flex:1} .opt__row b,.opt__foil b{display:block;font-weight:500;font-size:14px} .opt__row i,.opt__foil i{display:block;font-style:normal;font-size:12px;color:var(--ink-faint)}
.opt__row em{font:500 16px var(--serif);font-style:normal;white-space:nowrap}
.opt__foil{display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,rgba(231,207,146,.25),rgba(191,160,103,.12));border:1px solid rgba(191,160,103,.45);border-radius:var(--r);padding:10px 14px;margin-bottom:10px;cursor:pointer}
.opt__foil input:disabled + span{opacity:.5}
.opt__two{display:grid;grid-template-columns:1fr 1.4fr;gap:10px} .opt__two label span{display:block;font-size:12px;color:var(--ink-soft);margin-bottom:3px}
.warn{font-size:13px;color:#8a5a12;background:#FBF1DA;border-radius:8px;padding:6px 10px;margin:10px 0 0}
.pricebox{display:flex;flex-direction:column;margin:16px 0 4px;padding:14px 16px;border-radius:var(--r);background:var(--emerald-deep);color:#fff}
.pricebox__k{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-hi)} .pricebox__v{font:500 38px/1.1 var(--serif)} .pricebox__v--wait{font-size:26px;color:var(--gold-hi)} .pricebox__n{font-size:12.5px;opacity:.8}
.act:disabled{background:#9AA8A2;cursor:not-allowed}
.staff{margin:14px 0;border:1px dashed var(--gold-deep);border-radius:var(--r);padding:4px 14px 10px;background:#FFFCF4}
.staff summary{cursor:pointer;padding:8px 0;font:500 15px var(--serif);color:var(--gold-deep)} .staff summary i{font:400 11px var(--sans);color:var(--ink-faint);margin-left:6px}
.staff table{width:100%;border-collapse:collapse;font-size:13px} .staff td{padding:5px 0;border-bottom:1px solid var(--line)} .staff td:last-child{text-align:right;white-space:nowrap}
.bleedtoggle{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--ink-soft);cursor:pointer} .bleedtoggle input{width:auto}
.btotal{display:flex;justify-content:space-between;align-items:baseline;margin:12px 0 0;font-size:14px} .btotal b{font:500 24px var(--serif)}
.hubhead{display:flex;gap:16px;align-items:center;margin:20px 0 0;padding:22px 24px;border-radius:var(--r);background:var(--emerald);color:#fff}
.hubhead h1{font:500 clamp(24px,3.6vw,34px)/1.1 var(--serif);margin:0}
.hubhead__seal{width:56px;height:56px;flex:none;border-radius:50%;background:#F3E5C0;color:var(--emerald-deep);display:flex;align-items:center;justify-content:center;font:500 20px var(--serif)}
.kicker--light{color:var(--gold-hi)} .sub--top{margin-top:8px}
.tier__row--one{grid-template-columns:minmax(0,320px)}
.dock summary{cursor:pointer;font:500 17px var(--serif);padding:6px 0}
/* LOOK fix (guardian s90): at phone width the three tabs take their short names, so all three show */
.faces .t-s{display:none}
@media (max-width:480px){.faces .t-l{display:none}.faces .t-s{display:inline}.faces a{padding:7px 11px}}

/* ================= v3 · THE PIECES, TO THE LUXURY STANDARD (R-RF-723) =================
   Faces: Adobe Fonts kit (his account, localhost only) first, house faces as the fallback, so a proof never falls to sans.
   Paper: baked tiles in ./tex (an SVG paper shader rendered once: grain, fibre, relief). Gold: printed gold tone by default;
   real foil only on .pc--foiled. No deckle, vellum, envelope, liner, seal or ribbon — Dock sells none of them. */
@font-face{font-family:'Pinyon Script';font-style:normal;font-weight:400;font-display:swap;src:url('./fonts/pinyon-script-latin-400.woff2') format('woff2')}
.pc{
  --f-sc:'trajan-pro-3','Cormorant SC',serif; --f-body:'ambroise-std','Cormorant Garamond',serif; --f-it:'Cormorant Garamond',serif;
  --f-script:'bickham-script-pro-3','Pinyon Script',cursive; --k:1;
  --ink:#1B1A18; --ink-soft:rgba(27,26,24,.84); --au:#968563; --ground:#F6F1E6;
  position:relative;container-type:inline-size;flex:none;overflow:hidden;color:var(--ink);
  background:var(--ground) url(./tex/silk.jpg) 0 0/220px;
  box-shadow:0 0 0 .5px rgba(60,48,30,.18), 0 1px 0 rgba(255,255,255,.6) inset;
}
.pcw{display:flex;align-items:center;justify-content:center;max-width:100%;max-height:100%;height:100%;
  filter:drop-shadow(0 1px 1px rgba(40,32,20,.28)) drop-shadow(0 6px 8px rgba(40,32,20,.16)) drop-shadow(0 22px 26px rgba(40,32,20,.14))}
.p-pulp{background-image:url(./tex/pulp.jpg);box-shadow:0 0 0 .5px rgba(60,48,30,.2), 0 1.5px 0 #E2D8C4, 0 2.5px 0 rgba(60,48,30,.12)}
.p-velvet{background-image:url(./tex/velvet.jpg);box-shadow:0 0 0 .5px rgba(60,48,30,.2), 0 1.5px 0 #DDD3BF, 0 2.5px 0 rgba(60,48,30,.12)}
.g-forest{--ground:#1E3A30;--ink:#F1E8D6;--ink-soft:rgba(241,232,214,.78);--au:#AFA184;background-image:url(./tex/forest.jpg)}
.g-ink{--ground:#1C2433;--ink:#F1E8D6;--ink-soft:rgba(241,232,214,.78);--au:#AFA184;background-image:url(./tex/ink.jpg)}
.g-white{--ground:#FFFFFF;background-image:url(./tex/white.jpg)} /* R-RF-761 */
.g-slate{--ground:#4E5962;--ink:#F3EEE4;--ink-soft:rgba(243,238,228,.84);--au:#B9AB8C;background-image:url(./tex/slate.jpg)}
.i-navy{--ink:#1E2A44;--ink-soft:rgba(30,42,68,.86)} .i-forest{--ink:#1F3D31;--ink-soft:rgba(31,61,49,.86)} .i-oxblood{--ink:#5A1E24;--ink-soft:rgba(90,30,36,.88)}
.pc__light{position:absolute;inset:0;pointer-events:none;z-index:4;
  background:linear-gradient(128deg,rgba(255,255,255,.22) 0%,rgba(255,255,255,0) 38%,rgba(0,0,0,0) 70%,rgba(40,30,15,.07) 100%),radial-gradient(120% 90% at 30% 20%,transparent 60%,rgba(40,30,15,.05))}
.pc__in{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:12% 13%;gap:calc(1.5cqw * var(--k))}

/* type — no sans anywhere on a proof */
.pc .sc{font:600 calc(2.7cqw * var(--k))/1.6 var(--f-sc);letter-spacing:.24em;text-transform:uppercase;color:var(--ink)}
.pc .sc.sm{font-size:calc(2.45cqw * var(--k))} .pc .sc.xs{font-size:calc(1.95cqw * var(--k));letter-spacing:.2em;color:var(--ink-soft)} .pc .sc.wide{letter-spacing:.5em;font-size:calc(3.4cqw * var(--k))}
.pc .rm{font:300 calc(3.4cqw * var(--k))/1.45 var(--f-body);color:var(--ink)} .pc .rm.sm{font-size:calc(3.2cqw * var(--k))} .pc .rm.xs{font-size:calc(2.5cqw * var(--k));color:var(--ink-soft)}
.pc .it{font:italic 400 calc(4cqw * var(--k))/1.4 var(--f-it);color:var(--ink-soft)} .pc .it.sm{font-size:calc(3.5cqw * var(--k))} .pc .it.xs{font-size:calc(2.9cqw * var(--k))}
.pc .nm{display:flex;flex-direction:column;align-items:center;font:300 calc(7.6cqw * var(--k))/1.08 var(--f-name,var(--f-body));letter-spacing:.01em;color:var(--ink);margin:calc(2cqw * var(--k)) 0}
.pc .nm-amp{font:italic 400 .62em/1.1 var(--f-it);color:var(--au);margin:.12em 0}
.pc.is-script .nm{font:400 calc(10cqw * var(--k))/1.05 var(--f-name,var(--f-script));letter-spacing:0}
.pc.is-script .nm-amp{font:400 .7em/1 var(--f-script)}
.pc .nm--sm{font-size:calc(4.6cqw * var(--k));margin:0} .pc .nm--one{font-size:calc(8.4cqw * var(--k))} .pc .nm--script{font:400 calc(15cqw * var(--k))/1.05 var(--f-name,var(--f-script))}
.pc .nm--biz{font:600 calc(5.2cqw * var(--k))/1.2 var(--f-name,var(--f-sc));letter-spacing:.2em;text-transform:uppercase;margin:0}
.pc .dd{font:300 calc(6cqw * var(--k))/1.2 var(--f-body);letter-spacing:.14em}
.pc .for{position:absolute;top:5.5%;left:0;right:0;font:italic 400 calc(3.1cqw * var(--k)) var(--f-it);color:var(--ink-soft)}
.pc .sp{height:calc(1.6cqw * var(--k))} .pc .ty{font:italic 400 calc(5cqw * var(--k)) var(--f-it);color:var(--ink)}

/* line art: ink, gold-toned print, and FOIL only when chosen */
.pc .ink-s{fill:none;stroke:var(--ink);stroke-width:.9} .pc .ink-s.thin,.pc .ink-s .thin{stroke-width:.45} .pc .ink-f{fill:var(--ink)}
.pc .au-s{fill:none;stroke:var(--au);stroke-width:.8} .pc .au-s.thin{stroke-width:.4} .pc .au-f{fill:var(--au)} .pc .au-f .stem{fill:none;stroke:var(--au);stroke-width:.6}
.pc .au-t{fill:var(--au)} .pc svg text.mono{font:600 19px var(--f-sc);letter-spacing:1px} .pc svg text .amp{font:italic 400 12px var(--f-it)}
.pc svg text.mono-sc{font:600 22px var(--f-sc)} .pc svg text.cipher{font:italic 400 60px var(--f-it);font-feature-settings:'swsh' 1,'ss01' 1} .pc svg text.cipher.o{opacity:.9}
/* printed gold (no foil) is a CMYK gold-tone ink: drawn as the flat, muted ochre it prints, never metallic (guardian LOOK 04:0x 2) */
.pc.pc--foiled{--au:#C9A65E} /* a solid colour: borders cannot take url(#foilG); SVG marks get the foil gradient below */
.pc--foiled .au-s{stroke:url(#foilG)} .pc--foiled .au-f,.pc--foiled .au-t{fill:url(#foilG)} .pc--foiled .au-f .stem{stroke:url(#foilG)}
.pc--foiled .nm-amp{background:linear-gradient(115deg,#8F7338 0%,#E9D39A 32%,#FFF3C8 44%,#C9A65E 56%,#8F7338 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.pc--foiled .fr--gilt,.pc--foiled .fr--border,.pc--foiled .fr--border::after,.pc--foiled .fr--fine{border-color:#C9A65E;box-shadow:0 0 0 .3px rgba(255,240,190,.6)}
.pc .hd{flex:none;display:flex;justify-content:center} .pc .art--rule{width:34cqw;height:auto}
.pc .hd--mono .art{width:calc(17cqw * var(--k))} .pc .hd--mono.big .art{width:calc(24cqw * var(--k))}
.pc .hd--crest .art{width:calc(22cqw * var(--k))} .pc .hd--crest.big .art{width:calc(30cqw * var(--k))}
.pc .hd--etch .art{width:calc(46cqw * var(--k))}

/* frames */
.pc .fr{position:absolute;pointer-events:none;z-index:1}
.pc .fr--gilt{inset:5.5%;border:max(1px,.32cqw) solid var(--au)}
.pc .fr--fine{inset:4.2%;border:max(.6px,.2cqw) solid var(--au);opacity:.9}
.pc .fr--border{inset:3%;border:max(1.5px,.9cqw) solid var(--au)} .pc .fr--border::after{content:'';position:absolute;inset:max(2px,1.1cqw);border:max(.6px,.22cqw) solid var(--au)}
.pc .fr--sprig{inset:3.5%} .pc .fr--sprig .c{position:absolute;width:15cqw;height:15cqw} .pc .fr--sprig svg{width:100%;height:100%}
.pc .fr--sprig .tl{left:0;top:0} .pc .fr--sprig .tr{right:0;top:0;transform:scaleX(-1)} .pc .fr--sprig .bl{left:0;bottom:0;transform:scaleY(-1)} .pc .fr--sprig .br{right:0;bottom:0;transform:scale(-1,-1)}

/* the pieces' own arrangements */
.pc--invite{--k:1} .pc--savedate,.pc--rsvp,.pc--details{--k:.74} .pc--placecard{--k:.92} .pc--tableplan{--k:.6} .pc--menu{--k:1.3} .pc--oos{--k:1}
.pc--thankyou{--k:1.25} .pc--bizcard{--k:.78} .pc--banner{--k:1.5} .pc--bizmenu{--k:1} .pc--flyer{--k:1} .pc--signage{--k:.78} .pc--letterhead{--k:.62} .pc--sticker{--k:1.15} .pc--nametag{--k:.9}
.pc--rsvp .rsvp-row{display:flex;align-items:center;gap:5cqw;margin:2cqw 0 1cqw} .pc--rsvp .rsvp-who{text-align:left}
.pc .qrf{width:calc(15cqw * var(--k));padding:1.1cqw;border:max(.6px,.2cqw) solid var(--ink);background:rgba(255,255,255,.55)} .pc .qrf--sm{width:calc(13cqw * var(--k))}
.pc .qr__bg{fill:transparent} .pc .qr__ink{fill:var(--ink)} .g-forest .qrf,.g-ink .qrf{background:rgba(241,232,214,.92)} .g-forest .qr__ink,.g-ink .qr__ink{fill:#1B1A18}
.pc--details .dl{display:flex;flex-direction:column;gap:2.4cqw;margin:2cqw 0} .pc--details .dl > div{display:flex;flex-direction:column;gap:.3cqw}
.pc--placecard .fold{position:absolute;left:0;right:0;top:0;height:30%;background:rgba(255,255,255,.18);border-bottom:.5px solid rgba(60,48,30,.18);box-shadow:0 2px 3px -2px rgba(40,30,15,.25)}
.pc--placecard .pc__in{padding-top:30%} .pc--placecard .pc-face{display:flex;flex-direction:column;align-items:center;gap:1.2cqw}
.pc--placecard .hd--mono .art,.pc--placecard .hd--crest .art{width:12cqw}
.pc--tableplan .pc__in{justify-content:flex-start;padding-top:10%} .pc--tableplan .tp{display:grid;grid-template-columns:1fr 1fr;gap:5cqw 9cqw;margin-top:4cqw;width:100%}
.pc--tableplan .tp-t{display:flex;flex-direction:column;gap:.6cqw;border-top:max(.6px,.18cqw) solid var(--au);padding-top:2cqw} .pc--tableplan .tp-t .sc{margin-bottom:.8cqw}
.pc--menu .pc__in,.pc--bizmenu .pc__in{justify-content:flex-start;padding-top:16%} .pc--menu .mn,.pc--bizmenu .mn{display:flex;flex-direction:column;align-items:center;gap:2.4cqw;margin:4cqw 0}
.pc .mn-sep .art--rule{width:16cqw}
.pc--oos.pc--pg-inside .pc__in{justify-content:flex-start;padding-top:14%} .pc--oos .os{display:flex;flex-direction:column;gap:2.6cqw;margin-top:4cqw} .pc--oos .os > div{display:flex;flex-direction:column;gap:.2cqw}
.pc--bizcard .pc__in{padding:12% 11%} .pc--bizcard.pc--pg-front .pc__in{align-items:flex-start;text-align:left;justify-content:center}
.pc--banner .pc__in{justify-content:flex-start;padding:18% 12% 10%;gap:3cqw} .pc--banner .bn-foot{margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:1.6cqw} .pc--banner .qrf{width:22cqw}
.pc--letterhead .pc__in{justify-content:flex-start;padding:10% 12%} .pc--letterhead .lh{display:flex;flex-direction:column;align-items:center;gap:1cqw;padding-bottom:3cqw;border-bottom:max(.6px,.18cqw) solid var(--au);width:100%}
.pc--letterhead .lh-body{display:flex;flex-direction:column;gap:4cqw;margin-top:9cqw;width:100%} .pc--letterhead .lh-body i{height:1px;background:var(--ink);opacity:.1} .pc--letterhead .lh-body i.s{width:58%}
.pc--letterhead .lh-foot{margin-top:auto}
.pc--sticker{border-radius:50%} .pc--sticker .pc__in{padding:16%} .pc--sticker .pc__light{border-radius:50%}
.pc--st-a1r{border-radius:2.2cqw}

/* the print file: trim + 3 mm bleed, the safe area 3 mm inside the trim */
.pc--bleed.pc--guides{outline:1px dashed #2563eb;outline-offset:-1px} /* the trim line shows only with 'Show trim' ticked (WEBX 09:22) */
.pc .g{position:absolute;pointer-events:none;z-index:6}
.pc .g--trim{inset:calc(300cqw / var(--w));border:1.5px solid #dc2626}
.pc .g--safe{inset:calc(600cqw / var(--w));border:1px dotted #16a34a}
.pc .g-key{position:absolute;left:0;right:0;bottom:0;z-index:7;font:500 10px/1 Inter,system-ui,sans-serif;color:#4b5563;background:rgba(255,255,255,.88);padding:4px 6px;display:flex;gap:6px;align-items:center;justify-content:center}
.g-key i{display:inline-block;width:14px;height:0;border-top:2px dashed #2563eb} .g-key i.k-trim{border-top:2px solid #dc2626} .g-key i.k-safe{border-top:2px dotted #16a34a}

/* the flat lay: every proof photographed on linen in soft daylight */
.card__proof,.design__proof,.bigproof,.page__art{background:#E6DED0 url(./tex/linen.jpg) 0 0/300px;box-shadow:inset 0 0 60px rgba(70,55,35,.16)}
.bl__art{background:#E6DED0 url(./tex/linen.jpg) 0 0/200px}
.bigproof .suite{position:relative;width:100%;height:100%;display:grid;place-items:center}
.bigproof .pcw{transform:rotate(-.6deg)}
.bigproof .pages2{display:flex;gap:5%;align-items:center;justify-content:center;height:100%;width:100%} .bigproof .pages2 .pcw{flex:1 1 0;min-width:0;height:auto} .bigproof .pages2 .pc{width:100%;height:auto}
.suite .s-inv{position:relative;z-index:2;height:88%} .suite .s-inv .pc{height:100%;width:auto}
.suite .s-rsvp{position:absolute;right:2%;bottom:4%;width:42%;z-index:3;transform:rotate(3deg)} .suite .s-det{position:absolute;left:1%;top:6%;width:40%;z-index:1;transform:rotate(-5deg)}
.suite .s-rsvp .pc,.suite .s-det .pc{width:100%;height:auto}

/* sizing: every proof keeps its true shape and fits its frame (container units against the frame) */
.card__proof,.design__proof,.page__art,.bl__art,.bigproof{container-type:size}
.pcw{display:block;width:max-content;max-width:100%;height:auto}
.card__proof .pc,.design__proof .pc,.page__art .pc,.bl__art .pc,.bigproof .pc{width:min(100cqw, calc(100cqh * var(--w) / var(--h)))!important;height:auto!important}
.bigproof .suite{width:100cqw;height:100cqh}
.suite .s-inv .pc{width:min(56cqw, calc(88cqh * var(--w) / var(--h)))!important}
.suite .s-rsvp .pc,.suite .s-det .pc{width:min(38cqw, calc(40cqh * var(--w) / var(--h)))!important}
.suite .s-inv,.suite .s-rsvp,.suite .s-det{height:auto;width:auto}
.bigproof .pages2 .pc{width:min(46cqw, calc(100cqh * var(--w) / var(--h)))!important}
.bigproof .pages2 .pcw{flex:none}
@media (max-width:640px){.bigproof{height:min(64vh,520px);padding:16px}}
.ghost--wide{display:block;text-align:center;margin-top:10px}
/* v3 refinements: the names and the drawn marks carry the card */
.pc .nm{font-size:calc(9.2cqw * var(--k))} .pc.is-script .nm{font-size:calc(11.6cqw * var(--k))}
.pc .nm-amp{font-size:.55em;color:var(--au);opacity:.95}
.pc .hd--mono .art{width:calc(22cqw * var(--k))} .pc .hd--mono.big .art{width:calc(30cqw * var(--k))}
.pc .hd--crest .art{width:calc(27cqw * var(--k))} .pc .hd--crest.big .art{width:calc(36cqw * var(--k))}
.pc .art--rule{width:30cqw} .pc .hd--etch .art{width:calc(50cqw * var(--k))}
.pc .fr--sprig .c{width:24cqw;height:24cqw}
.pc .ink-s{stroke-width:1.1} .pc svg text.mono{font-size:20px}
.pc .sc{font-weight:600;letter-spacing:.26em}
.g-forest.pc--placecard .fold,.g-ink.pc--placecard .fold{background:rgba(255,255,255,.04);border-bottom-color:rgba(0,0,0,.35)}
/* render passes for the Blender flat lays (never shown to a customer): .rp-flat = the printed art alone; .rp-mask = gold only, white on black */
.rp-flat .pc__light,.rp-mask .pc__light{display:none}
.rp-mask{background:#000!important;box-shadow:none!important}
.rp-mask *{color:transparent!important;border-color:transparent!important;-webkit-text-fill-color:transparent}
.rp-mask .ink-s,.rp-mask .ink-f,.rp-mask .qr__ink,.rp-mask .qr__bg,.rp-mask .qrf{stroke:transparent!important;fill:transparent!important;background:transparent!important}
.rp-mask .au-s{stroke:#fff!important} .rp-mask .au-f,.rp-mask .au-t{fill:#fff!important} .rp-mask .au-f .stem{stroke:#fff!important;fill:none!important}
.rp-mask .fr--gilt,.rp-mask .fr--fine,.rp-mask .fr--border,.rp-mask .fr--border::after{border-color:#fff!important}
.rp-mask .nm-amp{-webkit-text-fill-color:#fff!important;color:#fff!important;background:none!important}

/* photographed proofs (Blender flat lays) */
.card__proof--shot{padding:0;background:#E6DED0} .card__shot{width:100%;height:100%;object-fit:cover;display:block}
.fam-door{display:flex;align-items:center;gap:18px;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin:0 0 24px}
.fam-door img{width:min(42%,360px);aspect-ratio:16/11;object-fit:cover;display:block} .fam-door b{display:block;font:500 24px var(--serif);color:var(--ink)} .fam-door i{font-style:normal;font-size:13.5px;color:var(--ink-soft)}
.fam{display:grid;grid-template-columns:repeat(3,1fr);gap:18px} @media (max-width:860px){.fam{grid-template-columns:1fr}}
.fam__one{text-decoration:none;display:flex;flex-direction:column;gap:4px} .fam__one img{width:100%;aspect-ratio:16/11;object-fit:cover;border-radius:var(--r);display:block;margin-bottom:6px}
.fam__one b{font:500 19px var(--serif)} .fam__one b em{font:500 10.5px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--gold-deep);border-radius:99px;padding:2px 7px;vertical-align:middle;margin-left:4px}
.fam__one span{font-size:13px;color:var(--ink-soft)} .fam__one i{font-style:normal;font-size:12px;color:var(--ink-faint)}
.pc.is-script .nm.nm--biz,.pc .nm.nm--biz{font:600 calc(5.2cqw * var(--k))/1.2 var(--f-sc);letter-spacing:.2em;text-transform:uppercase} /* a business name is never set in script capitals */
.pc--menu .pc__in,.pc--bizmenu .pc__in{justify-content:center;padding-top:12%} .pc--menu{--k:1.55} .pc--menu .mn{gap:3.4cqw;margin:5cqw 0}

/* ===== the stationer's shell (guardian s90 LOOK 21:1x): house serif for titles, prices and reading text; quiet cards; more air ===== */
body{font:400 17px/1.6 'Cormorant Garamond',Georgia,serif;color:var(--ink);background:#F7F3EA}
main{max-width:1240px;padding:12px max(16px,5vw) 120px}
.mast{background:rgba(247,243,234,.95)} .mast__mark{font:500 26px/1 'Cormorant Garamond',serif;letter-spacing:.04em}
.faces a{font:500 16px 'Cormorant Garamond',serif;letter-spacing:.02em;color:var(--ink-soft);padding:7px 14px}
.faces a[aria-current]{background:none;color:var(--emerald);box-shadow:inset 0 -1px 0 var(--emerald);border-radius:0}
.basket-btn{font:500 15px 'Cormorant Garamond',serif;letter-spacing:.04em;border-color:rgba(37,107,88,.45)}
.kicker{font:600 12px/1.4 'Cormorant SC','Cormorant Garamond',serif;letter-spacing:.22em;text-transform:none}
.lede{padding:56px 0 36px} .lede h1{font-weight:400;letter-spacing:-.005em} .lede p{font-size:19px;line-height:1.55;color:var(--ink-soft)}
.honest,.hint,.price-note,.design span,.card__txt span,.fam__one span,.fam__one i{font-family:'Cormorant Garamond',serif}
.honest{font-size:15px} .hint{font-size:14.5px} .design span{font-size:15px;line-height:1.45} .fam__one span{font-size:15px}
.crumbs{font:500 15px 'Cormorant Garamond',serif}
/* quiet cards: no white box, no border — the photograph, then the words on the page */
.grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:44px 28px}
.card{background:none;border:0;border-radius:0;overflow:visible}
.card:hover{transform:none;box-shadow:none} .card:hover .card__proof{box-shadow:0 18px 34px -20px rgba(40,30,15,.45)}
.card__proof{height:auto;aspect-ratio:1/1;border-radius:4px;overflow:hidden;transition:box-shadow .25s}
.card__txt{padding:14px 2px 0} .card__txt b{font:500 22px/1.2 'Cormorant Garamond',serif} .card__txt span{font-size:15px;color:var(--ink-soft)}
.card__price{font:500 17px 'Cormorant Garamond',serif!important;color:var(--ink)!important;margin-top:2px}
.price{font:500 20px 'Cormorant Garamond',serif} .tier{margin:44px 0 8px;padding-top:28px} .tier__head h2{font-weight:400;font-size:32px}
.tier__head p{font-size:17px} .tier__row{gap:28px} .design__proof{border-radius:4px} .design b{font-size:21px}
.guest-door{border-radius:4px;padding:20px 24px;margin-bottom:36px} .guest-door span{font:400 15px 'Cormorant Garamond',serif;opacity:.9}
.fam-door{border:0;border-radius:4px;background:#EFE8DB;margin-bottom:48px} .fam-door b{font-size:28px;font-weight:400}
.fam-door i{font-family:'Cormorant Garamond',serif;font-size:16px}
.act{font:600 15px 'Cormorant SC','Cormorant Garamond',serif;letter-spacing:.14em;border-radius:2px;padding:14px 26px}
.ghost{font:600 14px 'Cormorant SC','Cormorant Garamond',serif;letter-spacing:.12em;border-radius:2px}
.opt,.words,.staff{border-radius:4px} .opt legend,.words summary{font-size:19px} .opt__row b,.opt__foil b{font:500 17px 'Cormorant Garamond',serif} .opt__row i,.opt__foil i{font:italic 400 14px 'Cormorant Garamond',serif}
.opt__row em{font-size:19px} .opt__two label span,.words label span,.addguest label span{font:600 12px 'Cormorant SC',serif;letter-spacing:.14em}
.pricebox{border-radius:4px} .pricebox__k{font:600 12px 'Cormorant SC',serif;letter-spacing:.2em} .pricebox__n{font:italic 400 15px 'Cormorant Garamond',serif}
.qtyline{font-size:17px} .proofpage h1{font-weight:400}
input,select{font:400 16px 'Cormorant Garamond',serif;border-radius:2px;background:#FBF8F1}
.grow,.addguest,.mockpay,.rsvp{border-radius:4px} .grow__txt span{font:400 15px 'Cormorant Garamond',serif}
.sheet__panel{background:#F7F3EA} .sheet__panel h2{font-weight:400} .blist span{font:400 15px 'Cormorant Garamond',serif} .steps span{font:400 15px 'Cormorant Garamond',serif}
.proto-flag{font:500 13px 'Cormorant Garamond',serif;letter-spacing:.06em}
.staff table{font:400 15px 'Cormorant Garamond',serif}

/* the Classic details card (and every details card): the ink at full strength, a size up */
.pc--details{--k:.84} .pc--details .dl .it{color:var(--ink);font-size:calc(4.3cqw * var(--k))} .pc--details .dl .sc.xs{color:var(--ink);font-size:calc(2.2cqw * var(--k))}
.pc--details > .pc__in > .it.xs,.pc--rsvp .rm.xs{color:var(--ink)}
body,.price,.card__price,.pricebox__v,.opt__row em,select,input,.qtyline,.btotal b,.basket-btn{font-variant-numeric:lining-nums proportional-nums} /* Cormorant's old-style figures read as '£6o' in a price */
@media (max-width:560px){.tier__row{grid-template-columns:1fr}.tier__row .design:last-child{grid-column:auto}.design__proof{height:auto;aspect-ratio:4/3}.tier__head{display:block}.tier__head p{margin:4px 0 8px}.lede{padding:36px 0 24px}.grid{gap:36px 18px}}
.design b em,.fam__one b em{white-space:nowrap;font-family:'Cormorant SC',serif;letter-spacing:.12em;font-size:11px}
/* the lightbox (his word 21:1x) */
.lb{position:fixed;inset:0;z-index:100;background:rgba(24,22,18,.94);display:flex;flex-direction:column}
.lb[hidden]{display:none} html.lb-open{overflow:hidden}
.lb__stage{flex:1;position:relative;overflow:hidden;touch-action:none;cursor:zoom-in;display:flex;align-items:center;justify-content:center}
.lb.is-zoomed .lb__stage{cursor:grab} .lb.is-zoomed .lb__stage:active{cursor:grabbing}
.lb__layer{transform-origin:50% 50%;will-change:transform;display:flex;align-items:center;justify-content:center;width:100%;height:100%;container-type:size}
.lb__img{max-width:94vw;max-height:calc(100vh - 110px);display:block;user-select:none;-webkit-user-drag:none;box-shadow:0 20px 60px rgba(0,0,0,.4)}
.lb__proof{width:94cqw;height:92cqh;display:flex;align-items:center;justify-content:center;background:#E6DED0 url(./tex/linen.jpg) 0 0/300px;container-type:size;border-radius:2px}
.lb__proof .pc{width:min(86cqw, calc(86cqh * var(--w) / var(--h)))!important;height:auto!important}
.lb__proof .suite{width:100cqw;height:100cqh} .lb__proof .pages2{display:flex;gap:4%;align-items:center;justify-content:center;width:100%;height:100%} .lb__proof .pages2 .pc{width:min(44cqw, calc(90cqh * var(--w) / var(--h)))!important}
.lb__x,.lb__prev,.lb__next{position:absolute;border:0;background:rgba(247,243,234,.12);color:#F7F3EA;font:300 34px/1 'Cormorant Garamond',serif;width:52px;height:52px;border-radius:50%;cursor:pointer;z-index:2}
.lb__x{top:14px;right:16px} .lb__prev{left:14px;top:50%;margin-top:-26px} .lb__next{right:14px;top:50%;margin-top:-26px}
.lb__x:hover,.lb__prev:hover,.lb__next:hover{background:rgba(247,243,234,.24)} .lb__x:focus-visible,.lb__prev:focus-visible,.lb__next:focus-visible{outline:2px solid #E7CF92}
.lb__bar{display:flex;gap:16px;align-items:baseline;justify-content:center;flex-wrap:wrap;padding:10px 16px 16px;color:#E9E2D4;font:400 16px 'Cormorant Garamond',serif}
.lb__n{color:#BFA067} .lb__hint{font-size:13px;color:rgba(233,226,212,.6)}
@media (max-width:560px){.lb__hint{display:none}.lb__prev,.lb__next{width:40px;height:40px;font-size:28px;margin-top:-20px}}
.zoombtn{position:absolute;right:10px;bottom:10px;z-index:5;width:38px;height:38px;border-radius:50%;border:0;background:rgba(247,243,234,.88);color:var(--emerald);font:400 18px/1 'Cormorant Garamond',serif;cursor:zoom-in;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.zoombtn:hover{background:#fff} .card__proof,.design__proof,.bigproof,.page__art{position:relative}
.bigproof{cursor:zoom-in}

/* R-RF-727 — THE ACTUAL CARD: the proof is the print file itself, flat, at trim + bleed; no texture, no simulated light */
.pc.pc--file{background-image:none!important} .pc.pc--file .pc__light{display:none}
.pc.pc--file{box-shadow:0 0 0 1px rgba(40,32,20,.14)!important}
.bigproof .pcw{transform:none} .bigproof:has(.pc--file){background:#EAE6DE;box-shadow:none}
.bigproof .pcw{filter:drop-shadow(0 6px 14px rgba(40,32,20,.18))}
.filenote{font:italic 400 15.5px/1.45 'Cormorant Garamond',serif;color:var(--ink-soft);max-width:520px;text-align:center;margin:0}
.filebar{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;justify-content:center}
.bigproof.is-actual{height:auto;max-height:none;overflow:auto;display:block;padding:24px;container-type:normal}
.bigproof.is-actual .pc{width:calc(var(--w) * 1mm)!important;max-width:none}
.bigproof.is-actual .pcw{width:max-content;max-width:none;margin:0 auto}
.lb__proof:has(.pc--file){background:#EAE6DE}
/* print files: every frame and corner sits inside the safe area (3 mm bleed + 3 mm safe = 6 mm from the sheet edge), never on the cut */
.pc--bleed .fr--border{inset:calc(600cqw / var(--w) + 1.2%)} .pc--bleed .fr--fine{inset:calc(600cqw / var(--w) + 1%)} .pc--bleed .fr--gilt{inset:max(5.5%, calc(600cqw / var(--w) + 1.5%))} .pc--bleed .fr--sprig{inset:calc(600cqw / var(--w))}

/* your own artwork (his 21:2x) */
.own{margin:18px 0;border:1px solid var(--line);border-radius:4px;padding:4px 16px 14px;background:#fff}
.own summary{cursor:pointer;font:500 19px 'Cormorant Garamond',serif;color:var(--emerald);padding:10px 0}
.own__pick{display:inline-flex;align-items:center;gap:8px;cursor:pointer;margin:6px 0} .own__pick input{width:auto;font-size:13px}
.own__res{margin:12px 0 4px;padding:12px 14px;border-radius:4px;border-left:3px solid var(--line);background:#FBF8F1;font:400 15px 'Cormorant Garamond',serif}
.own__res b{display:block;font-weight:600} .own__res span{display:block;font-style:italic} .own__res ul{margin:6px 0 4px;padding-left:18px} .own__res a{color:var(--emerald)}
.own__res--passed{border-left-color:#2E7D5B} .own__res--warned{border-left-color:#C79A3E} .own__res--failed,.own__res--error{border-left-color:#B3412F} .own__res--checking{border-left-color:var(--gold)}
.bl__pdf{font:600 13px 'Cormorant SC',serif;letter-spacing:.14em;color:var(--emerald);border:1px solid var(--emerald);padding:6px 8px;background:#fff}

/* LEGIBILITY (his word 21:2x: "make sure the fonts are clear to read"): no line on any card below 9 pt at TRUE SIZE.
   9 pt = 3.175 mm; on a card W mm wide that is 317.5/W cqw. --w is the card's width in mm (with bleed when it is the file). */
.pc{--pt9:calc(318cqw / var(--w)); --pt11:calc(389cqw / var(--w)); --pt16:calc(565cqw / var(--w))}
.pc .sc,.pc .sc.sm,.pc .sc.xs,.pc .sc.wide{font-size:max(var(--fs-sc,calc(2.7cqw * var(--k))), var(--pt9))}
.pc .sc.sm{--fs-sc:calc(2.45cqw * var(--k))} .pc .sc.xs{--fs-sc:calc(1.95cqw * var(--k))} .pc .sc.wide{--fs-sc:calc(3.4cqw * var(--k))}
.pc .rm{font-size:max(calc(3.4cqw * var(--k)), var(--pt9))} .pc .rm.sm{font-size:max(calc(3.2cqw * var(--k)), var(--pt9))} .pc .rm.xs{font-size:max(calc(2.5cqw * var(--k)), var(--pt9))}
.pc .it{font-size:max(calc(4cqw * var(--k)), var(--pt11))} .pc .it.sm{font-size:max(calc(3.5cqw * var(--k)), var(--pt9))} .pc .it.xs{font-size:max(calc(2.9cqw * var(--k)), var(--pt9))}
.pc .for{font-size:max(calc(2.5cqw * var(--k)), var(--pt9))} .pc .for i{letter-spacing:.04em;margin-right:.15em} /* the guest's line: 'for …', smaller than the lead, never read as the hosts */ .pc .dd{font-size:max(calc(6cqw * var(--k)), var(--pt11))}
.pc .nm--sm{font-size:max(calc(4.6cqw * var(--k)), var(--pt11))} .pc.is-script .nm,.pc .nm--script{font-size:max(calc(11.6cqw * var(--k)), var(--pt16))}
.pc .nm--one{font-size:max(calc(8.4cqw * var(--k)), var(--pt16))}
.pc--details .dl .it{font-size:max(calc(4.3cqw * var(--k)), var(--pt9))} .pc--details .dl .sc.xs{font-size:max(calc(2.2cqw * var(--k)), var(--pt9))}
/* ink: every text run at full ink on every paper (no pale grey on cream); soft ink only on dark grounds where it stays well above 4.5:1 */
.pc:not(.g-forest):not(.g-ink){--ink-soft:var(--ink)}
.pc .it{color:var(--ink-soft)} .pc .sc.xs,.pc .rm.xs{color:var(--ink)}
.pc{--pt14:calc(494cqw / var(--w))} .pc.is-script .nm.nm--biz,.pc .nm.nm--biz{font-size:max(calc(5.2cqw * var(--k)), var(--pt14));letter-spacing:.16em} /* the business name reads at 14 pt on the card */
/* phone: the card takes the full width (the most legible it can be without zoom); the frame hugs it; tap opens it full screen */
@media (max-width:640px){
  .bigproof{height:auto;padding:12px;container-type:inline-size;display:block}
  .bigproof .pcw{width:100%;max-width:100%} .bigproof .pc{width:100%!important;height:auto!important}
  .bigproof .pages2{flex-direction:column;gap:12px;height:auto} .bigproof .pages2 .pc{width:100%!important}
  .bigproof::after{content:'Tap to read it full size';display:block;text-align:center;margin-top:8px;font:italic 400 14px 'Cormorant Garamond',serif;color:var(--ink-soft)}
}

/* R-RF-728 — I Do's OWN fonts (FONT1, OFL, /fonts/ido): embeddable in the PDFs we sell, so screen and print can use the SAME
   faces. Switched as a set: html[data-type="house"] — the DEFAULT since R-RF-732; html[data-type="kit"] = the Adobe kit, a comparison only. */
@font-face{font-family:'I Do Editorial';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/ido/IDoEditorial-Regular.woff2') format('woff2')}
@font-face{font-family:'I Do Editorial';font-style:italic;font-weight:400;font-display:swap;src:url('/fonts/ido/IDoEditorial-Italic.woff2') format('woff2')}
@font-face{font-family:'I Do Editorial';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/ido/IDoEditorial-SemiBold.woff2') format('woff2')}
@font-face{font-family:'I Do Editorial';font-style:italic;font-weight:600;font-display:swap;src:url('/fonts/ido/IDoEditorial-SemiBoldItalic.woff2') format('woff2')}
@font-face{font-family:'I Do Hand';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/ido/IDoHand-Regular.woff2') format('woff2')}
@font-face{font-family:'I Do Riviera';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/ido/IDoRiviera-Regular.woff2') format('woff2')}
@font-face{font-family:'I Do Initials';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/ido/IDoInitials-Regular.woff2') format('woff2')}
html[data-type="house"] .pc{--f-sc:'I Do Riviera','Cormorant SC',serif; --f-body:'I Do Editorial','Cormorant Garamond',serif; --f-it:'I Do Editorial','Cormorant Garamond',serif; --f-script:'I Do Hand','Pinyon Script',cursive}
html[data-type="house"] .pc .sc{font-weight:400;letter-spacing:.18em} html[data-type="house"] .pc .nm{font-weight:400} html[data-type="house"] .pc svg text.mono,html[data-type="house"] .pc svg text.mono-sc{font-weight:400}
.typeswitch{margin-left:10px;font:inherit;color:inherit;background:transparent;border:1px solid rgba(240,220,166,.45);border-radius:2px;padding:1px 4px}
.typeswitch option{color:#232B27}
html[data-type="house"] .pc .sc{font-size:max(calc(var(--fs-sc,calc(2.7cqw * var(--k))) * 1.1), var(--pt9));letter-spacing:.16em} /* Riviera capitals are lighter than Trajan: a touch larger */
.staffswitch input{width:auto;vertical-align:middle} html:not([data-staff]) .staff{display:none!important} /* belt and braces: never on a customer page */

/* THE ATELIER (his word R-RF-736/737): the seven curated choices, as classes on .pc (S.mixClasses) ---------------------------- */
.g-midnight, as classes on .pc (S.mixClasses) ---------------------------- */
.g-slate{--ground:#1C2433;--ink:#F1E8D6;--ink-soft:rgba(241,232,214,.78);--au:#AFA184;background-image:url(./tex/ink.jpg)}
.pc:not(.g-forest):not(.g-ink):not(.g-midnight):not(.g-slate){--ink-soft:var(--ink)}
.g-midnight .qrf,
.g-slate .qrf{background:rgba(241,232,214,.92)} .g-midnight .qr__ink, .g-slate .qr__ink{fill:#1B1A18}
.i-black{--ink:#1B1A18} .i-sepia{--ink:#4A3324;--ink-soft:#4A3324}
.pc.ac-ink{--au:var(--ink)} .pc.ac-ink .nm-amp{color:var(--ink)}
/* lettering: the names' face; everything else stays the house set */
.pc.pr-swash .nm{font-family:var(--f-name,var(--f-it));font-style:italic;font-feature-settings:'swsh' 1,'ss01' 1;letter-spacing:0}
.pc.pr-inscribed .nm{font-family:var(--f-name,var(--f-sc));text-transform:uppercase;letter-spacing:.14em;font-size:max(calc(5.8cqw * var(--k)), var(--pt16));line-height:1.25}
.pc.pr-inscribed .nm-amp{text-transform:none;letter-spacing:0;font-size:1.1em}
.pc svg text.mono--sw{font:italic 400 21px var(--f-it);font-feature-settings:'swsh' 1}
/* layout */
.pc.ly-grand .pc__in{gap:calc(2.2cqw * var(--k))} .pc.ly-grand .hd--mono .art{width:calc(25cqw * var(--k))} .pc.ly-grand .hd--crest .art{width:calc(31cqw * var(--k))}
.pc.ly-grand .nm{font-size:calc(8.6cqw * var(--k))} .pc.ly-grand.is-script .nm{font-size:max(calc(12.6cqw * var(--k)), var(--pt16))} .pc.ly-grand.pr-inscribed .nm{font-size:max(calc(6.4cqw * var(--k)), var(--pt16))}
.pc.ly-aligned .pc__in{align-items:flex-start;text-align:left;padding-left:17%;padding-right:15%} .pc.ly-aligned .nm{align-items:flex-start} .pc.ly-aligned .hd{justify-content:flex-start}
.pc.ly-aligned .art--rule{width:26cqw;margin-left:-2.5cqw} .pc.ly-aligned .tp,.pc.ly-aligned .mn{align-items:flex-start}
/* marks */
.pc .hd--sprig .art{width:calc(40cqw * var(--k))} .pc .hd--crest.big .art{width:calc(30cqw * var(--k))}
/* borders: the hairline sits well clear of the words; the household line sits inside it */
.pc .fr--hairline{inset:5%;border:max(.7px,.24cqw) solid var(--au)}
.pc .fr--double{inset:3.6%;border:max(1.5px,.85cqw) solid var(--au)} .pc .fr--double::after{content:'';position:absolute;inset:max(2px,1.1cqw);border:max(.6px,.22cqw) solid var(--au)}
.pc .fr--corners{inset:4%} .pc .fr--corners .c{position:absolute;width:15cqw;height:15cqw} .pc .fr--corners svg{width:100%;height:100%}
.pc .fr--corners .tl{left:0;top:0} .pc .fr--corners .tr{right:0;top:0;transform:scaleX(-1)} .pc .fr--corners .bl{left:0;bottom:0;transform:scaleY(-1)} .pc .fr--corners .br{right:0;bottom:0;transform:scale(-1,-1)}
.pc .for{top:8.5%}
.pc--foiled .fr--hairline,.pc--foiled .fr--double,.pc--foiled .fr--double::after{border-color:#C9A65E}
.pc--foiled .fr--corners .au-f{fill:url(#foilG)}

/* the atelier panel */
.atelier{margin:18px 0 6px;border-top:1px solid var(--line);padding-top:14px}
.atelier > h2{font:500 22px var(--serif);margin:0 0 2px} .atelier > p{margin:0 0 10px;font-size:13px;color:var(--ink-soft)}
.mixg{border:0;margin:0 0 14px;padding:0;min-width:0} .mixg legend{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:6px;padding:0}
.mixg legend b{font-weight:500;text-transform:none;letter-spacing:0;color:var(--ink);margin-left:6px;font-size:13.5px}
.mixrow{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 8px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.mixo{flex:none;width:86px;min-height:44px;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:5px;padding:6px 6px 7px;border:1px solid var(--line);border-radius:10px;background:var(--paper);cursor:pointer;font:12px/1.25 var(--sans);color:var(--ink-soft);text-align:center}
.mixo[aria-pressed="true"]{border-color:var(--gold-deep,#8F7338);box-shadow:0 0 0 1.5px var(--gold-deep,#8F7338) inset;color:var(--ink)}
.mixo .mini{width:72px;height:100px;display:flex;align-items:center;justify-content:center;pointer-events:none}
.mixo .mini .pcw{filter:drop-shadow(0 1px 1.5px rgba(40,32,20,.25));height:100%} .mixo .mini .pc{width:70px!important;height:auto!important}
.mixo .mini .pc .pc__light{display:none}
.mixnote{font-size:12.5px;color:var(--gold-deep,#8F7338);margin:-4px 0 12px;min-height:0}
.opt__two--one{grid-template-columns:1fr}
/* the atelier on every SHAPE (P15 found these): the household line flows above the mark, never over it; small landscape pieces
   keep corners small and the grand layout calm; a place card's ornaments sit on its face, below the fold */
.pc .for{position:static;margin:0 0 calc(1.2cqw * var(--k))}
.pc--land .fr--corners .c,.pc--land .fr--sprig .c{width:9cqw;height:9cqw}
.pc--land.bd-corners .pc__in,.pc--land.bd-sprig .pc__in{padding-left:15%;padding-right:15%}
.pc--land.ly-grand .nm{font-size:calc(7.6cqw * var(--k))} .pc--land.ly-grand.is-script .nm{font-size:max(calc(11.6cqw * var(--k)), var(--pt16))} .pc--land.ly-grand.pr-inscribed .nm{font-size:max(calc(5.8cqw * var(--k)), var(--pt16))}
.pc--land.ly-grand .hd--mono .art{width:calc(17cqw * var(--k))} .pc--land.ly-grand .hd--crest .art{width:calc(20cqw * var(--k))} .pc--land.ly-grand .pc__in{gap:calc(1.5cqw * var(--k))}
.pc--land .nm{flex-direction:row;flex-wrap:wrap;justify-content:center;column-gap:.3em;align-items:baseline} .pc--land .nm-amp{margin:0}
.pc--land.ly-aligned .nm{justify-content:flex-start}
.pc--placecard .fr{top:calc(30% + 4%)} .pc--placecard .fr--corners .c,.pc--placecard .fr--sprig .c{width:8cqw;height:8cqw}
.pc--placecard.bd-corners .pc__in,.pc--placecard.bd-sprig .pc__in{padding-left:17%;padding-right:17%}
.pc--slim .fr--corners .c,.pc--slim .fr--sprig .c{width:13cqw;height:13cqw}
/* grand, measured: the monogram leads, the names grow a step — never so far the card's words leave the safe area */
.pc.ly-grand .hd--mono .art{width:calc(22cqw * var(--k))} .pc.ly-grand .hd--crest .art{width:calc(27cqw * var(--k))} .pc.ly-grand .pc__in{gap:calc(1.8cqw * var(--k))}
.pc.ly-grand.is-script .nm{font-size:max(calc(11.6cqw * var(--k)), var(--pt16))} .pc.ly-grand .nm{font-size:calc(8.2cqw * var(--k))}
.pc--slim.ly-grand .nm{font-size:calc(7.6cqw * var(--k))} .pc--slim.ly-grand .hd--mono .art{width:calc(17cqw * var(--k))} .pc--slim.ly-grand .hd--crest .art{width:calc(22cqw * var(--k))} .pc--slim.ly-grand .pc__in{gap:calc(1.5cqw * var(--k))}
.pc--slim.bd-corners .pc__in,.pc--slim.bd-sprig .pc__in{padding-left:16%;padding-right:16%} .pc--slim.ly-aligned .pc__in{padding-left:15%;padding-right:13%}
.pc.bd-sprig .pc__in,.pc.bd-corners .pc__in{padding-top:15%;padding-bottom:14%}
/* corners: drawn smaller and the words set a step tighter inside them; script never inflates a small name line */
.pc .fr--corners .c,.pc .fr--sprig .c{width:12.5cqw;height:12.5cqw}
.pc--land .fr--corners .c,.pc--land .fr--sprig .c{width:8.5cqw;height:8.5cqw} .pc--bizcard .fr--corners .c,.pc--bizcard .fr--sprig .c{width:7cqw;height:7cqw}
.pc--placecard .fr--corners .c,.pc--placecard .fr--sprig .c{width:8cqw;height:8cqw}
.pc--invite.bd-sprig,.pc--invite.bd-corners,.pc--oos.bd-sprig,.pc--oos.bd-corners,.pc--flyer.bd-sprig,.pc--flyer.bd-corners{--k:.93}
.pc--menu.bd-sprig,.pc--menu.bd-corners,.pc--bizmenu.bd-sprig,.pc--bizmenu.bd-corners{--k:1.16}
.pc--menu.mk-venue,.pc--bizmenu.mk-venue{--k:1.16} .pc--menu .hd--etch .art{width:calc(40cqw * var(--k))}
.pc--menu.ly-aligned .pc__in,.pc--bizmenu.ly-aligned .pc__in{padding-right:16%}
.pc.is-script .nm.nm--sm{font-size:max(calc(6.4cqw * var(--k)), var(--pt14))}
.pc--menu.bd-hairline .pc__in,.pc--menu.bd-double .pc__in,.pc--bizmenu.bd-hairline .pc__in,.pc--bizmenu.bd-double .pc__in{padding-bottom:17%} .pc--menu.bd-hairline,.pc--menu.bd-double,.pc--bizmenu.bd-hairline,.pc--bizmenu.bd-double{--k:1.2}
.proofpage > *,.proofpage__side,.atelier,.mixg{min-width:0;max-width:100%} .typeswitch{width:auto}
.mixo{width:108px} .mixo .mini{width:94px;height:132px} .mixo .mini .pc{width:92px!important;outline:none!important}
@media (max-width:640px){.mixo{width:96px} .mixo .mini{width:84px;height:118px} .mixo .mini .pc{width:82px!important}}
.atelier__now{display:none}
@media (min-width:641px){.mixrow{flex-wrap:wrap;overflow:visible}}
@media (max-width:640px){
  .atelier__now{display:flex;gap:12px;align-items:center;position:sticky;top:103px;z-index:6;background:var(--paper);padding:8px 4px 10px;margin:0 -4px 10px;border-bottom:1px solid var(--line);box-shadow:0 6px 10px -8px rgba(40,32,20,.35)}
  .atelier__now .mini{width:84px;flex:none;display:flex} .atelier__now .pcw{height:auto;width:100%} .atelier__now .pc{width:82px!important;height:auto!important;outline:none!important}
  .atelier__nowtxt{font-size:12.5px;line-height:1.35;color:var(--ink-soft)} .atelier__nowtxt b{display:block;font:500 17px var(--serif);color:var(--ink)}
}
/* the family gallery and its door: the ACTUAL CARD first (R-RF-736 §1); the photograph is a second look, never the proof */
.fam__card{position:relative;background:#E9E3D7;border-radius:var(--r);padding:22px 0 18px;display:flex;justify-content:center;margin-bottom:6px;container-type:inline-size}
.fam__card .pcw{height:auto;width:58%} .fam__card .pc{width:100%!important;height:auto!important;outline:none!important}
.fam__photo{position:absolute;right:10px;bottom:10px;width:30%;padding:0;border:2px solid #fff;border-radius:6px;overflow:hidden;background:#fff;cursor:zoom-in;box-shadow:0 4px 10px rgba(40,32,20,.22)}
.fam__photo img{width:100%;aspect-ratio:16/11;object-fit:cover;display:block;margin:0!important;border-radius:0!important}
.fam__photo span{display:block;font:11px/1.2 var(--sans);color:var(--ink-soft);padding:4px 5px;text-align:left}
.fam-door__card{width:min(30%,220px);flex:none;padding:18px 0 18px 22px;display:flex} .fam-door__card .pcw{height:auto;width:100%} .fam-door__card .pc{width:100%!important;height:auto!important;outline:none!important}
@media (max-width:640px){.fam-door__card{width:34%;padding:14px 0 14px 14px}}
.fam__card{justify-content:flex-start;padding-left:9%} .fam__card .pcw{width:54%} .fam__photo{width:29%}
.mixhint{margin:0;font-size:13.5px}
.mixo .mini{height:auto;min-height:0;align-items:flex-start} .mixo .mini .pcw{height:auto;width:100%}
.mixrow{align-items:flex-start} .mixo{justify-content:flex-start}

/* guardian LOOK 04:0x fix 4: a landscape pair (business cards) stacks, front over back, so each card reads large */
@media (min-width:641px){ .bigproof .pages2--land{flex-direction:column;gap:4%} .bigproof .pages2--land .pc{width:min(88cqw, calc(46cqh * var(--w) / var(--h)))!important} }
/* fix 5: the place card's back half is drawn as the fold it is (a crease, the far side in shadow); the name sits at the optical centre of the front */
.pc--placecard .fold{background:linear-gradient(180deg,rgba(40,30,15,.10),rgba(40,30,15,.03) 70%,rgba(40,30,15,.12));border-bottom:.6px solid rgba(60,48,30,.28);box-shadow:0 .6px 0 rgba(255,255,255,.55),0 2px 4px -2px rgba(40,30,15,.3)}
.g-forest.pc--placecard .fold,.g-ink.pc--placecard .fold,.g-midnight.pc--placecard .fold,.g-slate.pc--placecard .fold{background:linear-gradient(180deg,rgba(0,0,0,.22),rgba(0,0,0,.06) 70%,rgba(0,0,0,.26));border-bottom-color:rgba(0,0,0,.45);box-shadow:0 .6px 0 rgba(255,255,255,.08)}
.pc--placecard .hd--mono .art,.pc--placecard .hd--crest .art{width:8.5cqw} .pc--placecard .pc-face{gap:.8cqw}
/* fix 7: on the phone the zoom button sits in the caption row under the card, never on it */
@media (max-width:640px){ .bigproof{padding-bottom:56px} .bigproof::after{position:absolute;left:0;right:56px;bottom:18px;margin:0} .bigproof .zoombtn{bottom:9px;right:10px} }

/* fix 8: option labels, legends and photo tags in the house serif, never a system sans */
.mixo{font:500 13.5px/1.2 var(--serif)} .mixg legend{font-family:var(--serif);font-size:13px} .mixg legend b{font-size:15px} .fam__photo span{font:500 12.5px/1.2 var(--serif)}
/* fix 9: an ink that moves a dark card to ivory says so on its tile */
.mixo__swap{display:block;font:italic 400 12px/1.15 var(--serif);color:var(--gold-deep,#8F7338)}
/* fix 10: desktop grids balanced by column count; phone swipe rows fade at the edge and say how many choices */
@media (min-width:641px){ .mixrow{display:grid;grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));gap:8px} .mixo{width:auto} .mixo .mini{width:100%;height:auto} .mixo .mini .pc{width:100%!important} .mixcount{display:none} }
@media (max-width:640px){ .mixrow{-webkit-mask-image:linear-gradient(90deg,#000 82%,transparent);mask-image:linear-gradient(90deg,#000 82%,transparent)} .mixcount{margin:-4px 0 6px;font:italic 400 13px var(--serif);color:var(--ink-soft);text-align:right} }

/* fix 3a: the cipher is cut in the house script, both initials in one ink, so the two letters read as one woven mark */
.pc svg text.cipher{font:400 66px var(--f-script);font-style:normal;font-feature-settings:normal}

/* RE-LOOK 06:30 3: Dock's place card is a HALF fold — the crease sits at 50%, front and back equal; the face fills the front half */
.pc--placecard .fold{height:50%} .pc--placecard .pc__in{padding-top:calc(var(--h) / var(--w) * 58%);padding-bottom:calc(var(--h) / var(--w) * 11%);justify-content:center} .pc--placecard .fr{top:calc(50% + 4%)} /* % padding is of the WIDTH: scaled by h/w so the face fills exactly the front half */
/* the half-fold front is 42 mm tall: grand sets the name no larger than centred there, and the mark steps down so the face keeps its safe area */
.pc--placecard.ly-grand .nm,.pc--placecard.ly-grand.is-script .nm{font-size:calc(8.4cqw * var(--k))} .pc--placecard .hd--mono .art,.pc--placecard .hd--crest .art,.pc--placecard.ly-grand .hd .art{width:7cqw} .pc--placecard .pc-face{gap:.5cqw}
.pc--placecard.is-script .nm.nm--one,.pc--placecard.pr-hand .nm.nm--one{font-size:max(calc(7.4cqw * var(--k)), var(--pt14));line-height:1}
/* RE-LOOK 06:30 type craft: no orphaned 'Cheshire', no lone '2027' — every line on the card breaks balanced */
.pc .pc__in .it,.pc .pc__in .rm,.pc .pc__in .sc,.pc .pc__in .for{text-wrap:pretty} .pc .nm > span{white-space:nowrap} /* s92: 'pretty' stops orphans without splitting 'Hollins Park'; a name is never broken */
/* RE-LOOK 06:30: foil prints SOLID — the print file (pc--file) carries flat foil, the preview keeps its sheen */
.pc--file.pc--foiled .au-f,.pc--file.pc--foiled .au-t,.pc--file.pc--foiled .au-f .stem{fill:#C9A65E} .pc--file.pc--foiled .au-s,.pc--file.pc--foiled .au-f .stem{stroke:#C9A65E} .pc--file.pc--foiled .nm-amp{background:none;-webkit-background-clip:border-box;background-clip:border-box;color:#C9A65E} .pc--file.pc--foiled .fr--gilt,.pc--file.pc--foiled .fr--border,.pc--file.pc--foiled .fr--border::after,.pc--file.pc--foiled .fr--fine{box-shadow:none}
.pc.pc--placecard.bd-sprig .pc__in,.pc.pc--placecard.bd-corners .pc__in{padding-top:calc(var(--h) / var(--w) * 58%);padding-bottom:calc(var(--h) / var(--w) * 11%)} /* the half fold wins over the corner borders' padding */
/* s92 LOOK 07:32: the label IS the button — the native file input is visually hidden (still focusable), so no system-font 'Choose File' and no 448 px overflow at 390 */
.own__pick{position:relative;max-width:100%;flex-wrap:wrap} .own__pick input[type=file]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip-path:inset(50%)} .own__pick:focus-within{outline:2px solid var(--emerald);outline-offset:2px}
.pc--placecard .hd--mono .art,.pc--placecard .hd--crest .art,.pc--placecard.ly-grand .hd .art{width:9cqw} /* s92: the crest reads on the place card */
html[data-embed] .proto-flag,html[data-embed] .faces{display:none!important} /* SHOP2's app frame: no prototype flag, no face switcher (R-RF-753 seam) */
.pc.pc--details .hd .art{max-height:calc(15cqw * var(--k))} /* P39: on the A6 details card a full-size crest, wreath, roundel or venue drawing pushed the last line through the frame — the mark is held to one height there */
