:root{
  --cream:#F1EBE0;
  --paper:#FFFCF6;
  --ink:#1A1512;
  --brown:#4A3F38;
  --burgundy:#6B1F1A;
  --gold:#C89B6B;
  --sand:#E4D9C6;
  --dark:#1A1512;
  --mono:'JetBrains Mono', monospace;
  --serif:'Cormorant Garamond', serif;
  --sans:'Manrope', system-ui, sans-serif;
  --gutter:clamp(18px,4vw,56px);
}
*{box-sizing:border-box}
*,*::before,*::after{min-width:0}
html{scroll-behavior:smooth;max-width:100%;overflow-x:hidden}
body{margin:0;max-width:100%;overflow-x:hidden;background:var(--cream);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;width:100%;max-width:100%;height:auto;object-fit:cover}
a{color:inherit;text-decoration:none}
::selection{background:var(--burgundy);color:var(--cream)}

/* Header */
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px var(--gutter);background:rgba(241,235,224,.86);backdrop-filter:blur(18px);border-bottom:1px solid rgba(26,21,18,.08);transition:.25s ease}
.site-header.scrolled{padding-top:13px;padding-bottom:13px;background:rgba(241,235,224,.96)}
.brand{font-family:var(--serif);font-size:clamp(23px,2.6vw,30px);line-height:1;letter-spacing:-.02em;white-space:nowrap}
.site-nav{display:flex;gap:clamp(16px,2.4vw,32px);align-items:center;font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:700}
.site-nav a{position:relative;white-space:nowrap}.site-nav a:after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;background:var(--burgundy);transition:.25s}.site-nav a:hover:after{width:100%}
.nav-toggle{display:none;background:none;border:0;color:var(--ink);font:700 12px var(--sans);letter-spacing:.16em;text-transform:uppercase;padding:8px 0;cursor:pointer}

/* Common */
.section,.hero{max-width:1440px;margin:0 auto;padding:clamp(70px,8vw,120px) var(--gutter)}
.hero{padding-top:clamp(104px,11vw,142px);padding-bottom:clamp(70px,8vw,105px)}
.hero-grid,.split-grid,.contact-grid,.page-intro-grid,.promise-grid,.book-box{display:grid;gap:clamp(34px,6vw,100px)}
.hero-grid>*,.split-grid>*,.contact-grid>*,.page-intro-grid>*,.promise-grid>*,.book-box>*{min-width:0}
.hero-grid{grid-template-columns:minmax(0,1.25fr) minmax(260px,1fr);align-items:end;min-height:72vh}
.split-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr)}
.contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.page-intro-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);align-items:start}

.eyebrow,.kicker{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--burgundy);margin-bottom:22px}
.eyebrow{display:flex;gap:14px;align-items:center;margin-bottom:clamp(30px,4vw,48px)}.eyebrow span{width:48px;height:1px;background:currentColor;opacity:.55;flex:0 0 auto}
.hero h1,.section-head h2,.about h2,.promise-grid h2,.book-copy h2,.contact h2,.page-hero h1,.page-cta-box h2{font-family:var(--serif);font-weight:300;letter-spacing:-.03em;margin:0;line-height:.96;overflow-wrap:anywhere}
.hero h1{font-size:clamp(58px,10vw,168px);margin-bottom:32px}.hero h1 em,.section-head em,.promise-grid em,.page-hero em{font-style:italic;color:var(--burgundy);font-weight:400}
.hero p{font-family:var(--serif);font-style:italic;font-size:clamp(21px,2vw,26px);line-height:1.45;max-width:590px;color:var(--brown);margin:0 0 42px}
.hero-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.button{display:inline-block;padding:16px 28px;border-radius:999px;font-size:12px;letter-spacing:.15em;text-transform:uppercase;font-weight:700;transition:.25s;text-align:center}.button-dark{background:var(--ink);color:var(--cream)}.button-dark:hover{background:var(--burgundy)}.button-light{background:var(--cream);color:var(--burgundy)}.button-light:hover{background:var(--dark);color:var(--cream)}.text-link{display:inline-block;font-size:12px;letter-spacing:.15em;text-transform:uppercase;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:7px}
.frame{position:relative;background:var(--sand);overflow:hidden}.portrait-frame,.book-box .frame{aspect-ratio:3/4}.about-image,.page-portrait{aspect-ratio:4/5}.frame img{width:100%;height:100%;object-fit:cover}.portrait-frame img,.about-image img,.page-portrait img{object-position:center top}.vertical-label{position:absolute;top:-24px;left:-24px;font:11px var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--burgundy);writing-mode:vertical-rl;transform:rotate(180deg)}
.roles{margin-top:clamp(46px,7vw,100px);padding-top:28px;border-top:1px solid rgba(26,21,18,.15);display:flex;justify-content:space-between;align-items:center;gap:14px 20px;flex-wrap:wrap}.roles span{font-family:var(--serif);font-style:italic;font-size:clamp(24px,2.4vw,32px)}.roles i{width:8px;height:8px;border-radius:50%;background:var(--burgundy);flex:0 0 auto}

