@import url('./fonts.css');
:root{--bg:#101c19;--surface:#1c2c26;--ink:#f3eee4;--gold:#c5a77a;--muted:#b5b3a9;--line:rgba(197,167,122,.24);color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Arial,sans-serif;font-size:14px;line-height:1.8}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:7px}::selection{background:var(--gold);color:var(--bg)}.skip{position:absolute;left:20px;top:-80px;z-index:20;background:var(--ink);color:var(--bg);padding:12px}.skip:focus{top:10px}.wrap{width:min(1320px,88%);margin:auto}.header{height:90px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:30px}.signature{font-family:Allura,cursive;font-weight:400}.header .signature{font-size:35px}.nav{display:flex;gap:38px;align-items:center}.nav a{font-size:11px;letter-spacing:.13em;text-transform:uppercase;padding:12px 0;border-bottom:1px solid transparent}.nav a:hover,.nav a[aria-current]{color:var(--gold);border-color:var(--gold)}.menu-toggle{display:none;background:none;color:var(--ink);border:1px solid var(--line);padding:10px 15px}.hero{text-align:center;padding:58px 20px 64px;animation:appear 1s ease-out}.hotel-credit{font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin:0 0 22px}.hotel-logo{width:clamp(180px,18vw,250px);max-width:80%;height:auto;object-fit:contain;margin:0 auto 30px;display:block}.hero h1{font-size:clamp(72px,9.6vw,150px);line-height:1.05;margin:0 0 22px;letter-spacing:-.02em}.hero blockquote{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(24px,2.5vw,35px);line-height:1.25;max-width:640px;margin:0 auto 24px;font-weight:400}.hero .intro{max-width:620px;margin:auto;color:var(--muted);font-size:14px;line-height:1.8}.eyebrow{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}.collections{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.collection{display:flex;min-height:440px;position:relative;background:#15221d;padding:45px 7%;gap:20px;align-items:center;overflow:hidden}.collection:nth-child(2){background:#1c2c26;border-left:1px solid var(--line)}.collection-copy{width:62%;position:relative;z-index:1}.collection h2{font:400 clamp(37px,3.5vw,54px)/1.1 'Cormorant Garamond',serif;margin:15px 0}.subtitle{font:400 22px/1.3 'Cormorant Garamond',serif;color:var(--gold);margin:0 0 20px}.collection p:not(.eyebrow):not(.subtitle){color:var(--muted);font-size:13px;line-height:1.75;max-width:320px}.text-link{display:inline-flex;align-items:center;gap:30px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid var(--gold);padding:14px 0 10px;margin-top:12px;transition:color .3s,gap .3s}.text-link:hover{color:var(--gold);gap:38px}.photo-pending{width:38%;min-height:280px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;padding:20px;text-align:center;color:var(--muted);font-size:10px;letter-spacing:.1em;line-height:1.8}.section{padding:90px 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:45px}.section h2,.contact h2{font:400 46px/1.1 'Cormorant Garamond',serif;margin:12px 0}.section-heading>p{max-width:340px;color:var(--muted);font-size:12px}.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.product{min-width:0}.product-photo{height:350px;background:#15231e;display:flex;justify-content:center;align-items:center;border-bottom:1px solid var(--line);margin-bottom:24px}.product-photo img{width:70%;height:290px;object-fit:contain;filter:drop-shadow(10px 16px 12px #0005);transition:transform .65s}.product:hover img{transform:translateY(-5px) scale(1.025)}.product h3{font:400 32px 'Cormorant Garamond',serif;margin:0 0 12px}.product p{color:var(--muted);font-size:12px;margin:0 0 18px}.notes{font-size:10px;color:var(--gold);letter-spacing:.04em;border-top:1px solid var(--line);padding-top:16px}.page-intro{text-align:center;padding:85px 20px 65px;max-width:760px;margin:auto}.page-intro h1{font:400 clamp(58px,7vw,90px)/1.1 'Cormorant Garamond',serif;margin:16px 0 24px}.page-intro .subtitle{font-size:28px}.page-intro>p:last-child{color:var(--muted);max-width:550px;margin:20px auto 0}.pending{text-align:center;max-width:650px;margin:0 auto 90px;padding:45px;border:1px solid var(--line)}.pending p{color:var(--muted)}.contact{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:30px 0 100px}.contact-details{border-top:1px solid var(--line)}.contact-row{padding:24px 0;border-bottom:1px solid var(--line)}.contact-row span{display:block;color:var(--gold);font-size:10px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:8px}.contact-row a{display:block;overflow-wrap:anywhere;font-size:18px}.contact-row a:hover{color:var(--gold)}.contact-aside{padding:42px;background:var(--surface);align-self:start}.contact-aside p{color:var(--muted)}.footer{border-top:1px solid var(--line);padding:45px 0 22px}.footer-top{display:flex;justify-content:space-between;gap:40px}.footer .signature{font-size:42px;line-height:1.2}.footer p{color:var(--muted);font-size:11px}.footer-links{display:flex;gap:28px;font-size:11px;flex-wrap:wrap}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:30px;padding-top:20px;color:var(--muted);font-size:10px}.footer a:hover{color:var(--gold)}@keyframes appear{from{opacity:.3;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(min-width:1600px){.hero{padding:75px 20px}.collection{min-height:470px}}@media(max-width:1000px){.collection{padding:35px 6%;gap:15px;min-height:440px}.collection-copy{width:65%}.photo-pending{width:35%;padding:10px;font-size:9px}.products{grid-template-columns:repeat(2,minmax(0,1fr))}.contact{gap:35px}}@media(max-width:700px){.wrap{width:88%}.header{height:75px;position:relative}.header .signature{font-size:30px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:74px;left:-6.82%;width:113.64%;background:var(--bg);border-bottom:1px solid var(--line);z-index:10;padding:24px 6%;gap:8px}.nav.open{display:flex;flex-direction:column;align-items:stretch}.nav a{padding:13px}.hero{padding:46px 6% 48px}.hero h1{font-size:clamp(63px,14.5vw,100px);margin-bottom:24px}.hotel-credit{font-size:8px;letter-spacing:.18em}.hero blockquote{font-size:27px}.hero .intro{font-size:12.5px;line-height:1.8}.collections{grid-template-columns:1fr}.collection{min-height:370px;padding:35px 6%;gap:22px}.collection:nth-child(2){border-left:0;border-top:1px solid var(--line)}.collection h2{font-size:40px}.collection-copy{width:64%}.collection p:not(.eyebrow):not(.subtitle){font-size:12.5px;line-height:1.7}.photo-pending{width:36%;min-height:230px}.section{padding:60px 0}.section-heading{display:block;margin-bottom:30px}.section h2{font-size:38px}.products{grid-template-columns:1fr;gap:42px}.product-photo{height:350px}.product-photo img{height:300px}.page-intro{padding:60px 6% 42px}.page-intro h1{font-size:60px}.pending{padding:28px;margin-bottom:60px}.contact{grid-template-columns:1fr;padding-bottom:60px}.contact-aside{padding:30px}.footer-top{flex-direction:column;gap:22px}.footer-links{gap:16px 24px}.footer-bottom{flex-direction:column;gap:8px}.footer-bottom p{margin:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.collection-photo{width:38%;height:340px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.collection-photo img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(10px 16px 12px #0005);transition:transform .65s}.collection-photo:hover img{transform:scale(1.025)}.image-unavailable{font-size:11px;letter-spacing:.08em;color:var(--muted);padding:24px;text-align:center}.description-pending{font-style:italic}.products{row-gap:64px}.product{scroll-margin-top:30px}.product-photo img{width:85%;height:300px}.catalog-index{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 24px;padding:0 0 35px;border-bottom:1px solid var(--line)}.catalog-index a{font-size:11px;color:var(--muted);border-bottom:1px solid transparent;padding:7px 0}.catalog-index a:hover{color:var(--gold);border-color:var(--gold)}.catalog-end{text-align:center;padding:0 0 70px}.catalog-end p{color:var(--muted);font-size:12px}
@media(max-width:700px){.collection-photo{height:285px;width:34%}.catalog-index{gap:5px 18px}.product-photo img{height:300px}.collection{gap:12px}.collection-copy{width:62%}}

/* Home: firma leggibile e due collezioni separate dal bordo dello schermo. */
.hero h1{letter-spacing:0}.brand-word{white-space:nowrap;display:inline-flex;align-items:baseline}.brand-d{display:inline-block;padding-right:.32em}.brand-apostrophe{display:inline-block;font-family:Georgia,serif;font-size:.65em;line-height:1;margin-left:0;margin-right:-.06em;transform:translateY(-.22em)}
.collections{width:min(1320px,88%);margin:0 auto;gap:28px;border:0;grid-template-columns:repeat(2,minmax(0,1fr))}
.collection,.collection:nth-child(2){border:1px solid var(--line);border-radius:3px;padding:40px 32px;gap:20px;min-width:0;box-shadow:0 12px 28px #00000012}
.collection-copy{flex:1;min-width:0;width:auto}.collection-photo{width:31%;height:320px}.collection h2{font-size:clamp(36px,3.4vw,52px)}
@media(min-width:701px) and (max-width:1000px){.collections{gap:20px}.collection,.collection:nth-child(2){padding:30px 24px;flex-wrap:wrap;align-content:start;gap:24px}.collection-copy{flex-basis:100%}.collection-photo{width:100%;height:260px}.collection-photo img{max-width:150px}.collection h2{font-size:40px}}
@media(max-width:700px){.hero h1{font-size:clamp(58px,14vw,98px)}.collections{grid-template-columns:1fr;gap:22px}.collection,.collection:nth-child(2){padding:30px 22px;gap:16px;min-height:370px}.collection h2{font-size:37px}.collection-photo{width:30%;height:265px}.collection .text-link{gap:14px;font-size:9px}}

/* Testi descrittivi più leggibili e comparsa progressiva allo scorrimento. */
.hero .intro{font-size:15px;line-height:1.8}
.collection p:not(.eyebrow):not(.subtitle){font-size:14px;line-height:1.75;max-width:340px}
.section-heading>p,.product p,.page-intro>p:last-child,.catalog-end p,.contact-aside p{font-size:13.5px;line-height:1.8}
.js-reveal .reveal-item{opacity:0;transform:translateY(34px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0ms);will-change:opacity,transform}
.js-reveal .reveal-item.is-visible{opacity:1;transform:translateY(0)}
.js-reveal .product .product-photo img{transform:translateY(10px) scale(.975);transition:transform .9s cubic-bezier(.22,1,.36,1)}
.js-reveal .product.is-visible .product-photo img{transform:translateY(0) scale(1)}
.js-reveal .product.is-visible:hover .product-photo img{transform:translateY(-5px) scale(1.025)}
@media(max-width:700px){.hero .intro{font-size:13.5px}.collection p:not(.eyebrow):not(.subtitle),.product p,.page-intro>p:last-child{font-size:13px}.js-reveal .reveal-item{transform:translateY(24px)}}
@media(prefers-reduced-motion:reduce){.js-reveal .reveal-item{opacity:1;transform:none;will-change:auto}.js-reveal .product .product-photo img{transform:none}}

/* Navigazione mobile persistente, ritorno in cima e footer più leggibile. */
.hotel-attribution,.footer-contacts{font-size:13px!important;line-height:1.7}
.hotel-attribution a,.footer-contacts a{color:var(--ink);border-bottom:1px solid color-mix(in srgb,var(--gold) 55%,transparent);transition:color .25s,border-color .25s}
.hotel-attribution a:hover,.footer-contacts a:hover{color:var(--gold);border-color:var(--gold)}
.footer-contacts{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.back-to-top{position:fixed;right:20px;bottom:20px;z-index:15;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:rgba(16,28,25,.92);color:var(--ink);font:400 20px/1 Georgia,serif;box-shadow:0 8px 24px #0005;opacity:0;visibility:hidden;transform:translateY(10px);pointer-events:none;cursor:pointer;transition:opacity .25s,visibility .25s,transform .25s,border-color .25s,color .25s}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.back-to-top:hover{color:var(--gold);border-color:var(--gold)}
@media(max-width:700px){.header{position:sticky;top:0;z-index:20;background:rgba(16,28,25,.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.back-to-top{right:14px;bottom:14px;width:36px;height:36px;font-size:18px}.hotel-attribution,.footer-contacts{font-size:14px!important}}

/* Schede prodotto complete. */
.product{height:100%;display:flex;flex-direction:column;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:3px;box-shadow:0 12px 30px #00000016;transition:transform .42s cubic-bezier(.22,1,.36,1),border-color .42s,box-shadow .42s}
.product-photo{margin:0 0 24px;border:0;overflow:hidden}
.product h3,.product>p{padding-left:6px;padding-right:6px}
.product>p{flex:1}
.notes{margin-top:auto;padding:16px 18px;border-top:1px solid color-mix(in srgb,var(--gold) 50%,transparent);background:color-mix(in srgb,var(--gold) 8%,transparent);font-size:12px;line-height:1.6;letter-spacing:.055em}
.product:hover img,.js-reveal .product.is-visible:hover .product-photo img{transform:none}
@media(hover:hover) and (pointer:fine){.product:hover,.js-reveal .product.is-visible:hover{transform:translateY(-9px) scale(1.035);border-color:color-mix(in srgb,var(--gold) 60%,transparent);box-shadow:0 22px 48px #0007;z-index:2}}
@media(max-width:700px){.product{padding:14px}.notes{font-size:12.5px;padding:16px}.product h3,.product>p{padding-left:4px;padding-right:4px}}

/* Form di contatto. */
.contact-aside{width:100%}.contact-form{display:grid;gap:18px;margin-top:28px}.form-field{display:grid;gap:7px}.form-field label{color:var(--gold);font-size:10px;letter-spacing:.14em;text-transform:uppercase}.form-field label span{color:var(--muted);letter-spacing:0;text-transform:none}.form-field input,.form-field textarea{width:100%;border:1px solid var(--line);border-radius:0;background:#101c19;color:var(--ink);padding:13px 14px;font:400 14px/1.5 Inter,Arial,sans-serif;transition:border-color .25s,box-shadow .25s}.form-field textarea{resize:vertical;min-height:130px}.form-field input:focus,.form-field textarea:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 2px color-mix(in srgb,var(--gold) 18%,transparent)}.form-consent{display:flex;align-items:flex-start;gap:10px;color:var(--muted);font-size:11px;line-height:1.55}.form-consent input{margin-top:4px;accent-color:var(--gold)}.form-submit{justify-self:start;border:1px solid var(--gold);background:transparent;color:var(--ink);padding:13px 18px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .25s,color .25s}.form-submit:hover{background:var(--gold);color:var(--bg)}.form-trap{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.form-status:empty{display:none}.form-status{margin-top:22px;padding:13px 15px;border:1px solid var(--line);font-size:12px;line-height:1.6}.form-status.is-success{border-color:var(--gold);color:var(--ink)}.form-status.is-error{border-color:#a9675b;color:#e7b7ae}

/* Header persistente su ogni schermo e schede collezione interamente cliccabili. */
.header{position:sticky;top:0;z-index:20;background:rgba(16,28,25,.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.collection-card-link{color:inherit;cursor:pointer;transition:border-color .35s,box-shadow .35s,transform .35s cubic-bezier(.22,1,.36,1)}
.collection-card-link:focus-visible{outline:2px solid var(--gold);outline-offset:6px}
.collection-card-link:hover .text-link{color:var(--gold);gap:38px}
@media(hover:hover) and (pointer:fine){.collection-card-link:hover,.js-reveal .collection-card-link.is-visible:hover{transform:translateY(-6px) scale(1.012);border-color:color-mix(in srgb,var(--gold) 58%,transparent);box-shadow:0 20px 42px #0005}.collection-card-link:hover .collection-photo img{transform:scale(1.05)}}

/* Privacy policy e pagine di errore. */
.form-consent a,.privacy-content a{color:var(--ink);border-bottom:1px solid var(--gold)}
.form-consent a:hover,.privacy-content a:hover{color:var(--gold)}
.privacy-intro{padding-bottom:48px}.privacy-content{max-width:880px;padding-bottom:100px}.privacy-updated{color:var(--gold);font-size:11px;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:42px}.privacy-content section{padding:0 0 30px;margin:0 0 34px;border-bottom:1px solid var(--line)}.privacy-content h2{font:400 34px/1.2 'Cormorant Garamond',Georgia,serif;margin:0 0 15px}.privacy-content p{color:var(--muted);font-size:14px;line-height:1.85}.privacy-content strong{color:var(--ink);font-weight:400}.error-page{min-height:calc(100vh - 260px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 6%}.error-page h1{font:400 clamp(58px,8vw,106px)/1 'Cormorant Garamond',Georgia,serif;margin:18px 0 24px}.error-page p{max-width:590px;color:var(--muted);font-size:15px;line-height:1.8;margin:0 0 30px}.error-action{display:inline-flex;gap:24px;align-items:center;border:1px solid var(--gold);padding:13px 18px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;transition:background .25s,color .25s}.error-action:hover{background:var(--gold);color:var(--bg)}.error-footer{padding-top:15px}
@media(max-width:700px){.privacy-content{padding-bottom:65px}.privacy-content h2{font-size:29px}.privacy-content p{font-size:13px}.error-page{min-height:calc(100vh - 225px);padding-top:60px;padding-bottom:60px}}


