:root{color-scheme:light;--stone:#e8e2d7;--ink:#665b4d}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--stone)}body{color:var(--ink);font-family:Georgia,'Times New Roman',serif;-webkit-font-smoothing:antialiased;background:radial-gradient(ellipse at 50% 22%,#f4efe52e,transparent 72%),var(--stone)}.landing{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 24px 45px;gap:13px}.identity{width:min(610px,82vw);flex:none}.stone-mark{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;mix-blend-mode:multiply;mask-image:radial-gradient(ellipse 71% 71% at center,#000 57%,transparent 98%)}.history{width:100%;max-width:490px;text-align:center;padding-inline:12px}.reference{text-transform:uppercase;font-size:10px;line-height:1.6;letter-spacing:.2em;margin:0 0 18px;color:#8a7a65}.reference span{padding-inline:8px}.history>p:last-child{font-size:17px;line-height:1.8;letter-spacing:.01em;margin:0;font-weight:400}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:900px) and (max-height:850px){.identity{width:min(510px,65svh)}.landing{padding-top:12px;gap:10px}.history>p:last-child{font-size:16px}}@media(max-width:600px){.landing{padding:35px 19px 45px;gap:15px}.identity{width:min(470px,100%)}.history{max-width:370px;padding-inline:9px}.reference{font-size:8px;letter-spacing:.16em;margin-bottom:16px}.history>p:last-child{font-size:16px;line-height:1.8}}@media(max-width:360px){.landing{padding-inline:14px}.history>p:last-child{font-size:15px}}

.history{margin:0}.history blockquote{margin:0}.history blockquote p{font-size:23px;line-height:1.6;font-style:italic;letter-spacing:.015em;margin:0 0 23px}.history figcaption{display:flex;flex-direction:column;align-items:center;gap:9px}.quote-author{font-size:11px;letter-spacing:.17em;text-transform:uppercase;color:#796a57}.history cite{font-size:9px;font-style:normal;letter-spacing:.12em;color:#988974}
@media(max-width:600px){.history blockquote p{font-size:21px;margin-bottom:21px}.quote-author{font-size:10px}.history cite{font-size:8px}}

/* The identity is a transparent cutout; only the quotation has a stone plaque. */
.stone-mark{mask-image:none;mix-blend-mode:normal}.landing{gap:15px}.identity{width:min(550px,80vw)}.history{position:relative;isolation:isolate;max-width:610px;padding:0;display:grid;align-items:center;min-height:195px}.stone-plaque{position:absolute;inset:0;z-index:-1;display:block;width:100%;height:100%;object-fit:fill;pointer-events:none}.plaque-copy{padding:32px 50px}.history blockquote p{font-size:22px;line-height:1.5;margin-bottom:19px;color:#766955;text-shadow:0 1px 0 #fff8}.quote-author{color:#81715c}.history cite{color:#9b8b76}
@media(min-width:900px) and (max-height:850px){.identity{width:min(460px,59svh)}.landing{padding-top:18px;gap:10px}}
@media(max-width:600px){.landing{padding:28px 17px 38px;gap:20px}.identity{width:min(450px,100%)}.history{max-width:410px;min-height:185px}.plaque-copy{padding:28px 30px}.history blockquote p{font-size:19px;margin-bottom:18px}.quote-author{font-size:9px}.history cite{font-size:8px}}
@media(max-width:360px){.plaque-copy{padding:25px 26px}.history blockquote p{font-size:18px}}



/* One continuous stone surface: shallow carving, original ivory tone, no cutout/filter. */
.stone-mark{filter:none;mix-blend-mode:normal;-webkit-mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent),linear-gradient(to bottom,transparent,#000 5%,#000 95%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent),linear-gradient(to bottom,transparent,#000 5%,#000 95%,transparent);mask-composite:intersect}

:root{--stone:#ddceba}body{background:var(--stone) url('/assets/sanisera-wall-texture.webp') center center/cover fixed no-repeat;isolation:isolate}body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.16;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Cpath fill='%23808080' filter='url(%23grain)' d='M0 0h160v160H0z'/%3E%3C/svg%3E")}

/* A small carved seal opens a separate, quiet inner narrative. */
.enter-seal{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:86px;height:86px;border:1px solid #b6a184;border-radius:50%;color:#87745b;text-decoration:none;box-shadow:inset 1px 1px 2px #92795638,1px 1px 1px #fff5;text-shadow:0 1px 0 #fff6;font-size:12px;font-variant:small-caps;letter-spacing:.1em;margin-top:4px;transition:color .2s,border-color .2s}.enter-seal:hover{color:#5e4e3a;border-color:#8e7656}.enter-seal:focus-visible{outline:2px solid #6f5b42;outline-offset:5px}.seal-glyph{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.story-page{font-family:Georgia,'Times New Roman',serif;color:#665b4d}.story-header{display:flex;justify-content:space-between;align-items:center;gap:25px;max-width:1000px;margin:0 auto;padding:32px 35px}.story-brand{color:inherit;font-size:20px;letter-spacing:.2em;text-decoration:none}.story-header nav{display:flex;gap:16px}.story-header nav a{font-size:11px;color:#8a775d;text-decoration:none;padding-block:6px}.story-header nav a[aria-current]{border-bottom:1px solid #9f886a;color:#5a4833}.story-main{width:calc(100% - 56px);max-width:690px;margin:35px auto 0;text-align:center;padding-bottom:60px}.story-main h1{font-size:clamp(30px,4.5vw,48px);font-weight:400;line-height:1.25;letter-spacing:-.02em;margin:0 auto 55px;max-width:620px}.story-section{padding:35px 0;border-top:1px solid #b7a58c70}.story-kicker{font-size:10px!important;letter-spacing:.16em;text-transform:uppercase;margin:0 0 28px!important;color:#937d5e}.story-section h2{font-size:30px;font-weight:400;line-height:1.2;margin:0 0 23px}.story-section>p,.port-context p{font-size:18px;line-height:1.85;margin:0 0 23px}.full-quote{margin:0}.full-quote blockquote{margin:0 0 25px}.full-quote blockquote p{font-size:21px;font-style:italic;line-height:1.8;margin:0}.full-quote figcaption{font-size:11px;letter-spacing:.1em;text-transform:uppercase}.full-quote cite,.full-quote small{display:block;font-style:normal;text-transform:none;font-size:10px;letter-spacing:.06em;margin-top:10px;color:#9a866a}.full-quote small{font-size:9px}.port-context{margin:45px auto 0;max-width:600px}.port-context h2{font-size:24px}.port-context p{font-size:16px;color:#877359}.story-section>.story-closing{font-style:italic;font-size:23px;line-height:1.5;margin-top:35px}.story-sources{font-size:12px;color:#877359;margin:10px 0 35px}.story-sources summary{cursor:pointer;letter-spacing:.06em}.story-sources p{line-height:1.7;font-size:12px;max-width:500px;margin:16px auto}.story-sources a{display:block;color:inherit;margin:12px 0;text-underline-offset:4px}.back-home{font-size:11px;letter-spacing:.06em;color:#8a775d;text-underline-offset:5px}.story-header a:focus-visible,.story-main a:focus-visible{outline:2px solid #8a775d;outline-offset:5px}
@media(max-width:600px){.enter-seal{width:75px;height:75px;font-size:11px;gap:5px}.seal-glyph{width:22px;height:22px}.story-header{padding:25px 24px}.story-brand{font-size:17px;letter-spacing:.14em}.story-header nav{gap:13px}.story-main{width:calc(100% - 44px);margin-top:25px;padding-bottom:45px}.story-main h1{font-size:31px;margin-bottom:35px}.story-section{padding:28px 0}.story-section>p{font-size:16px;line-height:1.8}.full-quote blockquote p{font-size:18px;line-height:1.8}.port-context p{font-size:15px}.story-section h2{font-size:28px}.story-kicker{font-size:9px!important}}
@media(prefers-reduced-motion:reduce){.enter-seal{transition:none}}
/* Classic winery editorial rhythm, informed by the Tenuta San Guido reference. */
.story-header{display:grid;grid-template-columns:1fr auto 1fr;max-width:1180px;border-bottom:1px solid #ad967050}.story-brand{grid-column:2;grid-row:1;justify-self:center;font-size:24px;letter-spacing:.2em}.story-header nav{grid-column:3;grid-row:1;justify-self:end}.story-main{max-width:780px;margin-top:65px}.story-main h1{max-width:680px;margin-bottom:65px;font-size:clamp(33px,4.6vw,54px)}.story-section{padding-block:48px}.story-section>p{max-width:650px;margin-inline:auto}.story-section:last-of-type{margin-top:15px;background:#d0b990;color:#59472f;padding:47px 45px;border:1px solid #b49b745c}.story-section:last-of-type .story-kicker{color:#6d5638}.story-section:last-of-type h2{font-size:36px}.story-section:last-of-type .story-closing{color:#665034}.story-sources{margin-top:35px}
@media(max-width:600px){.story-header{padding:25px 20px;grid-template-columns:20px 1fr 75px;gap:10px}.story-brand{font-size:20px;letter-spacing:.12em}.story-header nav{gap:12px}.story-main{margin-top:42px}.story-main h1{font-size:33px;margin-bottom:40px}.story-section{padding-block:32px}.story-section:last-of-type{padding:34px 22px}.story-section:last-of-type h2{font-size:30px}}

/* Numbered wine and oil bottles: packaging proposal, within La tierra only. */
.bottle-pair{margin:38px 0 0}.bottle-pair img{display:block;width:100%;height:auto;max-width:100%;border-radius:2px}.bottle-pair figcaption{margin-top:16px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#8a775d;line-height:1.7}
@media(max-width:600px){.bottle-pair{margin-top:28px}.bottle-pair figcaption{font-size:9px;letter-spacing:.06em}}

/* Pliny's plaque now introduces the interior; the threshold keeps only the identity and entry. */
.story-plaque{margin:0 auto 46px;max-width:610px}.landing{gap:20px}
@media(max-width:600px){.story-plaque{margin-bottom:32px;min-height:180px}.story-plaque .plaque-copy{padding-inline:25px}}

/* A quiet, decorative impression of the existing face, below the circle copy. */
.circle-engraving{width:min(240px,80%);aspect-ratio:3/2;margin:24px auto 0;background-image:url('/assets/sanisera-wall-engraving.webp');background-size:100% auto;background-position:center 20%;background-repeat:no-repeat;opacity:.22;mix-blend-mode:multiply;mask-image:radial-gradient(ellipse 50% 60% at 50% 48%,#000 52%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 50% 60% at 50% 48%,#000 52%,transparent 100%);pointer-events:none}
@media(max-width:600px){.circle-engraving{width:min(210px,85%);margin-top:20px}}

/* Entry-only illustrated turn: name and layout stay still; no automatic looping. */
.identity{position:relative}.entry-turn{position:absolute;inset:0 0 auto;width:100%;height:78%;pointer-events:none;opacity:0;mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent),linear-gradient(to bottom,transparent,#000 5%,#000 92%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent),linear-gradient(to bottom,transparent,#000 5%,#000 92%,transparent);-webkit-mask-composite:source-in}.is-entering .enter-seal{opacity:.45;cursor:progress}.entry-complete .landing{opacity:0;transition:opacity .24s ease-out}
@media(prefers-reduced-motion:reduce){.entry-turn{display:none}.entry-complete .landing{transition:none}}
.invitation-gate{width:min(420px,calc(100vw - 40px));padding:45px 32px;border:1px solid #ad9670;background:#ddceba;color:#665b4d;text-align:center;font-family:Georgia,serif}.invitation-gate::backdrop{background:#3f342652;backdrop-filter:blur(4px)}.invitation-gate h2{font-weight:400;font-size:27px}.invitation-gate p{font-size:16px}.invitation-gate form{display:grid;gap:14px;margin-top:30px}.invitation-gate label{font-size:13px}.invitation-gate input{width:100%;padding:12px;border:1px solid #ad9670;background:#e7dac7;color:inherit;font-size:18px;text-align:center}.invitation-gate form button{padding:12px;border:1px solid #ad9670;background:transparent;color:inherit;font-family:inherit;font-size:16px}.gate-close{position:absolute;top:10px;right:14px;border:0;background:none;color:inherit;font-size:26px;cursor:pointer}

.entry-turn{mask-image:linear-gradient(to right,transparent,#000 2%,#000 98%,transparent),linear-gradient(to bottom,transparent,#000 2%,#000 98%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 2%,#000 98%,transparent),linear-gradient(to bottom,transparent,#000 2%,#000 98%,transparent)}
.fallback-gate{text-align:center}.fallback-gate input{font-size:18px;margin:15px;padding:10px}

.entry-turn{top:7%;height:70%}

/* Five independent decimal rings: an antique brass cryptex. */
.invitation-gate{width:min(480px,calc(100vw - 32px));padding:40px 24px 30px}.invitation-gate h2{margin:12px 0 16px}.invitation-gate .gate-eyebrow{font-size:11px;letter-spacing:.23em;margin:0}.invitation-gate .gate-invitation{font-size:12px;margin:23px 0 0;color:#8a775d}.cryptex{display:flex;justify-content:center;position:relative;margin:8px auto 10px;padding:8px 12px;border:1px solid #9c8052;border-radius:30px;background:linear-gradient(#d0b58b,#9a794c 12%,#cbb18a 35%,#947449 67%,#c9ad80);box-shadow:inset 0 1px 3px #fff8,0 4px 12px #4b361c20;max-width:348px;width:100%;gap:3px}.cryptex::before,.cryptex::after{content:'';width:10px;border:1px solid #8c7049;border-radius:50%;background:linear-gradient(90deg,#b79764,#d7bf96,#957344);flex-shrink:0}.cryptex-wheel{display:flex;flex-direction:column;flex:1;min-width:0;border-inline:1px solid #987b50;background:linear-gradient(#a3885f,#dfcfaf 38%,#eee1c5 50%,#c7ae85 65%,#9d8058);box-shadow:inset 1px 0 #fff4}.cryptex-wheel button{font-size:22px;line-height:1;color:#5e482c;border:0;background:transparent;padding:4px 0;cursor:pointer;height:28px}.cryptex-wheel select{appearance:none;-webkit-appearance:none;text-align:center;text-align-last:center;width:100%;border:0;border-radius:0;padding:8px 0;color:#54412b;background:transparent;font:32px Georgia,serif;cursor:pointer;outline-offset:-2px}.cryptex-wheel select:focus-visible,.cryptex-wheel button:focus-visible{outline:2px solid #7b5a2c}.cryptex-wheel option{background:#e6d7bb;color:#54412b}.dial-tick select{animation:dial-tick .16s ease-out}@keyframes dial-tick{from{transform:translateY(-3px);opacity:.55}to{transform:translateY(0);opacity:1}}.invitation-gate .unlock{width:150px;justify-self:center;cursor:pointer}.invitation-gate .unlock:disabled{opacity:.5;cursor:progress}.gate-error{font-size:13px!important;color:#7d1f2d!important;margin:0;line-height:1.5}@media(max-width:380px){.invitation-gate{padding-inline:15px}.cryptex{padding-inline:7px;gap:2px}.cryptex-wheel select{font-size:29px}}@media(prefers-reduced-motion:reduce){.dial-tick select{animation:none}}

/* Ten-ring antique cryptex, sized as a single horizontal mechanism. */
.invitation-gate{width:min(650px,calc(100vw - 20px));max-width:650px;max-height:min(92svh,720px);overflow:auto;padding:clamp(24px,5vw,42px) clamp(12px,3vw,30px) 28px}
.invitation-gate form{gap:12px;margin-top:24px}
.cryptex{width:100%;max-width:590px;gap:2px;margin:10px auto 14px;padding:9px 10px;border-radius:38px;box-shadow:inset 0 2px 3px #fff9,inset 0 -3px 5px #59411c42,0 7px 15px #4b361c2b;position:relative}
.cryptex{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:2px}
.cryptex::before,.cryptex::after{position:absolute;top:50%;width:clamp(5px,1.5vw,12px);height:62px;transform:translateY(-50%);border-radius:50%;box-shadow:inset 1px 0 #fff7,inset -2px 0 #6e512b75;z-index:2}
.cryptex::before{left:-5px}.cryptex::after{right:-5px}
.cryptex-wheel{position:relative;width:100%;min-width:0;border-inline:1px solid #987b50;background:linear-gradient(90deg,#8e7148,#c5a875 12%,#e0d0af 32%,#f0e3c9 49%,#d5bd92 68%,#a4885e 91%,#81623e);box-shadow:inset 1px 0 #fff8,inset -1px 0 #674c2e55}
.cryptex-wheel:first-of-type{border-radius:8px 0 0 8px}.cryptex-wheel:last-of-type{border-radius:0 8px 8px 0}
.cryptex-wheel:nth-of-type(3){margin-left:5px}
.cryptex-wheel button{display:block;width:100%;height:17px;padding:0;font-size:14px;line-height:15px;color:#705735;text-shadow:0 1px #fff8}
.cryptex-wheel select{display:block;width:100%;min-width:0;height:38px;padding:0;font:clamp(17px,4.5vw,29px)/1 Georgia,serif;color:#493923;text-shadow:0 1px #fff8}
.cryptex-letter select{font-variant:small-caps;font-weight:600;color:#624822}
.is-entering .stone-mark{opacity:0!important;transition:none}
.is-entering .identity::after{content:'SANISERA';position:absolute;top:81%;left:0;z-index:2;width:100%;text-align:center;color:#887352;font:clamp(15px,4vw,22px)/1 Georgia,'Times New Roman',serif;letter-spacing:.17em;text-shadow:0 1px 0 #fff8;opacity:.85}
.entry-turn{left:8%;top:0;width:84%;height:auto;aspect-ratio:1;z-index:1;transform-origin:center center;mask-image:radial-gradient(ellipse 46% 48% at 50% 48%,#000 86%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 46% 48% at 50% 48%,#000 86%,transparent 100%)}
@media(max-width:380px){.invitation-gate{padding-inline:10px}.cryptex{padding-inline:6px;gap:1px}.cryptex-wheel:nth-of-type(3){margin-left:3px}.cryptex-wheel button{height:15px;font-size:12px}.cryptex-wheel select{height:34px;font-size:17px}.cryptex::before,.cryptex::after{height:54px}}
@media(prefers-reduced-motion:reduce){.entry-turn{display:none}}

/* Coin-like turn on successful entry; preserve the original wordmark. */
.entry-turn{position:absolute;left:8%;top:0;width:84%;height:auto;aspect-ratio:1;z-index:1;display:block!important;clip-path:circle(49% at 50% 50%);mask:none;-webkit-mask:none;background:none;will-change:opacity;pointer-events:none}
.is-spinning .stone-mark{opacity:0!important;transition:none}
.is-spinning .identity::after{content:'SANISERA';position:absolute;top:81%;left:0;z-index:2;width:100%;text-align:center;color:#887352;font:clamp(15px,4vw,22px)/1 Georgia,'Times New Roman',serif;letter-spacing:.17em;text-shadow:0 1px 0 #fff8;opacity:.85}
.invitation-gate .unlock:disabled::before{content:"";display:inline-block;width:11px;height:11px;margin-inline-end:8px;border:1px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-1px;animation:gate-pending .7s linear infinite}
@keyframes gate-pending{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.invitation-gate .unlock:disabled::before{animation:none}}

/* Older turntable styling kept for history; current effect is the two-view coin flip below. */
.is-entering .identity{overflow:hidden}
@media(prefers-reduced-motion:reduce){.entry-turn{display:none}}

/* Override the retired turntable rules above: only the drawn two-sided coin is shown. */
.entry-turn{position:absolute;left:8%;top:0;width:84%;height:auto;aspect-ratio:1;z-index:1;display:block!important;clip-path:circle(49% at 50% 50%);mask:none;-webkit-mask:none;background:none!important;will-change:opacity;pointer-events:none}

/* Warm limestone light keeps the coin and its movement visible during the gate transition. */
.coin-transition{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 50% 38%,#fff8e9 0%,#eee1c7 43%,#cbb995 100%);}
.coin-transition::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,rgba(255,255,255,.72),transparent 48%),repeating-linear-gradient(117deg,rgba(97,75,42,.018) 0 1px,transparent 1px 5px);pointer-events:none}
.coin-transition__content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%;min-height:100%;padding:20px;}
.coin-transition__message{min-height:52px;text-align:center;opacity:0;transform:translateY(8px);transition:opacity .65s ease,transform .65s ease;}
.coin-transition__message.is-authorized{opacity:1;transform:translateY(0);}
.coin-transition__latin{margin:0;color:#604a2e;font:600 clamp(15px,3vw,21px) Georgia,serif;letter-spacing:.18em;text-shadow:0 1px rgba(255,255,255,.65);}
.coin-transition__council{margin:7px 0 0;color:#837052;font:11px Georgia,serif;letter-spacing:.24em;}
.coin-transition__canvas{position:relative;display:block;width:min(76vw,54vh,500px);height:auto;aspect-ratio:1;filter:drop-shadow(0 18px 24px rgba(58,42,23,.28));}
@media(max-width:600px){.coin-transition__canvas{width:min(78vw,48vh,390px)}}
@media(prefers-reduced-motion:reduce){.coin-transition__canvas{animation:none}}