.dark-section{background:var(--dark);color:var(--cream);max-width:none;padding:clamp(74px,9vw,140px) var(--gutter)}.gold{color:var(--gold)}.about h2{font-size:clamp(42px,5.5vw,88px);margin-bottom:40px;color:var(--cream)}.about h2 em,.book-copy h2 em,.contact h2 em,.page-cta-box h2 em{color:var(--gold);font-style:italic}.about-copy{padding-top:30px}.columns-text{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px;color:rgba(241,235,224,.85);line-height:1.7}.columns-text p{margin:0}.stats{margin-top:50px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.stats strong{display:block;font:300 clamp(42px,4vw,56px)/1 var(--serif);color:var(--gold)}.stats span,.meta-row{font:11px var(--mono);letter-spacing:.14em;text-transform:uppercase;opacity:.75}.meta-row{margin-top:28px;padding-top:20px;border-top:1px solid rgba(241,235,224,.15);display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}.section-head{display:flex;justify-content:space-between;align-items:end;gap:35px;flex-wrap:wrap;margin-bottom:clamp(40px,6vw,80px)}.section-head h2{font-size:clamp(42px,5.5vw,88px)}.burgundy{color:var(--burgundy)}

.cards{display:grid;gap:32px}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}.service-card{background:var(--paper);border:1px solid rgba(26,21,18,.08);padding:28px;display:flex;flex-direction:column;gap:22px;transition:.3s ease}.service-card:hover,.post-card:hover{transform:translateY(-4px)}.service-card img{aspect-ratio:4/3}.card-top{display:flex;justify-content:space-between;align-items:center;gap:16px}.card-top span,.card-top small,.service-card a,.post-card a,.post-meta,.promise-items span{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase}.card-top span,.service-card a,.post-card a,.post-meta,.promise-items span{color:var(--burgundy)}.card-top small{opacity:.6}.service-card h3,.post-card h3,.promise-items h4,.work-card h3,.timeline-item h3{font-family:var(--serif);font-weight:500;line-height:1.1;margin:0}.service-card h3{font-size:32px}.service-card h3 em{font-style:italic}.service-card p,.post-card p,.promise-items p,.work-card p,.timeline-item p{font-size:15px;line-height:1.62;color:var(--brown);margin:0}.dark-card{background:var(--dark);color:var(--cream);border-color:var(--dark)}.dark-card p{color:rgba(241,235,224,.75)}.dark-card a,.dark-card .card-top span,.dark-card h3 em{color:var(--gold)}

