/* doris - foglio di stile */

*{margin:0;padding:0;box-sizing:border-box}
:root{--paper:#f7f2e7;--paper2:#efe6d4;--oliva:#3f5233;--oliva2:#546b43;--terra:#b8562f;
 --ink:#2b2721;--mut:#857a68}
html{-webkit-text-size-adjust:100%}
body{background:var(--paper);color:var(--ink);overflow-x:hidden;
 font-family:Iowan Old Style,Palatino,"Palatino Linotype",Georgia,serif;
 font-size:19px;line-height:1.62;-webkit-font-smoothing:antialiased}
.s{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
a{color:inherit;text-decoration:none}
.w{width:min(1100px,100% - 40px);margin-inline:auto}
.lbl{font-family:system-ui,sans-serif;font-size:11px;letter-spacing:3px;text-transform:uppercase;
 color:var(--terra);font-weight:700}
/* ── testata che scorre via, niente barra fissa ── */
.head{padding:26px 0 0}
.head .w{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap}
.name{font-size:21px;letter-spacing:.4px}
.name b{font-weight:600}
.head .place{font-family:system-ui,sans-serif;font-size:11px;letter-spacing:2.6px;color:var(--mut);
 text-transform:uppercase}
/* ── hero editoriale asimmetrico ── */
.hero{padding:60px 0 74px}
.hero h1{font-size:clamp(38px,8vw,82px);line-height:1.02;font-weight:400;letter-spacing:-1.4px;
 max-width:15ch}
.hero h1 em{font-style:italic;color:var(--terra)}
.hero .under{display:grid;grid-template-columns:1fr 1fr;gap:44px;margin-top:44px;align-items:end}
.hero p{font-size:clamp(17px,2.1vw,21px);color:#5d5648;max-width:40ch}
.callbig{font-family:system-ui,sans-serif;background:var(--oliva);color:var(--paper);
 display:inline-flex;flex-direction:column;padding:20px 30px;border-radius:2px;transition:transform .2s}
.callbig:hover{transform:translateY(-2px)}
.callbig span{font-size:11px;letter-spacing:2.4px;opacity:.8;text-transform:uppercase}
.callbig b{font-size:27px;letter-spacing:-.5px;margin-top:3px}
/* ── fascia terra piena, tipografica ── */
.band{background:var(--terra);color:#fff5ec;padding:58px 0}
.band .w{display:grid;grid-template-columns:repeat(3,1fr);gap:38px}
.band h3{font-size:clamp(21px,2.7vw,27px);font-weight:400;margin-bottom:8px;line-height:1.2}
.band p{font-family:system-ui,sans-serif;font-size:15px;line-height:1.5;color:#f7ded0}
/* ── menù con puntini, come una carta vera ── */
.menu{padding:88px 0}
.menu h2{font-size:clamp(30px,5vw,50px);font-weight:400;letter-spacing:-1px;line-height:1.1;
 margin:12px 0 8px}
.menu .note{color:var(--mut);font-size:17px;margin-bottom:40px}
.card{background:var(--paper2);padding:clamp(28px,5vw,54px);border-radius:3px;
 border-top:4px solid var(--oliva)}
.dish{padding:22px 0;border-bottom:1px dotted #c3b79c}
.dish:last-child{border-bottom:0;padding-bottom:0}
.dish .t{display:flex;align-items:baseline;gap:12px}
.dish h3{font-size:clamp(21px,2.7vw,27px);font-weight:400;white-space:nowrap;color:var(--oliva)}
.dots{flex:1;border-bottom:1px dotted #b9ac90;transform:translateY(-5px)}
.dish p{font-family:system-ui,sans-serif;font-size:15.5px;color:#6b6355;margin-top:7px;
 max-width:62ch;line-height:1.55}
.tbd{font-style:italic;color:#8e8574}
/* ── blocco oliva a tutta larghezza con citazione ── */
.quote{background:var(--oliva);color:var(--paper);padding:96px 0}
.quote .w{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
.quote blockquote{font-size:clamp(27px,4.4vw,44px);line-height:1.18;font-style:italic;
 letter-spacing:-.8px}
.quote p{color:#d8e0cf;margin-bottom:15px;font-size:17.5px}
/* ── foto + cerimonie ── */
.two{padding:88px 0}
.two .w{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}
.ph{border:1px solid #d5c9ac;border-radius:3px;min-height:300px;
 background:linear-gradient(150deg,#ece2cc,#ddd0b2);display:flex;align-items:center;
 justify-content:center;font-family:system-ui,sans-serif;font-size:12px;letter-spacing:2.2px;
 color:#8d8067;text-align:center;padding:22px}
.two h2{font-size:clamp(27px,4.2vw,42px);font-weight:400;letter-spacing:-.8px;line-height:1.14;
 margin:12px 0 20px}
.two p{color:#5d5648;margin-bottom:15px;font-size:17.5px}
/* ── contatti su carta, non scuri ── */
.foot{background:var(--paper2);padding:80px 0 34px}
.foot .grid{display:grid;grid-template-columns:1.1fr .9fr;gap:52px;align-items:start}
.foot h2{font-size:clamp(27px,4.2vw,40px);font-weight:400;letter-spacing:-.8px;margin:12px 0 22px}
.tel2{font-family:system-ui,sans-serif;font-size:clamp(32px,6vw,52px);font-weight:700;
 letter-spacing:-1.6px;color:var(--oliva);display:inline-block;transition:color .2s}
.tel2:hover{color:var(--terra)}
.foot p{color:#5d5648;font-size:17px}
.addr{font-size:20px;line-height:1.5;margin-bottom:14px}
.maps{font-family:system-ui,sans-serif;font-weight:700;font-size:15.5px;color:var(--terra);
 border-bottom:2px solid var(--terra);padding-bottom:2px}
.legal{border-top:1px solid #d9cdb4;margin-top:56px;padding-top:20px;
 font-family:system-ui,sans-serif;font-size:13px;color:var(--mut);display:flex;
 justify-content:space-between;flex-wrap:wrap;gap:10px}
/* pulsante flottante solo su telefono */
.fab{display:none}
.js .rv{opacity:0;transform:translateY(16px)}
.rv.on{opacity:1;transform:none;transition:opacity .6s ease,transform .6s ease}
@media(max-width:880px){
 body{font-size:18px}
 .hero{padding:36px 0 54px}
 .hero .under,.band .w,.quote .w,.two .w,.foot .grid{grid-template-columns:1fr;gap:30px}
 .band,.quote,.two,.menu{padding:56px 0}
 .quote{padding:64px 0}
 .callbig{display:none}
 .fab{display:flex;position:fixed;left:16px;right:16px;bottom:16px;z-index:70;
  background:var(--terra);color:#fff;font-family:system-ui,sans-serif;font-weight:700;
  align-items:center;justify-content:center;padding:17px;border-radius:44px;font-size:17px;
  box-shadow:0 8px 26px rgba(43,39,33,.28)}
 .foot{padding-bottom:96px}
 .dish h3{white-space:normal}
 .dots{display:none}
}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}*{transition:none!important}}
