:root{--ink: #101010;--ink-soft: #1a1a17;--paper: #efece4;--paper-dim: #b9b4a8;--line: rgba(239, 236, 228, .16);--line-soft: rgba(239, 236, 228, .08);--accent: #c8a878;--accent-soft: rgba(200, 168, 120, .14);--font-display: "Cormorant Garamond", Georgia, "Times New Roman", serif;--font-body: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;--container: 1200px;--container-narrow: 900px;--ease: cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--font-body);font-weight:300;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,svg{display:block;max-width:100%}h1,h2,h3{font-family:var(--font-display);font-weight:500;line-height:1.12;margin:0 0 1.2em;letter-spacing:.005em}p{margin:0 0 1em}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:var(--ink)}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:clamp(20px,5vw,48px)}.container.narrow{max-width:var(--container-narrow)}.skip-link{position:absolute;top:-60px;left:16px;background:var(--paper);color:var(--ink);padding:10px 18px;z-index:100;font-size:14px;transition:top .2s var(--ease)}.skip-link:focus{top:12px}.site-header{position:fixed;inset:0 0 auto 0;z-index:50;padding:18px 0;background:linear-gradient(to bottom,#101010b8,#10101000);transition:background .35s var(--ease),padding .35s var(--ease),border-color .35s var(--ease);border-bottom:1px solid transparent}.site-header.scrolled{background:#101010eb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom-color:var(--line-soft);padding:12px 0}.header-inner{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:clamp(20px,5vw,48px);display:flex;align-items:center;gap:32px}.brand{display:flex;flex-direction:column;line-height:1.2}.brand-name{font-family:var(--font-display);font-size:19px;letter-spacing:.06em;text-transform:uppercase}.brand-sub{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--paper-dim)}.site-nav{margin-left:auto;display:flex;gap:28px;font-size:13px;letter-spacing:.1em;text-transform:uppercase}.site-nav a{color:var(--paper-dim);transition:color .25s var(--ease)}.site-nav a:hover,.site-nav a:focus-visible{color:var(--paper)}.btn-header{padding:10px 20px!important;font-size:13px!important}.btn{display:inline-block;padding:15px 34px;font-family:var(--font-body);font-size:13px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;border:1px solid transparent;cursor:pointer;transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease),transform .3s var(--ease)}.btn-primary{background:var(--paper);color:var(--ink)}.btn-primary:hover,.btn-primary:focus-visible{background:var(--accent);border-color:var(--accent)}.btn-ghost{border-color:var(--line);color:var(--paper);background:transparent}.btn-ghost:hover,.btn-ghost:focus-visible{border-color:var(--paper)}.btn-block{display:block;width:100%;text-align:center}.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:140px 0 220px}.hero-sky{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 90% 60% at 50% 8%,rgba(200,168,120,.12),transparent 60%),radial-gradient(ellipse 60% 40% at 78% 30%,rgba(120,100,80,.1),transparent 65%),linear-gradient(to bottom,#0b0b0a,#121210 55%,#151410)}.hero-hills{position:absolute;left:0;right:0;bottom:0;height:40%;pointer-events:none}.hero-hills svg{width:100%;height:100%}.hero-content{position:relative;z-index:2;width:100%;max-width:var(--container-narrow);margin-inline:auto;padding-inline:clamp(20px,5vw,48px)}.eyebrow{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:22px}.hero-title{font-size:clamp(40px,6.4vw,76px);font-weight:500;letter-spacing:.01em;margin-bottom:26px;max-width:14ch}.hero-subtitle{font-size:clamp(16px,1.6vw,19px);color:var(--paper-dim);max-width:52ch;margin-bottom:44px;font-weight:300}.hero-actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.hero-scroll{position:absolute;left:50%;bottom:28px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;z-index:2}.hero-scroll-label{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--paper-dim)}.hero-scroll-line{width:1px;height:46px;background:var(--line);position:relative;overflow:hidden}.hero-scroll-line:after{content:"";position:absolute;top:-100%;left:0;width:100%;height:100%;background:var(--accent);animation:scroll-drip 2.4s var(--ease) infinite}@keyframes scroll-drip{0%{top:-100%}60%{top:100%}to{top:100%}}.section{padding:clamp(90px,12vh,150px) 0}.section-title{font-size:clamp(30px,4vw,46px);max-width:22ch;margin-bottom:1em}.lead{font-family:var(--font-display);font-size:clamp(20px,2.2vw,25px);line-height:1.5;color:var(--paper);font-weight:400}.section-progetto{background:var(--ink-soft);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}.progetto-grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(40px,6vw,80px);margin-top:40px}.progetto-body p{color:var(--paper-dim);font-size:15.5px}.progetto-points{list-style:none;margin:44px 0 0;padding:0;border-top:1px solid var(--line)}.progetto-points li{display:grid;grid-template-columns:64px 1fr;gap:18px;padding:26px 0;border-bottom:1px solid var(--line);align-items:baseline}.point-number{font-family:var(--font-display);font-size:15px;color:var(--accent);letter-spacing:.08em}.progetto-points h3{font-size:21px;margin-bottom:6px}.progetto-points p{margin:0;color:var(--paper-dim);font-size:14.5px}.section-prenotazione{background:radial-gradient(ellipse 70% 55% at 15% 20%,rgba(200,168,120,.07),transparent 60%),var(--ink)}.booking-wrap{display:grid;grid-template-columns:1fr 420px;gap:clamp(40px,6vw,72px);align-items:start}.booking-notes{list-style:none;margin:26px 0 0;padding:0}.booking-notes li{padding:12px 0;border-top:1px solid var(--line-soft);color:var(--paper-dim);font-size:14.5px;display:flex;gap:12px;align-items:baseline}.booking-notes li:before{content:"";width:5px;height:5px;background:var(--accent);transform:translateY(-1px);flex:none}.booking-card{background:#161512;border:1px solid var(--line);padding:34px 32px 30px}.booking-badge{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border:1px solid rgba(200,168,120,.3);padding:10px 14px;margin:0 0 26px;line-height:1.5;text-transform:none;letter-spacing:.02em;font-size:13px}.field{margin-bottom:20px}.field label{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--paper-dim);margin-bottom:8px}.field input,.field select{width:100%;background:transparent;border:none;border-bottom:1px solid var(--line);color:var(--paper);font-family:var(--font-body);font-size:15px;font-weight:300;padding:10px 2px;outline:none;border-radius:0;transition:border-color .25s var(--ease);color-scheme:dark;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:none}.field select{background-image:linear-gradient(45deg,transparent 50%,var(--paper-dim) 50%),linear-gradient(135deg,var(--paper-dim) 50%,transparent 50%);background-position:calc(100% - 16px) 55%,calc(100% - 10px) 55%;background-size:6px 6px;background-repeat:no-repeat;padding-right:32px}.field input:focus,.field select:focus{border-bottom-color:var(--accent)}.field input::placeholder,.field select:invalid{color:var(--paper-dim)}.booking-fineprint{margin:16px 0 0;font-size:12.5px;color:var(--paper-dim);text-align:center;line-height:1.5}.booking-card .btn{margin-top:6px}.section-trailer{background:var(--ink-soft);border-bottom:1px solid var(--line-soft)}.trailer-wrap{max-width:1000px}.trailer-head{margin-bottom:40px}.video-frame{position:relative;aspect-ratio:16 / 9;border:1px solid var(--line);background:#000;overflow:hidden}.video-frame:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;box-shadow:0 40px 120px -40px #000000e6;pointer-events:none;z-index:1}.video-frame iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.flow-label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--paper-dim);margin:26px 0 12px}.booking-card .flow-label:first-of-type{margin-top:8px}.day-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.day-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:transparent;color:var(--paper);font-family:var(--font-body);padding:10px 4px 9px;display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer;transition:border-color .25s var(--ease),background .25s var(--ease),color .25s var(--ease)}.day-dow{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--paper-dim)}.day-num{font-family:var(--font-display);font-size:22px;line-height:1}.day-mon{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--paper-dim)}.day-btn:hover:not(:disabled),.day-btn:focus-visible{border-color:var(--paper)}.day-btn.is-selected{border-color:var(--accent);background:var(--accent-soft)}.day-btn.is-selected .day-dow,.day-btn.is-selected .day-mon{color:var(--accent)}.day-btn.is-closed,.day-btn:disabled{opacity:.38;cursor:not-allowed;border-style:dashed}.day-note{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--paper-dim)}.slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.slot-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:transparent;color:var(--paper);font-family:var(--font-body);padding:10px 8px 9px;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;transition:border-color .25s var(--ease),background .25s var(--ease)}.slot-time{font-family:var(--font-display);font-size:19px;line-height:1}.slot-state{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--paper-dim)}.slot-btn:hover:not(:disabled),.slot-btn:focus-visible{border-color:var(--paper)}.slot-btn.is-selected{border-color:var(--accent);background:var(--accent-soft)}.slot-btn.is-selected .slot-state{color:var(--accent)}.slot-btn.is-full,.slot-btn:disabled{opacity:.38;cursor:not-allowed;border-style:dashed}.slot-hint{grid-column:1 / -1;margin:0;padding:14px 0;color:var(--paper-dim);font-size:13.5px;text-align:center;border:1px dashed var(--line-soft)}.flow-error{margin:18px 0 0;padding:12px 14px;border:1px solid rgba(190,120,90,.45);background:#be785a1a;color:#e0b39c;font-size:13.5px;line-height:1.5}.booking-done{text-align:center;padding:12px 4px 4px}.done-mark{width:56px;height:56px;margin:0 auto 22px;border:1px solid var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--accent);font-size:24px;font-weight:300}.done-title{font-size:28px;margin-bottom:10px}.done-codice{font-family:var(--font-display);font-size:21px;letter-spacing:.08em;color:var(--accent);margin-bottom:8px}.done-detail{color:var(--paper-dim);font-size:14.5px;margin-bottom:8px}.done-note{font-size:12.5px;color:var(--paper-dim);opacity:.8;margin-bottom:30px}.section-info{background:var(--ink-soft);border-top:1px solid var(--line-soft)}.info-head{margin-bottom:56px}.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.info-item{padding:34px 28px 34px 0;border-right:1px solid var(--line)}.info-item:first-child{padding-left:0}.info-item:not(:first-child){padding-left:28px}.info-item:last-child{border-right:none}.info-item h3{font-size:20px;margin-bottom:10px;color:var(--accent);font-weight:500}.info-item p{margin:0;font-size:14.5px;color:var(--paper-dim)}.section-faq{background:var(--ink)}.faq-list{margin-top:44px;border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 4px;font-family:var(--font-display);font-size:clamp(19px,2vw,23px);transition:color .25s var(--ease)}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:hover{color:var(--accent)}.faq-icon{position:relative;width:14px;height:14px;flex:none}.faq-icon:before,.faq-icon:after{content:"";position:absolute;background:var(--paper-dim);transition:transform .35s var(--ease),background .25s var(--ease)}.faq-icon:before{left:0;top:50%;width:100%;height:1px;transform:translateY(-50%)}.faq-icon:after{top:0;left:50%;width:1px;height:100%;transform:translate(-50%)}.faq-item[open] .faq-icon:after{transform:translate(-50%) scaleY(0)}.faq-item[open] .faq-icon:before,.faq-item[open] .faq-icon:after{background:var(--accent)}.faq-item p{max-width:62ch;padding:0 4px 30px;color:var(--paper-dim);font-size:15px;margin:0}.footer-staff{display:inline-block;margin-bottom:10px;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--paper-dim);border-bottom:1px solid var(--line);padding-bottom:3px;transition:color .25s var(--ease),border-color .25s var(--ease)}.footer-staff:hover{color:var(--accent);border-color:var(--accent)}.site-footer{background:#0a0a09;border-top:1px solid var(--line-soft);padding:72px 0 40px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}.footer-name{font-family:var(--font-display);font-size:24px;letter-spacing:.04em;margin:0 0 12px}.footer-tagline{color:var(--paper-dim);font-size:14px;max-width:34ch;margin:0}.footer-nav{display:flex;flex-direction:column;gap:12px}.footer-nav a{color:var(--paper-dim);font-size:14px;transition:color .25s var(--ease)}.footer-nav a:hover{color:var(--paper)}.footer-meta p{color:var(--paper-dim);font-size:14px;margin:0 0 10px}.footer-copy{font-size:12.5px;opacity:.7}.staff-body{background:#0d0d0b;min-height:100vh}.staff-header{position:sticky;top:0;z-index:20;background:#0d0d0bf0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft);padding:16px 0}.staff-header-inner{width:100%;max-width:1100px;margin-inline:auto;padding-inline:clamp(20px,4vw,40px);display:flex;align-items:center;justify-content:space-between;gap:20px}.staff-brand{display:flex;flex-direction:column;line-height:1.25}.staff-back{font-size:13px;letter-spacing:.08em;color:var(--paper-dim);transition:color .25s var(--ease)}.staff-back:hover{color:var(--paper)}.staff-main{width:100%;max-width:1100px;margin-inline:auto;padding:clamp(40px,7vh,70px) clamp(20px,4vw,40px) 90px}.staff-title{font-size:clamp(32px,4vw,44px);margin:0}.staff-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:36px}.staff-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:18px}.staff-filter{display:flex;flex-direction:column;gap:7px}.staff-filter span{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--paper-dim)}.staff-filter select,.staff-filter input{background:#141311;border:1px solid var(--line);color:var(--paper);font-family:var(--font-body);font-size:14px;padding:9px 12px;border-radius:0;outline:none;color-scheme:dark;min-width:150px}.staff-filter select:focus,.staff-filter input:focus{border-color:var(--accent)}.staff-reset{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid var(--line);color:var(--paper-dim);font-family:var(--font-body);font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:10px 18px;cursor:pointer;transition:color .25s var(--ease),border-color .25s var(--ease)}.staff-reset:hover{color:var(--paper);border-color:var(--paper)}.staff-summary{display:flex;flex-wrap:wrap;gap:12px 28px;padding:16px 2px 24px;border-bottom:1px solid var(--line);margin-bottom:6px;font-size:14px;color:var(--paper-dim)}.staff-summary strong{color:var(--paper);font-weight:500;font-family:var(--font-display);font-size:19px;margin-right:4px}.staff-table-wrap{overflow-x:auto}.staff-table{width:100%;border-collapse:collapse;font-size:14.5px;min-width:760px}.staff-table th{text-align:left;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--paper-dim);font-weight:400;padding:18px 14px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.staff-table td{padding:16px 14px;border-bottom:1px solid var(--line-soft);vertical-align:middle}.td-codice{font-family:var(--font-display);letter-spacing:.06em;font-size:16px}.td-tel{font-variant-numeric:tabular-nums;letter-spacing:.02em}.row-annullata td{opacity:.5}.badge{display:inline-block;padding:5px 12px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;border:1px solid;white-space:nowrap}.badge-confermata{color:var(--accent);border-color:#c8a87866;background:var(--accent-soft)}.badge-annullata{color:#b0a99c;border-color:#b0a99c59}.badge-completata{color:#9db49a;border-color:#9db49a66;background:#9db49a14}.td-azioni{white-space:nowrap}.act{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid var(--line);color:var(--paper);font-family:var(--font-body);font-size:12px;letter-spacing:.06em;padding:7px 14px;margin-left:8px;cursor:pointer;transition:color .25s var(--ease),border-color .25s var(--ease),background .25s var(--ease)}.act:first-child{margin-left:0}.act-done:hover{border-color:#9db49a;color:#9db49a}.act-cancel:hover{border-color:#c98a76;color:#c98a76}.staff-empty{text-align:center;color:var(--paper-dim);font-size:14.5px;padding:44px 0;margin:0;border:1px dashed var(--line-soft)}@media (max-width: 960px){.site-nav{display:none}.day-strip{grid-template-columns:repeat(4,1fr)}.progetto-grid,.booking-wrap{grid-template-columns:1fr}.info-grid{grid-template-columns:1fr 1fr}.info-item{padding:26px 24px;border-right:none;border-bottom:1px solid var(--line)}.info-item:nth-child(odd){border-bottom-color:transparent}.info-item:first-child,.info-item:nth-child(2){border-top:none}.info-item:first-child{padding-left:0}.info-item:nth-child(2){padding-left:24px}.footer-grid{grid-template-columns:1fr;gap:32px}}@media (max-width: 560px){.info-grid{grid-template-columns:1fr}.info-item,.info-item:nth-child(2){padding:24px 0;border-bottom:1px solid var(--line)}.info-item:nth-child(odd){border-bottom-color:var(--line)}.hero-actions .btn{width:100%;text-align:center}.btn-header{display:none}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