.promises{padding-top:0}.promise-wrap{border-top:1px solid rgba(26,21,18,.15);padding-top:clamp(54px,6vw,80px)}.promise-grid{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.promise-grid h2{font-size:clamp(40px,4.5vw,68px)}.promise-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 36px}.promise-items h4{font-size:26px;margin:14px 0 10px}.book-cta{max-width:1440px;margin:0 auto;padding:0 var(--gutter) clamp(76px,9vw,140px)}.book-box{position:relative;background:var(--burgundy);color:var(--cream);padding:clamp(42px,6vw,100px) clamp(24px,5vw,80px);overflow:hidden;grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr);align-items:center}.book-box:before{content:"";position:absolute;inset:0;opacity:.15;background:radial-gradient(circle at 80% 20%,#F1EBE0 0,transparent 40%)}.book-copy,.book-box .frame{position:relative}.book-copy h2{font-size:clamp(44px,6vw,96px);margin-bottom:28px}.book-copy p,.contact p{font-family:var(--serif);font-style:italic;font-size:clamp(20px,2vw,22px);line-height:1.5;color:rgba(241,235,224,.8);margin:0 0 36px;max-width:520px}.post-card{display:flex;flex-direction:column;gap:20px;transition:.3s ease}.post-card img{aspect-ratio:16/10}.post-card h3{font-size:clamp(30px,3vw,36px)}.post-card h3 em{font-style:italic}

.contact h2{font-size:clamp(46px,7vw,120px);margin-bottom:34px}.contact-list{display:flex;flex-direction:column;gap:18px}.contact-list div{display:flex;justify-content:space-between;gap:24px;padding-bottom:16px;border-bottom:1px solid rgba(241,235,224,.15);font-size:14px}.contact-list span{opacity:.6;letter-spacing:.12em;text-transform:uppercase;font-size:11px}.contact-form{display:flex;flex-direction:column;gap:22px}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.contact-form label{display:flex;flex-direction:column;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.9}.contact-form input,.contact-form textarea,.contact-form select{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(241,235,224,.3);color:var(--cream);padding:12px 0;font:16px var(--sans);outline:0;letter-spacing:0;text-transform:none}.contact-form option{background:var(--dark)}.privacy{flex-direction:row!important;align-items:flex-start!important;font-family:var(--sans)!important;font-size:12px!important;line-height:1.5;text-transform:none!important;letter-spacing:0!important;opacity:.7}.privacy input{width:auto;margin-top:2px;accent-color:var(--gold)}.contact-form button{margin-top:12px;background:var(--gold);color:var(--dark);border:0;padding:18px 32px;border-radius:999px;font:700 13px var(--sans);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;align-self:flex-start;transition:.25s}.contact-form button:hover{background:var(--cream)}.site-footer{padding:30px var(--gutter);display:flex;justify-content:space-between;gap:20px;background:var(--dark);color:rgba(241,235,224,.7);border-top:1px solid rgba(241,235,224,.12);font-size:13px}.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}

/* About page */
.page-hero{max-width:1440px;margin:0 auto;padding:clamp(104px,10vw,150px) var(--gutter) clamp(44px,6vw,80px)}.page-hero h1{font-size:clamp(58px,9vw,148px);max-width:1200px}.page-intro{max-width:1440px;margin:0 auto;padding:clamp(38px,5vw,70px) var(--gutter) clamp(76px,8vw,120px)}.page-lead{font-family:var(--serif);font-style:italic;font-size:clamp(24px,2.7vw,32px);line-height:1.36;margin:0 0 36px;color:var(--ink)}.rich-text{display:flex;flex-direction:column;gap:22px;font-size:16px;line-height:1.75;color:var(--brown);max-width:680px}.rich-text p{margin:0}.rich-text em,.rich-text strong{color:var(--ink)}.quote-section{background:var(--dark);color:var(--cream);padding:clamp(76px,9vw,140px) var(--gutter);text-align:center}.quote-inner{max-width:1100px;margin:0 auto}.quote-section blockquote{margin:0;font-family:var(--serif);font-weight:300;font-style:italic;font-size:clamp(36px,5vw,72px);line-height:1.15;letter-spacing:-.015em}.quote-section blockquote em{color:var(--gold)}.work-section{max-width:1440px;margin:0 auto;padding:clamp(76px,8vw,120px) var(--gutter)}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.work-card{background:var(--paper);border:1px solid rgba(26,21,18,.08);padding:32px;min-height:260px;transition:.3s}.work-card:hover{transform:translateY(-4px)}.work-card span{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--burgundy)}.work-card h3{font-size:clamp(28px,2.6vw,34px);margin:24px 0 14px}.timeline{max-width:1000px;margin:0 auto;padding:clamp(76px,8vw,120px) var(--gutter)}.timeline-item{display:grid;grid-template-columns:170px minmax(0,1fr);gap:40px;padding:32px 0;border-top:1px solid rgba(26,21,18,.14)}.timeline-item:last-child{border-bottom:1px solid rgba(26,21,18,.14)}.timeline-year{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--burgundy)}.timeline-item h3{font-size:30px;margin:0 0 10px}.page-cta{max-width:1440px;margin:0 auto;padding:0 var(--gutter) clamp(76px,9vw,130px)}.page-cta-box{background:var(--burgundy);color:var(--cream);padding:clamp(38px,5vw,78px);display:flex;justify-content:space-between;gap:50px;align-items:center}.page-cta-box h2{font-size:clamp(42px,5vw,78px)}.page-cta-box p{max-width:430px;line-height:1.65;color:rgba(241,235,224,.78);margin:0 0 28px}

