@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;0,700;1,600&family=Manrope:wght@400;500;600;700&display=swap');
:root{font-family:Manrope,Arial,sans-serif;color:#343b32;background:#f4f1e9;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,a{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button,input{font:inherit}button,a,summary{cursor:pointer}button{color:inherit}a{color:inherit;text-decoration:none}main{max-width:1440px;margin:auto;padding:0 6%}header{height:108px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #d8dbce}.brand{font-family:Georgia,serif;font-size:19px;letter-spacing:2px}.edition,.eyebrow{font-size:12px;letter-spacing:2.2px;font-weight:600}.edition{color:#747869}.experience{display:grid;grid-template-columns:1.38fr 1fr;gap:8%;align-items:center;padding:76px 0 60px}.visual{min-width:0}.visual>.eyebrow{margin-bottom:28px;color:#626952}.card{border:0;padding:0;width:100%;aspect-ratio:1.75;position:relative;background:none;perspective:1600px;display:block;filter:drop-shadow(0 24px 22px #35412a28)}.face{position:absolute;inset:0;display:block;background-image:url('card-art.jpg');background-size:208.6% 110%;background-position:2.65% 50%;border-radius:3px;backface-visibility:hidden;transition:transform .75s cubic-bezier(.2,.7,.2,1)}.back{background-position:97.35% 50%;transform:rotateY(180deg)}.card.turned .front{transform:rotateY(-180deg)}.card.turned .back{transform:rotateY(0)}.flip{display:flex;justify-content:space-between;width:100%;border:0;border-bottom:1px solid #d6d9ca;background:none;padding:25px 0 18px;font-size:14px}.flip span{font-size:12px;letter-spacing:2px;color:#767b6e}.art-note{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:23px;color:#737969;margin-top:24px}.content>.eyebrow{color:#767d68;margin:0 0 18px}h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:clamp(48px,5.2vw,76px);line-height:.99;letter-spacing:-2px;margin:0}h1 em{font-weight:400} .intro{color:#6d7465;font-size:16px;margin:24px 0 30px}.primary{display:flex;align-items:center;justify-content:space-between;width:100%;padding:19px 23px;background:#414e3d;color:#fff9e9;border:1px solid #414e3d;font-size:15px;font-weight:600;border-radius:3px}.primary:hover{background:#56644e}.actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.actions button{padding:17px 8px;background:transparent;border:1px solid #bdc3b2;border-radius:3px;font-size:14px}.symbol{font-size:20px;margin-right:9px}.offer{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:25px 0;border-bottom:1px solid #d8dbce}.offer .eyebrow{font-size:10px;letter-spacing:1.6px}strong#code{display:block;font-family:Georgia,serif;font-size:26px;letter-spacing:2px;margin-top:8px;overflow-wrap:anywhere}.offer p{font-size:12px;color:#68705f;margin-bottom:0}.offer button{flex-shrink:0;background:#e7e9de;border:0;padding:12px;border-radius:3px;font-size:12px}.phone{display:flex;justify-content:space-between;gap:12px;padding:24px 0}.phone span{font-size:10px;letter-spacing:1.8px;align-self:center}.phone strong{font-weight:500;font-size:15px}details{border-top:1px solid #d8dbce;font-size:14px}summary{padding:17px 0;list-style:none;display:flex;justify-content:space-between}form{padding:4px 0 16px}label{display:block;font-size:14px;margin-bottom:10px}.input-row{display:flex;gap:8px}input{width:100%;min-width:0;padding:13px;background:#fffdf7;border:1px solid #bac2b1;border-radius:3px}form button{border:0;background:#414e3d;color:#fff;padding:0 18px}form p,.small{font-size:12px;line-height:1.7;color:#6c7364}footer{border-top:1px solid #d8dbce;padding:25px 0 30px;display:flex;justify-content:space-between;gap:20px;color:#727966;align-items:center}footer span{font-size:10px;letter-spacing:1.5px}footer p{font-size:12px;margin:0}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#303c2c;color:white;border-radius:4px;padding:15px 24px;font-size:14px;opacity:0;pointer-events:none;transition:opacity .2s;max-width:90%;z-index:5}.toast.visible{opacity:1}dialog{max-width:440px;width:90%;border:1px solid #b7bfac;border-radius:6px;background:#f4f1e9;color:#343b32;padding:34px}dialog::backdrop{background:#202b2470;backdrop-filter:blur(5px)}dialog h2{font-family:Georgia,serif;font-size:32px;font-weight:400}dialog p{line-height:1.6}dialog .primary{margin-top:14px}.close{position:absolute;right:14px;top:10px;background:none;border:0;font-size:28px}:focus-visible{outline:3px solid #9c793f;outline-offset:5px}@media(max-width:760px){main{padding:0 6%}header{height:80px}.brand{font-size:14px;letter-spacing:1px}.edition{font-size:9px;letter-spacing:1px}.experience{grid-template-columns:1fr;gap:36px;padding:30px 0}.visual>.eyebrow{font-size:10px;margin-bottom:20px}.art-note{display:none}.flip{padding-top:20px}.content>.eyebrow{display:none}h1{font-size:51px}h1 br{display:none}h1 em{display:block}.intro{margin:16px 0 24px}footer{flex-direction:column;align-items:flex-start;gap:14px}footer span{font-size:9px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* Website-aligned readability revision, September 2026. */
:root{color:#1c2620;background:#f6f3ea;font-size:17px}
header{border-color:#c9c5b8}.brand{font-weight:600}.edition,.eyebrow{font-size:.82rem;letter-spacing:.1em;color:#44574a}
h1{font-weight:600;line-height:1.06;letter-spacing:-.025em}h1 em{font-weight:600}
.intro{color:#44574a;font-size:1rem;line-height:1.6}.content>.eyebrow,.visual>.eyebrow{color:#44574a}
.primary{background:#1c2620;border-color:#1c2620;font-size:1rem;min-height:58px}.primary:hover{background:#304737}
.actions button{font-size:.94rem;font-weight:600;border-color:#8a998d;min-height:58px;background:#fffdf7}.actions button:hover{background:#e7e8de}
.offer{border-color:#c9c5b8}.offer .eyebrow,.phone span{font-size:.82rem;letter-spacing:.07em}.offer p,form p,.small{font-size:.88rem;line-height:1.6;color:#44574a}.offer button{font-size:.88rem;font-weight:700;background:#e7e0d0;min-height:44px;padding:12px 16px}strong#code{font-size:1.8rem;color:#1c2620}
.phone{align-items:center;flex-wrap:wrap}.phone strong{font-size:1rem;font-weight:700}details{font-size:.94rem}summary{min-height:54px}label{font-size:.94rem}.flip{font-size:.94rem;color:#1c2620}.flip span{font-size:.82rem;color:#44574a}.art-note{font-size:1.25rem;font-weight:600;color:#44574a}
footer{border-color:#c9c5b8;align-items:flex-start}footer span{font-size:.75rem;letter-spacing:.06em}footer p{font-size:.82rem;color:#44574a;line-height:1.6}dialog{background:#f6f3ea;color:#1c2620}dialog h2{font-weight:600}.toast{font-size:.94rem}
.card{aspect-ratio:1.6;filter:drop-shadow(0 20px 22px #14271922);container-type:inline-size}
.face{background-image:none;background-color:#1c2620;color:#f6f3ea;border:1px solid #b58f52;border-radius:7px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6%;overflow:hidden}
.face::after{content:'';position:absolute;inset:12px;border:1px solid #b58f5266;border-radius:2px;pointer-events:none}
.card-logo{width:auto;height:31%;object-fit:contain;margin-bottom:2%}.card-name{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(30px,7.9cqw,54px);font-weight:600;line-height:.96;letter-spacing:.015em}.card-category{font-size:clamp(12px,2.5cqw,17px);letter-spacing:.22em;color:#d0ac72;font-weight:700;margin-top:3%}.card-tagline{font-family:Manrope,Arial,sans-serif;font-size:clamp(16px,3.3cqw,22px);font-weight:500;margin-top:3%}
.back-title{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(25px,6cqw,40px);font-weight:600;line-height:1.1}.back-phone{font-size:clamp(19px,4.5cqw,30px);font-weight:700;margin-top:5%;color:#d0ac72}.back-url{font-size:clamp(14px,3.5cqw,23px);margin-top:2%}.back-offer{font-size:clamp(14px,3cqw,19px);margin-top:5%;display:flex;align-items:center;justify-content:center;gap:.6em;max-width:100%}.back-offer strong{color:#d0ac72;font-size:1.2em;overflow-wrap:anywhere;max-width:60%;line-height:1.2}.back-note{font-size:clamp(12px,2.7cqw,17px);line-height:1.5;margin-top:5%}
@media(max-width:760px){header{gap:15px;flex-wrap:wrap;height:auto;min-height:80px;padding:18px 0}.brand{font-size:.94rem}.edition{font-size:.75rem;letter-spacing:.05em}.experience{gap:30px}.visual>.eyebrow{font-size:.75rem}.content>.eyebrow{display:none}h1{font-size:3rem}.card{aspect-ratio:1.48}.face{padding:7%}.card-logo{height:29%}.actions{gap:10px}.actions button{font-size:.88rem}.symbol{margin-right:5px}.offer{gap:10px}.offer button{padding:12px}.offer p{font-size:.88rem}footer span{font-size:.75rem}.back-offer{flex-wrap:wrap}}
@media(max-width:360px){.card{aspect-ratio:1.25}.back-offer{margin-top:4%}.back-note{font-size:13px}.brand{font-size:.85rem}.edition{font-size:.72rem}.offer{flex-wrap:wrap}}
/* Requested size-only refinement. */
.face{background-color:#344b3c}
.front{padding:3%}
.card-logo{height:38%;flex-shrink:0;margin-bottom:1%}
.card-name{font-size:clamp(34px,11cqw,76px);line-height:.93}
.card-category{font-size:clamp(14px,3cqw,21px);margin-top:2%}
.card-tagline{font-size:clamp(18px,4.1cqw,29px);margin-top:2%}
.back{padding-bottom:12%}
.back-note{position:absolute;bottom:19px;left:0;right:0;margin:0;font-size:clamp(9px,2.35cqw,12px);line-height:1.2;white-space:nowrap;letter-spacing:0}
footer{flex-wrap:wrap}
footer p{flex-basis:100%;width:100%;text-align:center;white-space:nowrap;font-size:clamp(9px,2.35vw,12px);line-height:1.3;align-self:center}
/* Reference-inspired ivory frame, corner blossoms, and botanical sides. */
.face{background-image:url('botanical-frame.jpg');background-size:100% 100%;background-position:center;border:0;border-radius:3px}
.face::after{display:none}
.front{padding:4%}
.back-note{bottom:8%;left:8%;right:8%;background:#344b3c;border-radius:2px;padding:2px 0}
.front{padding:5%}
.card-logo{height:34%}
.card-category{margin-top:1.5%}
.card-tagline{margin-top:1.5%}
.download-actions{display:grid;gap:10px;margin-top:18px}.download-actions .primary{margin:0}

#person{font-family:Georgia,serif;font-size:18px;letter-spacing:.04em;color:#414e3d;margin:22px 0 6px}#person+.intro{margin-top:0}

/* Scan block under the card (2026-10-07). The card back is full — title, phone, URL, code and
   the research-use line — so the QR lives here, where it is big enough to scan off a screen.
   Hidden when a code has no generated QR; see app.js. */
.scan{display:flex;align-items:center;gap:14px;margin-top:16px;padding:12px 14px;border:1px solid #d8d0bd;border-radius:10px;background:#fbf8f1}
.scan img{width:88px;height:88px;flex-shrink:0;border-radius:6px;background:#f4efe4;padding:4px;display:block}
.scan-text{display:flex;flex-direction:column;gap:3px}
.scan-title{font-family:Manrope,Arial,sans-serif;font-size:.78rem;letter-spacing:.16em;color:#414e3d}
.scan-sub{font-family:Manrope,Arial,sans-serif;font-size:.8rem;line-height:1.35;color:#6b7363}
