:root{
  --bg:#0a0a0a;--paper:#f2efe7;--ink:#121212;--muted:#77736b;--line:#d8d2c6;
  --red:#d64b3f;--red2:#b9362e;--sand:#c9b78d;--dark:#111;--dark2:#181818;--white:#fff;
  --radius:24px;--max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}
a{color:inherit}
button,input{font:inherit}
.shell{width:min(calc(100% - 40px),var(--max));margin-inline:auto}
.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100vw - var(--max))/2));background:#0b0b0b;color:#fff;border-bottom:1px solid #242424;position:relative;z-index:10}
.brand{display:flex;gap:11px;align-items:center;text-decoration:none;font-weight:900;letter-spacing:.12em;font-size:14px}
.brand-mark{width:23px;height:23px;border:2px solid var(--sand);border-radius:50% 50% 46% 46%;position:relative}.brand-mark:after{content:"";position:absolute;width:6px;height:6px;background:var(--red);border-radius:50%;right:-4px;top:1px}
.nav-cta{font-size:13px;text-decoration:none;border-bottom:1px solid #7e7563;padding-bottom:3px;color:#e7dfce}
.hero{display:grid;grid-template-columns:1.08fr .92fr;gap:64px;padding:72px 0 82px;align-items:center}
.eyebrow{margin:0 0 18px;color:#6f675c;font-weight:850;font-size:12px;letter-spacing:.18em}.eyebrow.red{color:#ff6b5f}
h1{font-size:clamp(54px,7.6vw,108px);line-height:.9;letter-spacing:-.065em;margin:0;max-width:760px}
.lede{font-family:Georgia,serif;font-size:clamp(22px,2.4vw,34px);line-height:1.2;color:#4e4941;margin:28px 0 32px;max-width:650px}
.facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:32px}
.facts div{padding:18px 12px 17px 0;border-right:1px solid var(--line)}.facts div:last-child{border-right:0;padding-left:14px}.facts div:not(:first-child){padding-left:14px}
.facts strong{display:block;font-size:19px;letter-spacing:-.02em}.facts span{display:block;font-size:11px;color:#746f66;margin-top:3px;text-transform:uppercase;letter-spacing:.08em}
.primary,.secondary{border:0;border-radius:999px;padding:15px 22px;font-weight:850;cursor:pointer;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;gap:12px;transition:.2s transform,.2s background}.primary{background:var(--red);color:#fff}.primary:hover{background:var(--red2);transform:translateY(-1px)}.secondary{background:transparent;border:1px solid #b7b0a3;color:#27231d}.secondary:hover{background:#ebe7dd}
.hero-art{position:relative;min-height:590px}.hero-art svg{display:block;width:100%;height:100%;min-height:590px;filter:drop-shadow(0 24px 35px rgba(0,0,0,.2))}.art-label{position:absolute;bottom:20px;left:24px;color:#a69a82;font-size:10px;letter-spacing:.14em}
.section{padding:90px 0}.section-head{max-width:740px;margin-bottom:42px}.section-head h2,.detour-copy h2,.next-inner h2{font-size:clamp(38px,5vw,66px);line-height:.98;letter-spacing:-.05em;margin:0 0 18px}.section-head>p:not(.eyebrow){font-size:18px;color:#645f57;max-width:660px}.compact{margin-bottom:28px}
.booking-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.book-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;min-height:360px;display:flex;flex-direction:column;box-shadow:0 8px 30px rgba(39,31,18,.04)}.book-card.featured{background:#121212;color:#f7f3ea;border-color:#121212;transform:translateY(-10px)}
.book-topline{display:flex;justify-content:space-between;align-items:center;color:#888277;font-size:11px;letter-spacing:.13em}.book-card.featured .book-topline{color:#a7a098}.tag{padding:6px 9px;border:1px solid currentColor;border-radius:999px;font-weight:800}.book-card h3{font-size:30px;line-height:1.02;letter-spacing:-.04em;margin:30px 0 12px}.book-meta{font-size:12px!important;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#8a8277!important}.book-card.featured .book-meta{color:#c7bfae!important}.book-card>p{color:#625e56;font-size:15px}.book-card.featured>p{color:#bdb7ad}.book-link{margin-top:auto;padding-top:24px;font-weight:900;text-decoration:none;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ddd6ca}.book-card.featured .book-link{border-color:#333;color:#fff}.book-card small{margin-top:8px;color:#989187}.affiliate-note{font-size:11px;color:#847d72;margin:18px 4px 0;max-width:760px}
.detour-wrap{background:#0b0b0b;color:#f4eee2}.detour-grid{display:grid;grid-template-columns:1fr .82fr;gap:82px;align-items:center}.detour-copy h2{max-width:720px}.detour-copy>p{color:#b9b0a2;max-width:650px}.detour-copy blockquote{font-family:Georgia,serif;font-size:clamp(28px,3.2vw,44px);font-style:italic;margin:34px 0 8px;color:#e7d6ad;line-height:1.08}.translation{font-size:13px!important;text-transform:uppercase;letter-spacing:.12em;color:#7f776b!important}.prompt-box{margin-top:42px;border-left:3px solid var(--red);padding:4px 0 4px 20px}.prompt-box span{font-size:11px;letter-spacing:.14em;color:#ff6b5f;font-weight:900}.prompt-box p{font-size:18px;margin:8px 0}.respect{font-size:12px!important;color:#777066!important;margin-top:30px!important}.threshold-card{background:#151515;border:1px solid #2b2b2b;border-radius:28px;padding:42px 34px 24px;box-shadow:0 20px 50px rgba(0,0,0,.3)}.threshold-door{height:480px;border:22px solid #5c5548;border-bottom:0;border-radius:160px 160px 0 0;background:#080808;position:relative;overflow:hidden;box-shadow:inset 0 0 100px rgba(0,0,0,.9)}.threshold-stone{position:absolute;top:112px;left:0;right:0;text-align:center;color:#d3c5a4;font-family:Georgia,serif;font-size:28px;letter-spacing:.16em}.threshold-small{position:absolute;top:158px;left:0;right:0;text-align:center;color:#8d8069;font-family:Georgia,serif;font-size:12px;letter-spacing:.12em;line-height:1.6}.threshold-black{position:absolute;inset:218px 28px 0;background:linear-gradient(#050505,#000);border-radius:70px 70px 0 0;border:1px solid #1d1b18}.threshold-caption{display:flex;justify-content:space-between;padding-top:18px;font-size:10px;letter-spacing:.16em;color:#8b8378}
.share-head{margin-bottom:30px}.share-tool{display:grid;grid-template-columns:.9fr 1.1fr;background:#fff;border:1px solid var(--line);border-radius:28px;overflow:hidden;min-height:520px}.photo-panel{background:#171717;padding:26px;display:flex;align-items:stretch}.photo-picker{border:1px dashed #5a554b;border-radius:20px;color:#e5dece;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer;min-height:420px;padding:28px;background:radial-gradient(circle at 50% 38%,#2a2926 0,#171717 48%)}.photo-picker input{display:none}.camera-icon{font-size:60px;color:#c9b78d;line-height:1;margin-bottom:18px}.photo-picker strong{font-size:19px}.photo-picker small{color:#8f887c;margin-top:8px}.preview-wrap{position:relative;width:100%;border-radius:20px;overflow:hidden;background:#050505}.preview-wrap img{width:100%;height:100%;min-height:420px;object-fit:cover;display:block}.text-button{position:absolute;bottom:14px;right:14px;border:0;border-radius:999px;background:rgba(255,255,255,.9);padding:9px 13px;font-size:12px;font-weight:800;cursor:pointer}.caption-panel{padding:34px}.caption-label{font-size:11px;letter-spacing:.14em;font-weight:900;color:#777168;margin:0 0 14px}.caption-list{display:grid;gap:10px}.caption-option{width:100%;text-align:left;border:1px solid #ded8cd;background:#faf8f3;border-radius:16px;padding:14px 16px;cursor:pointer;color:#6a645b;font-size:10px;text-transform:uppercase;letter-spacing:.11em;font-weight:900}.caption-option span{display:block;text-transform:none;letter-spacing:0;font-size:16px;color:#24211d;margin-top:4px;font-weight:650}.caption-option.active{border-color:#171717;background:#171717;color:#bdb5a8}.caption-option.active span{color:#fff}.share-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.wide{width:100%}.share-status{font-size:12px;font-weight:800;min-height:18px;margin:12px 0 0;color:#31644b}.share-hint{font-size:11px;color:#847e74;margin-top:8px}
.before-you-go{border-top:1px solid var(--line)}.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:22px;overflow:hidden}.info-grid>div{background:#f7f4ed;padding:24px}.info-grid span{font-size:10px;letter-spacing:.14em;color:#8b8479;font-weight:900}.info-grid strong{display:block;font-size:26px;margin:8px 0}.info-grid p{font-size:13px;color:#746e64;margin:0}.official-note{font-size:12px;color:#7c756b;margin-top:18px}.official-note a{font-weight:800}
.next-layer{background:#d8c7a1;padding:76px 0}.next-inner h2{max-width:820px}.next-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:34px}.next-grid>div{background:rgba(255,255,255,.42);border:1px solid rgba(49,42,29,.16);border-radius:18px;padding:22px}.next-grid span{font-size:10px;letter-spacing:.14em;color:#675c47;font-weight:900}.next-grid strong{display:block;font-size:22px;margin:8px 0}.next-grid small{color:#6a604f}
.footer{padding:30px 0 42px;display:flex;justify-content:space-between;gap:20px;align-items:flex-end}.footer div strong{display:block;letter-spacing:.14em}.footer div span,.footer p{font-size:12px;color:#7f786e;margin:4px 0 0}
@media(max-width:900px){
  .hero{grid-template-columns:1fr;gap:40px;padding-top:52px}.hero-art{min-height:480px}.hero-art svg{min-height:480px;max-height:540px}.facts{grid-template-columns:repeat(2,1fr)}.facts div:nth-child(2){border-right:0}.facts div:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .booking-grid{grid-template-columns:1fr}.book-card{min-height:0}.book-card.featured{transform:none}.detour-grid{grid-template-columns:1fr}.threshold-card{max-width:540px;width:100%;margin:auto}.share-tool{grid-template-columns:1fr}.info-grid{grid-template-columns:1fr 1fr}.next-grid{grid-template-columns:1fr}.footer{align-items:flex-start;flex-direction:column}
}
@media(max-width:560px){
  .shell{width:min(calc(100% - 28px),var(--max))}.topbar{height:66px;padding:0 14px}.nav-cta{font-size:11px}.hero{padding:38px 0 58px}.lede{margin-top:22px}.hero-art{min-height:390px}.hero-art svg{min-height:390px}.facts strong{font-size:18px}.section{padding:64px 0}.section-head h2,.detour-copy h2,.next-inner h2{font-size:42px}.booking-grid{gap:12px}.book-card{padding:22px}.detour-grid{gap:44px}.threshold-card{padding:24px 18px 18px}.threshold-door{height:390px;border-width:16px}.share-section{padding-bottom:72px}.caption-panel{padding:24px 18px}.photo-panel{padding:16px}.photo-picker{min-height:330px}.preview-wrap img{min-height:330px}.share-actions{grid-template-columns:1fr}.info-grid{grid-template-columns:1fr}.footer p{max-width:260px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.primary{transition:none}}

.next-card{display:block;background:rgba(255,255,255,.42);border:1px solid rgba(49,42,29,.16);border-radius:18px;padding:22px;text-decoration:none;transition:.18s transform,.18s background}
.next-card:hover{transform:translateY(-2px);background:rgba(255,255,255,.58)}
.next-card span{font-size:10px;letter-spacing:.14em;color:#675c47;font-weight:900}.next-card strong{display:block;font-size:22px;margin:8px 0}.next-card small{color:#6a604f}
.machine-card{background:#151515;border:1px solid #2b2b2b;border-radius:28px;padding:34px 30px 22px;box-shadow:0 20px 50px rgba(0,0,0,.3)}
.machine-stage{height:470px;border-radius:20px;background:linear-gradient(180deg,#25211c 0,#111 32%,#060606 100%);position:relative;overflow:hidden;border:1px solid #3b352d}
.machine-stage:before{content:"";position:absolute;left:12%;right:12%;top:20%;height:2px;background:#84775f;box-shadow:0 82px 0 #514a3e,0 164px 0 #3b362f,0 246px 0 #29251f;opacity:.8}
.machine-stage:after{content:"";position:absolute;left:50%;top:12%;bottom:8%;width:2px;background:#a58e62;box-shadow:-100px 0 0 #514a3e,100px 0 0 #514a3e,-200px 0 0 #302b24,200px 0 0 #302b24;opacity:.62}
.machine-label{position:absolute;left:18px;bottom:18px;right:18px;border-top:1px solid #454038;padding-top:12px;color:#c7b78f;font-size:10px;letter-spacing:.14em;display:flex;justify-content:space-between}
.rome-art-label{color:#b6a57f}