/* Pagine interne: servizi, libro, blog, contatti */
.h2-big{font-family:var(--serif);font-weight:300;font-size:clamp(38px,5.5vw,84px);line-height:1;letter-spacing:-.02em;margin:0 0 28px;overflow-wrap:anywhere}
.h2-big em{font-style:italic;color:var(--burgundy)}
.dark-section .h2-big em,.newsletter .h2-big em{color:var(--gold)}
.breadcrumb{max-width:1440px;margin:0 auto;padding:clamp(92px,10vw,124px) var(--gutter) 0;font:11px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--brown)}
.breadcrumb a{color:var(--brown);border-bottom:1px solid transparent}.breadcrumb a:hover{border-bottom-color:var(--brown)}.breadcrumb .current{color:var(--burgundy)}

.service-hero{max-width:1440px;margin:0 auto;padding:clamp(30px,4vw,56px) var(--gutter) clamp(58px,7vw,90px)}
.service-hero-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);gap:clamp(34px,6vw,80px);align-items:end}
.service-hero-grid>*{min-width:0}
.service-hero h1{font-family:var(--serif);font-weight:300;font-size:clamp(56px,9vw,140px);line-height:.92;letter-spacing:-.025em;margin:0 0 30px;overflow-wrap:anywhere}
.service-hero h1 em{font-style:italic;color:var(--burgundy)}
.service-hero .lead{font-family:var(--serif);font-style:italic;font-size:clamp(20px,2vw,26px);line-height:1.45;max-width:640px;margin:0;color:var(--brown)}

.lead-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:clamp(34px,5vw,80px)}
.lead-grid>*{min-width:0}
.lead-grid h2{font-family:var(--serif);font-weight:300;font-size:clamp(32px,4vw,56px);line-height:1.05;letter-spacing:-.015em;margin:0}
.lead-grid h2 em{font-style:italic;color:var(--burgundy)}

.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.steps.five{grid-template-columns:repeat(5,minmax(0,1fr))}
.steps>div{border-top:1px solid rgba(241,235,224,.3);padding-top:30px}
.steps .num{font-family:var(--serif);font-size:clamp(52px,4.5vw,76px);font-weight:300;color:var(--gold);line-height:1}
.steps h4{font-family:var(--serif);font-weight:500;font-size:23px;margin:18px 0 10px;line-height:1.2}
.steps p{font-size:14px;line-height:1.6;opacity:.75;margin:0}

.price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.price-grid.four{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.price-grid .span-2{grid-column:span 2}
.price-card{position:relative;padding:36px 30px;background:var(--paper);border:1px solid rgba(26,21,18,.15);display:flex;flex-direction:column;gap:18px}
.price-card.wine{background:var(--burgundy);color:var(--cream);border-color:var(--burgundy)}
.price-card.ink{background:var(--dark);color:var(--cream);border-color:var(--dark)}
.price-card .tag{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--brown)}
.price-card.wine .tag,.price-card.ink .tag{color:var(--gold)}
.price-card h4{font-family:var(--serif);font-weight:500;font-size:25px;line-height:1.2;margin:0}
.price-card h4 em{font-style:italic}
.price-card p{font-size:14px;line-height:1.6;color:var(--brown);margin:0}
.price-card.wine p,.price-card.ink p{color:rgba(241,235,224,.85)}
.price-card .note{font-size:12px;font-style:italic}
.price{font-family:var(--serif);font-weight:300;font-size:clamp(34px,3.4vw,44px);line-height:1;color:var(--burgundy);letter-spacing:-.015em;overflow-wrap:anywhere}
.price-card.wine .price,.price-card.ink .price{color:var(--gold)}
.price small{font-size:.45em;font-style:italic;color:var(--brown)}
.price-card.wine .price small,.price-card.ink .price small{color:rgba(241,235,224,.7)}
.price-card .pick{margin-top:auto;padding-top:16px;border-top:1px solid rgba(26,21,18,.15);font:600 12px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--burgundy)}
.price-card.wine .pick,.price-card.ink .pick{color:var(--gold);border-top-color:rgba(241,235,224,.2)}
.badge{position:absolute;top:0;right:24px;background:var(--gold);color:var(--dark);font:600 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;padding:6px 12px}
.fineprint{margin-top:30px;font:11px var(--mono);letter-spacing:.1em;color:var(--brown);opacity:.7}

.service-rows{display:flex;flex-direction:column;gap:1px;background:rgba(26,21,18,.15);border-top:1px solid rgba(26,21,18,.15);border-bottom:1px solid rgba(26,21,18,.15)}
.service-row{display:grid;grid-template-columns:90px minmax(0,1fr) minmax(0,360px) auto;gap:clamp(20px,3vw,40px);align-items:center;padding:44px 6px;background:var(--cream);transition:.25s}
.service-row:hover{background:var(--paper)}
.service-row .idx{font:12px var(--mono);letter-spacing:.16em;color:var(--burgundy)}
.service-row .cat{font:11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--brown);margin-bottom:10px}
.service-row h3{font-family:var(--serif);font-weight:400;font-size:clamp(34px,4vw,54px);line-height:1;letter-spacing:-.02em;margin:0}
.service-row h3 em{font-style:italic;color:var(--burgundy)}
.service-row p{font-size:15px;line-height:1.55;color:var(--brown);margin:0}
.service-row .go{font:700 13px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--burgundy);white-space:nowrap}

.book-hero{background:var(--dark);color:var(--cream);padding:clamp(84px,9vw,120px) var(--gutter) clamp(70px,8vw,120px)}
.book-hero-grid{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(38px,6vw,100px);align-items:center}
.book-hero h1{font-family:var(--serif);font-weight:300;font-size:clamp(58px,9vw,148px);line-height:.9;letter-spacing:-.025em;margin:0 0 36px}
.book-hero h1 em{font-style:italic;color:var(--gold)}
.book-hero p{font-family:var(--serif);font-size:clamp(19px,2vw,24px);line-height:1.55;max-width:560px;margin:0 0 22px;color:rgba(241,235,224,.78)}
.book-hero p strong{color:var(--cream);font-weight:600;font-style:normal}
.book-hero em.gold{color:var(--gold)}
.book-cover{position:relative;aspect-ratio:2/3;background:#2A2320;box-shadow:0 30px 70px rgba(0,0,0,.4);max-width:460px}
.book-cover img{width:100%;height:100%;object-fit:cover}

.cryptic{max-width:1000px;margin:0 auto;padding:clamp(70px,9vw,130px) var(--gutter);text-align:center;display:flex;flex-direction:column;gap:clamp(28px,4vw,46px)}
.cryptic p{font-family:var(--serif);font-weight:300;font-size:clamp(28px,4vw,54px);line-height:1.25;letter-spacing:-.01em;margin:0}
.cryptic em{font-style:italic;color:var(--burgundy)}
.cryptic .rule{display:flex;justify-content:center;align-items:center;gap:20px;flex-wrap:wrap}
.cryptic .rule i{width:56px;height:1px;background:var(--burgundy);flex:0 0 auto}
.cryptic .rule p{font-size:clamp(20px,2.2vw,27px);font-style:italic;color:var(--burgundy)}

.notice{max-width:1440px;margin:0 auto;padding:0 var(--gutter) clamp(70px,8vw,100px)}
.notice-box{background:var(--burgundy);color:var(--cream);padding:clamp(34px,5vw,58px) clamp(24px,4vw,60px);display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(20px,4vw,46px);align-items:start}
.notice-box .nb{font-family:var(--serif);font-weight:300;font-size:clamp(60px,8vw,116px);line-height:.8;color:#E4B896;letter-spacing:-.03em}
.notice-box h3{font-family:var(--serif);font-weight:500;font-size:clamp(25px,3vw,42px);line-height:1.2;margin:0 0 20px}
.notice-box h3 em{font-style:italic;color:#E4B896}
.notice-box p{font-size:16px;line-height:1.7;margin:0 0 18px;color:rgba(241,235,224,.9)}
.notice-box p strong{color:#E4B896}
.notice-box p.last{font-family:var(--serif);font-style:italic;font-size:clamp(18px,2vw,22px);line-height:1.5;color:rgba(241,235,224,.75);margin:0}

.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.review-grid figure{margin:0;background:var(--paper);border:1px solid rgba(26,21,18,.12);overflow:hidden}
.review-grid img{width:100%;height:auto;object-fit:contain}

.featured-post{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(30px,5vw,60px);align-items:center;color:var(--ink)}
.featured-post>*{min-width:0}
.featured-post .frame{aspect-ratio:4/3}
.featured-post .flags{display:flex;gap:12px;flex-wrap:wrap;align-items:center;font:11px var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--burgundy);margin-bottom:20px}
.featured-post .flags .pill{background:var(--burgundy);color:var(--cream);padding:4px 12px}
.featured-post h2{font-family:var(--serif);font-weight:400;font-size:clamp(32px,4.5vw,60px);line-height:1.05;letter-spacing:-.015em;margin:0 0 20px}
.featured-post h2 em{font-style:italic;color:var(--burgundy)}
.featured-post p{font-size:17px;line-height:1.6;color:var(--brown);margin:0 0 26px;max-width:520px}
.featured-post .go{font:600 13px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--burgundy)}

.filters{display:flex;gap:10px;flex-wrap:wrap}
.chip{border:1px solid rgba(26,21,18,.2);padding:11px 18px;border-radius:999px;font:500 12px var(--sans);letter-spacing:.14em;text-transform:uppercase;transition:.2s}
.chip:hover{border-color:var(--burgundy);color:var(--burgundy)}
.chip.on{background:var(--ink);color:var(--cream);border-color:var(--ink);font-weight:600}

.newsletter{background:var(--burgundy);color:var(--cream);padding:clamp(70px,9vw,120px) var(--gutter);text-align:center}
.newsletter-inner{max-width:900px;margin:0 auto}
.newsletter h2{font-family:var(--serif);font-weight:300;font-size:clamp(36px,5vw,72px);line-height:1;letter-spacing:-.02em;margin:0 0 22px}
.newsletter h2 em{font-style:italic;color:#E4B896}
.newsletter .button{margin-top:8px}
.newsletter .sub{font-family:var(--serif);font-style:italic;font-size:clamp(18px,2vw,21px);line-height:1.5;margin:0 0 36px;color:rgba(241,235,224,.85)}
.newsletter form{display:flex;gap:12px;max-width:520px;margin:0 auto;flex-wrap:wrap}
.newsletter input{flex:1 1 240px;min-width:0;background:transparent;border:1px solid rgba(241,235,224,.4);border-radius:999px;padding:17px 24px;color:var(--cream);font:16px var(--sans);outline:0}
.newsletter input::placeholder{color:rgba(241,235,224,.5)}
.newsletter button{background:var(--cream);color:var(--burgundy);border:0;padding:17px 30px;border-radius:999px;font:700 12px var(--sans);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:.25s}
.newsletter button:hover{background:var(--dark);color:var(--cream)}

/* Modulo Brevo (pagina Libro).
   Gli !important servono a vincere su sib-styles.css e sugli stili inline di Brevo. */
.brevo-embed{max-width:520px;margin:0 auto;text-align:left}
.brevo-embed.sib-form{padding:0!important;background:transparent!important}
.brevo-embed #sib-form-container{max-width:none}
.brevo-embed #sib-container{max-width:none!important;background:transparent!important;border:1px solid rgba(241,235,224,.18)!important;border-radius:0!important;padding:clamp(24px,4vw,36px)!important;text-align:left!important}
.brevo-embed form{display:flex;flex-direction:column;gap:26px}
.brevo-embed .sib-form-block,.brevo-embed .form__entry,.brevo-embed .form__label-row{padding:0!important;margin:0!important}

.brevo-embed .entry__field{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.brevo-embed .input{width:100%!important;max-width:100%!important;background:transparent!important;border:0!important;border-bottom:1px solid rgba(241,235,224,.3)!important;border-radius:0!important;box-shadow:none!important;color:var(--cream)!important;padding:12px 0!important;font:16px var(--sans)!important;outline:0}
.brevo-embed .input::placeholder{color:rgba(241,235,224,.4)!important;font-family:var(--sans)!important}
.brevo-embed .input:focus{border-bottom-color:var(--gold)!important}
.brevo-embed .entry__specification{display:block;margin-top:8px!important;font:11px var(--mono)!important;letter-spacing:.12em;text-transform:uppercase;color:rgba(241,235,224,.5)!important;text-align:left!important}

.brevo-embed .entry__choice label{display:flex;gap:12px;align-items:flex-start;cursor:pointer}
.brevo-embed .optin-text{font:13px/1.5 var(--sans);color:rgba(241,235,224,.8)}
.brevo-embed .checkbox{flex:0 0 auto;margin-left:0!important}

.brevo-embed .sib-submit-block{text-align:center!important}
.brevo-embed .sib-form-block__button{width:100%;justify-content:center;background:var(--gold)!important;color:var(--dark)!important;border:0!important;border-radius:999px!important;padding:18px 32px!important;font:700 13px var(--sans)!important;letter-spacing:.16em;text-transform:uppercase;text-align:center!important;cursor:pointer;transition:.25s}
.brevo-embed .sib-form-block__button:hover{background:var(--cream)!important}

.brevo-embed .sib-form__declaration{padding:0!important;display:block}
.brevo-embed .sib-form__declaration p{margin:0;font:12px/1.6 var(--sans);color:rgba(241,235,224,.55);text-align:left}
.brevo-embed .sib-form__declaration a{color:var(--gold);text-decoration:underline}
.brevo-embed .declaration-block-icon{display:none}

.brevo-embed .sib-form-message-panel{max-width:none!important;margin:0 0 20px!important;font-family:var(--sans)!important;font-size:14px!important}
.brevo-embed .input--hidden{position:absolute;left:-9999px}

.contact-page{background:var(--dark);color:var(--cream)}
.contact-page .contact-list a,.contact-page .contact-list strong{font-family:var(--serif);font-style:italic;font-size:20px;font-weight:400}
.socials{display:flex;flex-wrap:wrap;gap:12px}
.socials a{border:1px solid rgba(241,235,224,.3);padding:13px 21px;border-radius:999px;font:13px var(--sans);letter-spacing:.14em;text-transform:uppercase;transition:.2s}
.socials a:hover{border-color:var(--gold);color:var(--gold)}
.pullquote{padding:28px 30px;background:rgba(200,155,107,.08);border-left:2px solid var(--gold)}
.pullquote p{font-family:var(--serif);font-style:italic;font-size:clamp(18px,2vw,22px);line-height:1.5;margin:0}
.pullquote em{color:var(--gold)}
.form-status{margin:0;padding:14px 18px;font:13px var(--sans);line-height:1.5;border-radius:4px;display:none}
.form-status.ok{display:block;background:rgba(200,155,107,.15);border-left:2px solid var(--gold);color:var(--cream)}
.form-status.err{display:block;background:rgba(180,60,50,.18);border-left:2px solid #E4B896;color:var(--cream)}

/* Tablet */
@media (max-width: 1024px){
  .hero-grid,.split-grid,.contact-grid,.page-intro-grid,.promise-grid,.book-box{grid-template-columns:1fr;min-height:auto}
  .three,.two,.work-grid,.columns-text,.stats,.promise-items,.form-row{grid-template-columns:1fr}
  .about-copy{padding-top:0}.book-box{gap:42px}.section-head{display:block}.section-head .text-link{margin-top:22px}.vertical-label{display:none}.contact-list div{flex-direction:column;gap:8px}.page-cta-box{display:block}.page-cta-box p{margin-top:24px}.timeline-item{grid-template-columns:1fr;gap:12px}.site-footer{flex-direction:column}
  .hero-grid{align-items:stretch}.hero-media{max-width:620px}.book-box .frame{max-width:560px}

  /* Pagine interne */
  .service-hero-grid,.lead-grid,.book-hero-grid,.featured-post{grid-template-columns:1fr}
  .steps,.steps.five{grid-template-columns:repeat(2,minmax(0,1fr))}
  .price-grid,.price-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}
  .price-grid .span-2{grid-column:span 2}
  .review-grid{grid-template-columns:1fr}
  .service-row{grid-template-columns:1fr;gap:16px;padding:34px 4px}
  .service-row .go{margin-top:4px}
  .notice-box{grid-template-columns:1fr;gap:20px}
  .book-cover{max-width:420px}
  .featured-post .frame{order:-1}
}

/* Phone */
@media (max-width: 760px){
  :root{--gutter:18px}
  .site-header{min-height:64px;padding:14px var(--gutter)}.brand{font-size:23px;max-width:68%;white-space:normal}.nav-toggle{display:block;flex:0 0 auto}.site-nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:flex-start;gap:18px;padding:22px var(--gutter) 26px;background:rgba(241,235,224,.98);border-bottom:1px solid rgba(26,21,18,.1);font-size:11px}.site-nav.open{display:flex}.site-nav a{padding:2px 0}
  .hero{padding-top:96px;padding-bottom:62px}.section{padding-top:72px;padding-bottom:72px}.dark-section{padding-top:76px;padding-bottom:76px}.page-hero{padding-top:96px;padding-bottom:42px}.page-intro,.work-section,.timeline{padding-top:62px;padding-bottom:72px}
  .hero-grid{gap:34px}.hero-media{order:-1;max-width:none}.hero-copy{order:1}.portrait-frame{aspect-ratio:4/5}.hero h1,.page-hero h1{font-size:clamp(52px,16vw,74px);line-height:.94;letter-spacing:-.035em}.hero p,.page-lead{font-size:22px;line-height:1.38;margin-bottom:32px}.eyebrow{margin-bottom:28px}.eyebrow span{width:34px}.eyebrow,.kicker{font-size:10px;letter-spacing:.17em}.button{width:100%;padding:15px 20px;font-size:11px}.hero-actions{align-items:stretch}.hero-actions .text-link{margin-top:4px;align-self:center}.roles{justify-content:flex-start;margin-top:40px}.roles span{font-size:24px}.roles i{display:none}
  .about h2,.section-head h2,.promise-grid h2,.book-copy h2,.contact h2,.page-cta-box h2{font-size:clamp(38px,12vw,58px);line-height:1}.stats strong{font-size:44px}.service-card{padding:22px}.service-card h3,.post-card h3{font-size:30px}.book-cta{padding-bottom:76px}.book-box{padding:40px 22px}.book-box .frame{max-width:none}.contact-form button{width:100%}.contact-list div{align-items:flex-start}.contact-form input,.contact-form textarea,.contact-form select{font-size:16px}.quote-section{padding-top:76px;padding-bottom:76px}.quote-section blockquote{font-size:clamp(34px,10vw,48px)}.work-card{min-height:auto;padding:26px}.timeline-item{padding:26px 0}.site-footer{font-size:12px;padding:26px var(--gutter)}
  /* Pagine interne */
  .breadcrumb{padding-top:88px;font-size:10px;line-height:1.9}
  .service-hero{padding-bottom:56px}
  .service-hero h1{font-size:clamp(48px,15vw,70px);letter-spacing:-.03em}
  .service-hero .lead,.lead-grid h2{font-size:22px}
  .service-hero-grid .frame{order:-1;max-width:none}
  .steps,.steps.five,.price-grid,.price-grid.four{grid-template-columns:1fr}
  .price-grid .span-2{grid-column:auto}
  .price-card{padding:26px 22px}
  .steps .num{font-size:52px}
  .service-row h3{font-size:clamp(30px,10vw,40px)}
  .book-hero{padding-top:92px}
  .book-hero h1{font-size:clamp(50px,15vw,70px)}
  .book-cover{order:-1;max-width:none}
  .cryptic{padding-top:64px;padding-bottom:64px}
  .cryptic .rule i{display:none}
  .notice-box{padding:32px 22px}
  .notice-box .nb{font-size:64px}
  .featured-post h2{font-size:clamp(30px,10vw,42px)}
  .newsletter{padding-top:70px;padding-bottom:70px}
  .newsletter form{flex-direction:column}
  .newsletter input,.newsletter button{width:100%;flex:none}
  .filters{gap:8px}.chip{padding:10px 15px;font-size:11px;letter-spacing:.1em}
  .contact-page .contact-list a,.contact-page .contact-list strong{font-size:18px;overflow-wrap:anywhere}
}
@media (max-width:380px){.hero h1,.page-hero h1{font-size:50px}.brand{font-size:21px}.hero p,.page-lead{font-size:20px}.roles span{font-size:22px}.book-box{padding-left:18px;padding-right:18px}}
