/* Vesti grafiche ospiti. Valori salvati nel database invariati:
   coastal = Moderna, premium = Elegant, family = Funny, mountain = Montagna
   (mountain richiede la migrazione rilascio/v1.3/01-modello-montagna.sql).
   Usano sempre i colori della struttura: --p (principale), --accent, --canvas. */

/* ───────────── MODERNA (coastal) ─────────────
   Azzurro e giallo vivaci, sempre mescolati ai colori della struttura. */
body[data-template=coastal]{--sky:color-mix(in srgb,var(--p) 28%,#0a8ee8);--sky2:color-mix(in srgb,var(--p) 15%,#3cc8ff);--sun:color-mix(in srgb,var(--accent) 25%,#ffcf2e);--ink:color-mix(in srgb,var(--p) 25%,#0b2540);background-color:color-mix(in srgb,var(--canvas) 55%,#eaf6ff);background-image:radial-gradient(700px 420px at 105% 0%,color-mix(in srgb,var(--sun) 40%,transparent),transparent 65%),radial-gradient(800px 520px at -10% 35%,color-mix(in srgb,var(--sky2) 30%,transparent),transparent 65%);background-attachment:fixed;font-family:ui-sans-serif,system-ui,-apple-system,'Segoe UI',Inter,Roboto,sans-serif}
body[data-template=coastal] .shell{max-width:1180px;background:transparent;box-shadow:none;padding:0 0 10px}
body[data-template=coastal] header{position:sticky;top:0;z-index:15;color:#fff;background:linear-gradient(90deg,color-mix(in srgb,var(--sky) 92%,transparent),color-mix(in srgb,var(--sky2) 88%,transparent));-webkit-backdrop-filter:saturate(160%) blur(14px);backdrop-filter:saturate(160%) blur(14px);margin:0 16px;border-radius:0 0 22px 22px;box-shadow:0 10px 30px color-mix(in srgb,var(--sky) 30%,transparent)}
body[data-template=coastal] header::after{content:"";position:absolute;left:24px;right:24px;bottom:0;height:3px;border-radius:3px;background:linear-gradient(90deg,transparent,var(--sun),transparent)}
body[data-template=coastal] .brand{font-size:20px;letter-spacing:-.6px}
body[data-template=coastal] .hero{position:relative;overflow:hidden;margin:16px;border-radius:32px;min-height:max(var(--hero-height),380px);padding:48px 44px;isolation:isolate;box-shadow:0 30px 60px -25px color-mix(in srgb,var(--sky) 70%,transparent)}
body[data-template=coastal] .hero:not(.has-photo){background:radial-gradient(circle at 82% 26%,#fff6c8 0 40px,var(--sun) 41px 92px,#ffffff3d 93px 128px,transparent 129px),linear-gradient(160deg,var(--sky2),var(--sky) 55%,color-mix(in srgb,var(--sky) 70%,#0a2a6a))}
/* onde chiare in basso e riflesso del sole */
body[data-template=coastal] .hero::before{content:"";position:absolute;z-index:-1;left:-5%;right:-5%;bottom:-40px;height:190px;background:radial-gradient(60% 90px at 30% 100%,#ffffff40,transparent 70%),radial-gradient(55% 80px at 80% 100%,#ffffff33,transparent 70%);animation:rs-drift 14s ease-in-out infinite alternate}
body[data-template=coastal] .hero::after{content:"";position:absolute;z-index:-1;left:0;right:0;bottom:0;height:70px;background:linear-gradient(0deg,#ffffff38,transparent);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 70' preserveAspectRatio='none'%3E%3Cpath d='M0 40 C200 10 400 70 600 40 S1000 10 1200 38 V70 H0Z'/%3E%3C/svg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 70' preserveAspectRatio='none'%3E%3Cpath d='M0 40 C200 10 400 70 600 40 S1000 10 1200 38 V70 H0Z'/%3E%3C/svg%3E") center/100% 100% no-repeat}
body[data-template=coastal] .hero.has-photo::after{background:linear-gradient(0deg,color-mix(in srgb,var(--sky) 60%,transparent),transparent)}
body[data-template=coastal] .hero .in{max-width:720px}
body[data-template=coastal] .kicker{background:var(--sun);border:0;color:var(--ink);padding:8px 14px;letter-spacing:2.5px;box-shadow:0 8px 20px color-mix(in srgb,var(--sun) 45%,transparent)}
body[data-template=coastal] .kicker::before{content:"☀";margin-right:8px;letter-spacing:0}
body[data-template=coastal] .hero h1{font-size:clamp(38px,7vw,76px);font-weight:850;letter-spacing:-2.4px;line-height:.98;margin:22px 0 16px;text-wrap:balance;text-shadow:0 4px 24px #0a3a7a40}
body[data-template=coastal] .hero h1::after{content:"";display:block;width:110px;height:8px;border-radius:8px;margin-top:18px;background:var(--sun)}
body[data-template=coastal] .hero p{font-size:17px;font-weight:500}
body[data-template=coastal] .content{padding:30px 32px 60px}
body[data-template=coastal] .eyebrow{display:flex;align-items:center;gap:10px;color:var(--sky)}
body[data-template=coastal] .eyebrow::before{content:"";width:26px;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--sky),var(--sun))}
body[data-template=coastal] .headline{font-size:clamp(28px,4vw,40px);font-weight:850;letter-spacing:-1.3px;color:var(--ink);margin:10px 0 22px}
body[data-template=coastal] .navigation{position:sticky;top:96px;z-index:10;gap:6px;padding:6px;margin:0 0 22px;background:#ffffffc8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid #ffffffd0;border-radius:100px;box-shadow:0 8px 24px color-mix(in srgb,var(--sky) 18%,transparent);width:max-content;max-width:100%}
body[data-template=coastal] .nav-btn{border:0;background:transparent;color:var(--ink);padding:11px 18px;transition:background .2s,color .2s}
body[data-template=coastal] .nav-btn:hover{background:color-mix(in srgb,var(--sun) 30%,transparent)}
body[data-template=coastal] .nav-btn.active{background:linear-gradient(135deg,var(--sky2),var(--sky));color:#fff;box-shadow:0 6px 16px color-mix(in srgb,var(--sky) 45%,transparent)}
body[data-template=coastal] .notice{position:relative;border:0;border-radius:22px;padding:20px 22px 20px 64px;background:linear-gradient(120deg,color-mix(in srgb,var(--sun) 38%,#fff),#fff 80%);box-shadow:0 10px 30px color-mix(in srgb,var(--sun) 35%,transparent)}
body[data-template=coastal] .notice::before{content:"✦";position:absolute;left:20px;top:18px;width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:var(--sun);color:var(--ink);font-size:15px}
body[data-template=coastal] .features{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
body[data-template=coastal] .feature{--tile:linear-gradient(135deg,var(--sky2),var(--sky));--tile-ink:#fff;position:relative;overflow:hidden;flex-direction:column;align-items:flex-start;gap:26px;padding:22px;min-height:180px;border:1px solid #ffffffd0;background:#fff;border-radius:calc(var(--radius) + 6px);box-shadow:0 14px 34px -12px color-mix(in srgb,var(--sky) 35%,transparent);transition:transform .25s,box-shadow .25s}
body[data-template=coastal] .feature:nth-child(even){--tile:linear-gradient(135deg,#fff1a8,var(--sun));--tile-ink:var(--ink)}
body[data-template=coastal] .feature::after{content:"";position:absolute;right:-50px;bottom:-60px;width:150px;height:150px;border-radius:50%;background:color-mix(in srgb,var(--sky2) 12%,transparent)}
body[data-template=coastal] .feature:nth-child(even)::after{background:color-mix(in srgb,var(--sun) 22%,transparent)}
body[data-template=coastal] .feature:hover{transform:translateY(-4px);box-shadow:0 24px 40px -14px color-mix(in srgb,var(--sky) 50%,transparent)}
body[data-template=coastal] .feature .symbol{width:56px;height:56px;border-radius:18px;font-size:27px;color:var(--tile-ink);background:var(--tile);box-shadow:0 10px 20px color-mix(in srgb,var(--sky) 25%,transparent)}
body[data-template=coastal] .feature strong{font-size:19px;letter-spacing:-.4px;color:var(--ink)}
body[data-template=coastal] .feature small{font-size:12px;margin-top:3px}
body[data-template=coastal] .feature .arrow{position:absolute;z-index:1;right:18px;top:20px;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--sky2) 14%,#fff);color:var(--sky);transition:transform .25s,background .25s}
body[data-template=coastal] .feature:hover .arrow{transform:rotate(-45deg);background:var(--sun);color:var(--ink)}
body[data-template=coastal] .section-head{margin:6px 0 18px;gap:14px}
body[data-template=coastal] .section-icon{width:52px;height:52px;border-radius:16px;font-size:26px;color:var(--ink);background:linear-gradient(135deg,#fff1a8,var(--sun))}
body[data-template=coastal] .section-head h2{font-size:clamp(26px,4vw,36px);font-weight:850;letter-spacing:-1px;color:var(--ink)}
body[data-template=coastal] .entries{gap:16px}
body[data-template=coastal] .entry{position:relative;overflow:hidden;border:1px solid #ffffffd0;background:#fff;border-radius:calc(var(--radius) + 4px);padding:26px 22px 22px;box-shadow:0 14px 34px -16px color-mix(in srgb,var(--sky) 35%,transparent)}
body[data-template=coastal] .entry::before{content:"";position:absolute;left:0;top:0;right:0;height:6px;background:linear-gradient(90deg,var(--sky),var(--sky2) 60%,var(--sun))}
body[data-template=coastal] .entry .eyecap{display:inline-block;background:color-mix(in srgb,var(--sun) 35%,#fff);color:var(--ink);padding:5px 10px;border-radius:100px;font-size:11px;letter-spacing:.4px;text-transform:uppercase}
body[data-template=coastal] .entry h3{font-size:20px;letter-spacing:-.5px;color:var(--ink)}
body[data-template=coastal] .entry .meta{color:var(--sky);font-weight:600}
body[data-template=coastal] .entry .desc{color:#4f6378;font-size:14px}
body[data-template=coastal] .week-tabs .nav-btn{background:#fff;border:1px solid color-mix(in srgb,var(--sky2) 25%,#fff)}
body[data-template=coastal] .week-tabs .nav-btn.active{background:linear-gradient(135deg,var(--sky2),var(--sky));color:#fff}
body[data-template=coastal] .week-scroll{border-radius:22px;background:#fff;box-shadow:0 14px 34px -16px color-mix(in srgb,var(--sky) 35%,transparent)}
body[data-template=coastal] .guest-week th{background:linear-gradient(90deg,var(--sky),var(--sky2));color:#fff;font-size:12px;letter-spacing:1px;text-transform:uppercase}
body[data-template=coastal] .guest-week th:first-child{border-radius:22px 0 0 0}body[data-template=coastal] .guest-week th:last-child{border-radius:0 22px 0 0}
body[data-template=coastal] .guest-week td{background:transparent;padding:15px 12px}
body[data-template=coastal] .guest-week tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--sky2) 6%,#fff)}
body[data-template=coastal] .guest-week tr:hover td{background:color-mix(in srgb,var(--sun) 18%,#fff)}
body[data-template=coastal] .guest-week td:nth-child(2) {font-weight:800;color:var(--sky)}
body[data-template=coastal] footer{border:0;margin:0 16px;border-radius:22px;background:linear-gradient(90deg,var(--sky),var(--sky2));color:#fff}
body[data-template=coastal] .quick-btn{border-radius:18px;background:var(--sun);color:var(--ink);box-shadow:0 14px 30px -8px color-mix(in srgb,var(--sun) 80%,#000)}
body[data-template=coastal] .quick-btn.ai{background:#fff;color:var(--ink)}

/* ───────────── ELEGANT (premium) ───────────── */
body[data-template=premium]{--serif:'Iowan Old Style','Palatino Linotype',Palatino,'Book Antiqua',Georgia,'Times New Roman',serif;--text:#2a2724;--line:color-mix(in srgb,var(--accent) 55%,transparent);font-family:var(--serif);background:color-mix(in srgb,var(--canvas) 70%,#efe9df)}
body[data-template=premium] .shell{max-width:1120px;background:#fffdf9;box-shadow:0 0 0 1px #00000008,0 30px 80px #2a1f1214}
body[data-template=premium] header{flex-direction:column;justify-content:center;text-align:center;gap:10px;min-height:120px;padding:26px 25px 22px;background:color-mix(in srgb,var(--p) 88%,#000);border-bottom:1px solid var(--accent);box-shadow:inset 0 -5px 0 color-mix(in srgb,var(--p) 88%,#000),inset 0 -6px 0 var(--line)}
body[data-template=premium] .brand{font-family:var(--serif);font-weight:400;font-size:26px;letter-spacing:5px;text-transform:uppercase}
body[data-template=premium] .brand-sub{font-style:italic;letter-spacing:1.5px;font-size:13px;color:var(--accent);opacity:1;margin-top:8px}
body[data-template=premium] .hero{position:relative;justify-content:center;align-items:center;text-align:center;min-height:max(var(--hero-height),400px);padding:70px 40px}
body[data-template=premium] .hero:not(.has-photo){background:radial-gradient(ellipse at 50% 120%,color-mix(in srgb,var(--accent) 45%,transparent),transparent 60%),linear-gradient(180deg,color-mix(in srgb,var(--p) 70%,#000),color-mix(in srgb,var(--p) 92%,#000))}
body[data-template=premium] .hero::after{content:"";position:absolute;inset:18px;border:1px solid var(--line);pointer-events:none;box-shadow:inset 0 0 0 5px transparent,inset 0 0 0 6px color-mix(in srgb,var(--accent) 22%,transparent)}
body[data-template=premium] .hero .in{max-width:760px;margin:0 auto;position:relative;z-index:1}
body[data-template=premium] .kicker{background:none;border:0;border-radius:0;padding:0;color:var(--accent);letter-spacing:6px;font-weight:400;font-size:11px}
body[data-template=premium] .kicker::before,body[data-template=premium] .kicker::after{content:"";display:inline-block;width:46px;height:1px;background:var(--accent);vertical-align:middle;margin:0 16px}
body[data-template=premium] .hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(38px,6.4vw,70px);letter-spacing:.5px;line-height:1.08;margin:26px 0 22px;text-wrap:balance}
body[data-template=premium] .hero p{font-style:italic;font-size:18px;max-width:560px;margin:0 auto;opacity:.9}
body[data-template=premium] .hero p::after{content:"✦";display:block;color:var(--accent);font-style:normal;font-size:14px;margin-top:26px;letter-spacing:0}
body[data-template=premium] .content{padding:58px 48px 70px}
body[data-template=premium] .eyebrow{text-align:center;color:color-mix(in srgb,var(--accent) 70%,#000);letter-spacing:6px;font-weight:400}
body[data-template=premium] .headline{font-family:var(--serif);text-align:center;font-weight:400;font-size:clamp(28px,4vw,40px);letter-spacing:.3px;margin:12px 0 8px}
body[data-template=premium] .headline::after{content:"";display:block;width:70px;height:1px;margin:22px auto 30px;background:var(--accent);box-shadow:0 4px 0 -0px #fffdf9,0 4px 0 0 var(--line)}
body[data-template=premium] .navigation{justify-content:center;gap:4px;border-top:1px solid #e9e1d4;border-bottom:1px solid #e9e1d4;padding:0;margin-bottom:38px}
body[data-template=premium] .nav-btn{border:0;border-radius:0;background:none;color:#6c6255;font-weight:400;letter-spacing:2.5px;text-transform:uppercase;font-size:12px;padding:17px 18px;position:relative}
body[data-template=premium] .nav-btn::after{content:"";position:absolute;left:50%;right:50%;bottom:-1px;height:2px;background:var(--accent);transition:left .3s,right .3s}
body[data-template=premium] .nav-btn:hover::after,body[data-template=premium] .nav-btn.active::after{left:18px;right:18px}
body[data-template=premium] .nav-btn.active{background:none;color:var(--p)}
body[data-template=premium] .notice{background:none;border:1px solid var(--line);border-left:1px solid var(--line);border-radius:0;text-align:center;padding:24px 28px;margin:0 auto 36px;max-width:720px}
body[data-template=premium] .notice small{letter-spacing:5px;color:color-mix(in srgb,var(--accent) 70%,#000);opacity:1}
body[data-template=premium] .notice strong{font-weight:400;font-size:21px}
body[data-template=premium] .notice p{font-style:italic;color:#6c6255}
body[data-template=premium] .features{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:22px}
body[data-template=premium] .feature{flex-direction:column;text-align:center;gap:18px;padding:36px 20px 30px;border:1px solid #e6ddcd;border-radius:calc(var(--radius) * .2);background:#fffdf9;box-shadow:none;outline:1px solid transparent;outline-offset:-8px;transition:outline-color .3s,transform .3s}
body[data-template=premium] .feature:hover{outline-color:var(--line);transform:translateY(-2px)}
body[data-template=premium] .feature .symbol{width:66px;height:66px;border-radius:50%;background:none;border:1px solid var(--accent);color:color-mix(in srgb,var(--accent) 70%,#000);font-size:26px;box-shadow:0 0 0 5px #fffdf9,0 0 0 6px var(--line)}
body[data-template=premium] .feature strong{font-family:var(--serif);font-weight:400;font-size:20px;letter-spacing:1px}
body[data-template=premium] .feature small{font-style:italic;font-size:13px;color:#8a7f70;margin-top:6px}
body[data-template=premium] .feature .arrow{margin:0;color:var(--accent);font-size:13px;letter-spacing:3px}
body[data-template=premium] .section-head{flex-direction:column;text-align:center;gap:14px;margin:6px 0 30px}
body[data-template=premium] .section-icon{width:60px;height:60px;border-radius:50%;background:none;border:1px solid var(--accent);color:color-mix(in srgb,var(--accent) 70%,#000)}
body[data-template=premium] .section-head h2{font-family:var(--serif);font-weight:400;font-size:clamp(28px,4vw,38px);letter-spacing:1px}
body[data-template=premium] .section-head h2::after{content:"";display:block;width:50px;height:1px;background:var(--accent);margin:16px auto 0}
body[data-template=premium] #contents>.meta{text-align:center;font-style:italic;color:#8a7f70}
body[data-template=premium] .entries{gap:22px}
body[data-template=premium] .entry{text-align:center;border:1px solid #e6ddcd;border-radius:calc(var(--radius) * .2);background:#fffdf9;padding:34px 28px;outline:1px solid var(--line);outline-offset:-9px}
body[data-template=premium] .entry .eyecap{font-weight:400;letter-spacing:4px;text-transform:uppercase;font-size:11px;color:color-mix(in srgb,var(--accent) 70%,#000)}
body[data-template=premium] .entry h3{font-family:var(--serif);font-weight:400;font-size:24px;letter-spacing:.5px;margin:6px 0 12px}
body[data-template=premium] .entry .meta{font-style:italic;color:#7f7465;font-size:13px}
body[data-template=premium] .entry .desc{color:#4a443d;font-size:15px;line-height:1.85;margin-top:14px;padding-top:14px;border-top:1px solid #eee5d7}
body[data-template=premium] .week-tabs{justify-content:center}
body[data-template=premium] .week-tabs .nav-btn{padding:12px 14px;font-size:11px}
body[data-template=premium] .guest-week{font-size:15px}
body[data-template=premium] .guest-week th{background:none;color:color-mix(in srgb,var(--accent) 70%,#000);font-weight:400;letter-spacing:3px;text-transform:uppercase;font-size:11px;border-bottom:1px solid var(--accent)}
body[data-template=premium] .guest-week td{background:none;border-bottom:1px solid #eee5d7;padding:16px 12px}
body[data-template=premium] .guest-week td:nth-child(2){font-style:italic;color:color-mix(in srgb,var(--accent) 70%,#000)}
body[data-template=premium] .guest-week strong{font-weight:400;font-size:17px}
body[data-template=premium] footer{background:color-mix(in srgb,var(--p) 88%,#000);color:color-mix(in srgb,var(--accent) 80%,#fff);border-top:1px solid var(--accent);font-style:italic;letter-spacing:.5px}
body[data-template=premium] .quick-btn{border-radius:2px;letter-spacing:2px;text-transform:uppercase;font-weight:400;font-size:12px;font-family:var(--serif);border:1px solid var(--accent)}
body[data-template=premium] .sheet{border-radius:4px;font-family:var(--serif)}

/* ───────────── FUNNY (family) ───────────── */
body[data-template=family]{--fun-font:ui-rounded,'SF Pro Rounded','Nunito','Varela Round','Arial Rounded MT Bold','Trebuchet MS',system-ui,sans-serif;--ink:color-mix(in srgb,var(--p) 40%,#1d1530);--c1:#ff6b6b;--c2:#ffb627;--c3:#3ec1d3;--c4:#7bd389;--c5:#a78bfa;font-family:var(--fun-font);background-color:var(--canvas);background-image:radial-gradient(color-mix(in srgb,var(--accent) 45%,transparent) 2.5px,transparent 3px),radial-gradient(color-mix(in srgb,var(--p) 25%,transparent) 2px,transparent 2.5px);background-size:34px 34px,34px 34px;background-position:0 0,17px 17px}
body[data-template=family] .shell{background:#fffdf8;box-shadow:0 0 0 4px #fff,0 20px 60px color-mix(in srgb,var(--p) 18%,transparent);border-radius:0 0 34px 34px;overflow:hidden}
body[data-template=family] header{position:relative;z-index:2;border-radius:0;min-height:82px}
body[data-template=family] header::after{content:"";position:absolute;left:0;right:0;bottom:-13px;height:14px;background:radial-gradient(circle at 12px 0,var(--p) 11px,transparent 12px) repeat-x;background-size:24px 14px}
body[data-template=family] .brand{font-weight:900;font-size:22px;letter-spacing:-.3px}
body[data-template=family] #logo{transform:rotate(-4deg)}
body[data-template=family] .hero{position:relative;overflow:hidden;min-height:max(var(--hero-height),380px);padding:60px 34px 90px;isolation:isolate}
body[data-template=family] .hero:not(.has-photo){background:linear-gradient(160deg,color-mix(in srgb,var(--p) 70%,#fff),var(--p) 60%,color-mix(in srgb,var(--p) 75%,var(--c1)))}
/* coriandoli e sole */
body[data-template=family] .hero::before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at var(--sun-x,82%) var(--sun-y,30%),var(--accent) 0 var(--sun,60px),transparent calc(var(--sun,60px) + 1px)),radial-gradient(circle at var(--sun-x,82%) var(--sun-y,30%),color-mix(in srgb,var(--accent) 35%,transparent) 0 calc(var(--sun,60px) * 1.55),transparent calc(var(--sun,60px) * 1.55 + 1px)),radial-gradient(circle at 4% 12%,var(--c1) 0 7px,transparent 8px),radial-gradient(circle at 20% 7%,var(--c2) 0 6px,transparent 7px),radial-gradient(circle at 50% 6%,var(--c3) 0 8px,transparent 9px),radial-gradient(circle at 64% 80%,var(--c4) 0 6px,transparent 7px),radial-gradient(circle at 94% 70%,var(--c5) 0 9px,transparent 10px),radial-gradient(circle at 70% 9%,#fff 0 5px,transparent 6px),radial-gradient(circle at 96% 8%,var(--c4) 0 5px,transparent 6px),radial-gradient(circle at 82% 86%,#fff 0 4px,transparent 5px);animation:rs-bob 6s ease-in-out infinite}
body[data-template=family] .hero.has-photo::before{opacity:.75}
/* onda in fondo */
body[data-template=family] .hero::after{content:"";position:absolute;left:-2px;right:-2px;bottom:-2px;height:64px;background:#fffdf8;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 64' preserveAspectRatio='none'%3E%3Cpath d='M0 34 C150 0 300 64 450 34 S750 0 900 30 S1100 60 1200 26 V64 H0Z'/%3E%3C/svg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 64' preserveAspectRatio='none'%3E%3Cpath d='M0 34 C150 0 300 64 450 34 S750 0 900 30 S1100 60 1200 26 V64 H0Z'/%3E%3C/svg%3E") center/100% 100% no-repeat}
body[data-template=family] .kicker{border:0;background:var(--accent);color:var(--ink);transform:rotate(-3deg);border-radius:12px;padding:9px 15px;font-weight:900;box-shadow:4px 4px 0 color-mix(in srgb,var(--p) 55%,#000)}
body[data-template=family] .hero h1{font-weight:900;font-size:clamp(38px,7vw,70px);letter-spacing:-1px;line-height:1.02;text-shadow:4px 4px 0 color-mix(in srgb,var(--p) 55%,#000);text-wrap:balance}
body[data-template=family] .hero p{font-size:17px;font-weight:700}
body[data-template=family] .content{padding:20px 30px 60px}
body[data-template=family] .eyebrow{display:inline-block;background:color-mix(in srgb,var(--accent) 35%,#fff);color:var(--ink);padding:6px 12px;border-radius:100px;font-weight:900;letter-spacing:1.5px}
body[data-template=family] .headline{font-weight:900;font-size:clamp(28px,4.4vw,40px);color:var(--ink);letter-spacing:-.6px}
body[data-template=family] .navigation{gap:10px;padding:4px 2px 22px}
body[data-template=family] .nav-btn{border:3px solid var(--ink);background:#fff;color:var(--ink);border-radius:18px;padding:10px 18px;font-weight:900;box-shadow:0 4px 0 var(--ink);transition:transform .12s,box-shadow .12s}
body[data-template=family] .nav-btn:hover{transform:translateY(-2px);box-shadow:0 6px 0 var(--ink)}
body[data-template=family] .nav-btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--ink)}
body[data-template=family] .nav-btn.active{background:var(--accent);color:var(--ink);border-color:var(--ink)}
body[data-template=family] .notice{position:relative;border:3px dashed var(--c1);background:color-mix(in srgb,var(--c1) 10%,#fff);border-radius:24px;padding:20px 22px 20px 70px;transform:rotate(-.6deg)}
body[data-template=family] .notice::before{content:"📣";position:absolute;left:18px;top:16px;font-size:32px;animation:rs-wiggle 2.4s ease-in-out infinite}
body[data-template=family] .notice small{color:var(--c1);font-weight:900;opacity:1}
body[data-template=family] .features{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}
body[data-template=family] .feature{--c:var(--c1);flex-direction:column;align-items:flex-start;gap:16px;min-height:170px;padding:22px 20px;border:3px solid var(--ink);border-radius:calc(var(--radius) + 10px);background:color-mix(in srgb,var(--c) 14%,#fff);box-shadow:6px 6px 0 var(--c);transition:transform .2s}
body[data-template=family] .feature:nth-child(5n+2){--c:var(--c2)}body[data-template=family] .feature:nth-child(5n+3){--c:var(--c3)}body[data-template=family] .feature:nth-child(5n+4){--c:var(--c4)}body[data-template=family] .feature:nth-child(5n+5){--c:var(--c5)}
body[data-template=family] .feature:nth-child(odd):hover{transform:rotate(-1.5deg) scale(1.02)}body[data-template=family] .feature:nth-child(even):hover{transform:rotate(1.5deg) scale(1.02)}
body[data-template=family] .feature .symbol{width:64px;height:64px;font-size:32px;color:var(--ink);background:var(--c);border-radius:42% 58% 55% 45% / 50% 40% 60% 50%;border:3px solid var(--ink)}
body[data-template=family] .feature strong{font-weight:900;font-size:21px;color:var(--ink)}
body[data-template=family] .feature small{color:var(--ink);opacity:.7;font-weight:700;font-size:12px}
body[data-template=family] .feature .arrow{position:absolute;right:16px;bottom:16px;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--ink);color:#fff;font-weight:900}
body[data-template=family] .feature{position:relative}
body[data-template=family] .section-head{gap:14px}
body[data-template=family] .section-icon{width:58px;height:58px;font-size:30px;background:var(--accent);color:var(--ink);border:3px solid var(--ink);border-radius:42% 58% 55% 45% / 50% 40% 60% 50%;box-shadow:4px 4px 0 var(--ink)}
body[data-template=family] .section-head h2{font-weight:900;font-size:clamp(28px,4.4vw,38px);color:var(--ink)}
body[data-template=family] .entries{gap:18px}
body[data-template=family] .entry{--c:var(--c3);border:3px solid var(--ink);border-radius:calc(var(--radius) + 8px);background:#fff;box-shadow:6px 6px 0 var(--c)}
body[data-template=family] .entry:nth-child(3n+2){--c:var(--c2)}body[data-template=family] .entry:nth-child(3n+3){--c:var(--c1)}
body[data-template=family] .entry .eyecap{display:inline-block;background:var(--c);color:var(--ink);padding:5px 11px;border-radius:10px;font-weight:900;transform:rotate(-2deg)}
body[data-template=family] .entry h3{font-weight:900;font-size:21px;color:var(--ink)}
body[data-template=family] .entry .desc{color:#4d4560;font-size:14px;font-weight:600}
body[data-template=family] .week-tabs .nav-btn{padding:8px 13px;font-size:13px;border-width:2px;box-shadow:0 3px 0 var(--ink)}
body[data-template=family] .week-scroll{border:3px solid var(--ink);border-radius:24px;box-shadow:6px 6px 0 var(--accent);background:#fff}
body[data-template=family] .guest-week th{background:var(--p);color:var(--on);font-weight:900;border-radius:0!important}
body[data-template=family] .guest-week td{background:#fff;font-weight:600}
body[data-template=family] .guest-week tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--accent) 14%,#fff)}
body[data-template=family] .guest-week td:nth-child(2){font-weight:900;color:var(--p)}
body[data-template=family] .guest-week strong{font-weight:900}
body[data-template=family] footer{border:0;background:var(--p);color:var(--on);font-weight:700;position:relative;margin-top:20px}
body[data-template=family] footer::before{content:"";position:absolute;left:0;right:0;top:-13px;height:14px;background:radial-gradient(circle at 12px 14px,var(--p) 11px,transparent 12px) repeat-x;background-size:24px 14px}
body[data-template=family] .quick-btn{border:3px solid var(--ink);border-radius:18px;box-shadow:0 5px 0 var(--ink);font-weight:900}
body[data-template=family] .quick-btn.ai{border-color:var(--ink)}
body[data-template=family] .sheet{border:3px solid var(--ink);border-radius:26px;box-shadow:8px 8px 0 var(--accent)}

/* ───────────── MONTAGNA (mountain) ───────────── */
body[data-template=mountain]{--pine:color-mix(in srgb,var(--p) 30%,#2d5a3d);--moss:color-mix(in srgb,var(--accent) 25%,#7a9a4a);--wood:color-mix(in srgb,var(--accent) 30%,#8a5a36);--ink:color-mix(in srgb,var(--p) 15%,#1f2a20);--paper:#fbf8f1;--slab:Rockwell,'Roboto Slab','Zilla Slab','Iowan Old Style','Palatino Linotype',Georgia,serif;font-family:ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--ink);background-color:color-mix(in srgb,var(--canvas) 40%,#ece6d8);background-image:radial-gradient(color-mix(in srgb,var(--pine) 10%,transparent) 1px,transparent 1.5px);background-size:22px 22px}
body[data-template=mountain] .shell{background:var(--paper);box-shadow:0 20px 60px #2a2a1a24}
body[data-template=mountain] header{background:var(--pine);color:#fff;min-height:84px;border-bottom:4px solid var(--wood)}
body[data-template=mountain] .brand{font-family:var(--slab);font-weight:700;font-size:22px;letter-spacing:.2px}
body[data-template=mountain] .brand::before{content:"▲ ";color:var(--moss);font-size:.8em}
body[data-template=mountain] .brand-sub{letter-spacing:1px;text-transform:uppercase;font-size:10.5px}
body[data-template=mountain] .hero{position:relative;overflow:hidden;isolation:isolate;min-height:max(var(--hero-height),420px);padding:50px 40px 150px;align-items:flex-start}
body[data-template=mountain] .hero:not(.has-photo){background:radial-gradient(circle at 78% 26%,#fff6d6 0 46px,#ffe7a866 47px 90px,transparent 91px),linear-gradient(180deg,color-mix(in srgb,var(--pine) 18%,#6fb9e3),color-mix(in srgb,var(--pine) 25%,#bfe0e8) 55%,color-mix(in srgb,var(--moss) 60%,#e8efd0))}
body[data-template=mountain] .hero::after{content:"";position:absolute;z-index:-1;left:0;right:0;bottom:-1px;height:62%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 300' preserveAspectRatio='xMidYMax slice'%3E%3Cpath fill='%23fff' fill-opacity='.16' d='M0 220L120 150L210 190L330 85L430 170L520 120L640 200L760 70L880 170L990 110L1100 180L1200 130V300H0Z'/%3E%3Cpath fill='%23fff' fill-opacity='.8' d='M302 109L330 85L360 112L346 106L331 117L317 104Z M733 94L760 70L790 98L775 92L761 104L746 90Z'/%3E%3Cpath fill='%23000' fill-opacity='.2' d='M0 250L150 180L260 228L400 150L520 228L650 172L800 238L950 160L1080 228L1200 188V300H0Z'/%3E%3Cpath fill='%230b2014' fill-opacity='.62' d='M-10 300L2 242L14 300ZM8 300L21 237L34 300ZM23 300L32 258L41 300ZM40 300L53 239L66 300ZM55 300L70 230L84 300ZM75 300L83 260L92 300ZM91 300L105 235L118 300ZM118 300L127 258L136 300ZM139 300L148 257L157 300ZM166 300L175 259L183 300ZM183 300L194 248L205 300ZM198 300L214 226L229 300ZM224 300L233 259L241 300ZM245 300L253 260L262 300ZM263 300L275 244L287 300ZM290 300L300 253L310 300ZM307 300L323 226L338 300ZM330 300L345 227L361 300ZM349 300L358 256L367 300ZM369 300L382 239L395 300ZM386 300L401 227L417 300ZM402 300L418 226L433 300ZM417 300L433 223L449 300ZM437 300L451 231L466 300ZM464 300L476 242L488 300ZM492 300L508 225L524 300ZM520 300L533 239L546 300ZM543 300L554 247L565 300ZM562 300L573 247L584 300ZM578 300L594 226L609 300ZM601 300L616 229L631 300ZM630 300L642 241L655 300ZM658 300L670 244L682 300ZM674 300L683 255L693 300ZM704 300L717 236L731 300ZM723 300L735 241L748 300ZM741 300L755 231L770 300ZM768 300L776 260L785 300ZM784 300L799 227L815 300ZM808 300L820 241L833 300ZM833 300L849 224L865 300ZM862 300L878 225L894 300ZM890 300L899 258L908 300ZM906 300L918 245L929 300ZM935 300L944 258L953 300ZM950 300L962 243L974 300ZM978 300L990 244L1002 300ZM1004 300L1017 240L1029 300ZM1018 300L1032 233L1046 300ZM1043 300L1053 252L1063 300ZM1060 300L1074 231L1089 300ZM1075 300L1086 249L1096 300ZM1098 300L1108 254L1117 300ZM1119 300L1132 237L1145 300ZM1145 300L1159 231L1174 300ZM1161 300L1171 252L1181 300ZM1189 300L1202 237L1215 300ZM1211 300L1221 254L1230 300Z M0 288Q600 268 1200 290V300H0Z'/%3E%3C/svg%3E") center bottom/cover no-repeat}
body[data-template=mountain] .hero::before{content:"";position:absolute;z-index:-1;left:0;right:0;bottom:-1px;height:22px;background:var(--paper);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 22' preserveAspectRatio='none'%3E%3Cpath d='M0 12Q300 0 600 10T1200 8V22H0Z'/%3E%3C/svg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 22' preserveAspectRatio='none'%3E%3Cpath d='M0 12Q300 0 600 10T1200 8V22H0Z'/%3E%3C/svg%3E") center/100% 100% no-repeat}
body[data-template=mountain] .hero .in{max-width:640px}
body[data-template=mountain] .kicker{background:var(--paper);color:var(--pine);border:0;border-radius:6px;padding:8px 13px;letter-spacing:2px;box-shadow:0 3px 0 var(--wood)}
body[data-template=mountain] .kicker::before{content:"❧ ";color:var(--moss);letter-spacing:0}
body[data-template=mountain] .hero h1{font-family:var(--slab);font-weight:700;font-size:clamp(36px,6.4vw,66px);letter-spacing:-.5px;line-height:1.05;text-shadow:0 3px 18px #0b201466;text-wrap:balance}
body[data-template=mountain] .hero p{font-size:16px;font-weight:500;text-shadow:0 1px 10px #0b201480}
body[data-template=mountain] .content{padding:26px 32px 64px}
body[data-template=mountain] .eyebrow{color:var(--wood);letter-spacing:3px}
body[data-template=mountain] .eyebrow::before{content:"✿ ";color:var(--moss)}
body[data-template=mountain] .headline{font-family:var(--slab);font-weight:700;font-size:clamp(27px,4vw,38px);color:var(--pine)}
body[data-template=mountain] .navigation{gap:8px}
body[data-template=mountain] .nav-btn{border:1.5px solid color-mix(in srgb,var(--pine) 30%,#fff);background:#fff;color:var(--pine);border-radius:10px;font-weight:700}
body[data-template=mountain] .nav-btn:hover{background:color-mix(in srgb,var(--moss) 15%,#fff)}
body[data-template=mountain] .nav-btn.active{background:var(--pine);border-color:var(--pine);color:#fff;box-shadow:0 3px 0 var(--wood)}
/* avviso come cartello di legno */
body[data-template=mountain] .notice{position:relative;border:0;border-radius:10px;color:#fff8ea;padding:20px 22px 20px 62px;background:repeating-linear-gradient(0deg,#ffffff0d 0 2px,transparent 2px 9px),linear-gradient(180deg,color-mix(in srgb,var(--wood) 90%,#fff),var(--wood));box-shadow:0 6px 0 color-mix(in srgb,var(--wood) 70%,#000),0 14px 24px #3a24142e}
body[data-template=mountain] .notice::before{content:"⛰";position:absolute;left:18px;top:16px;font-size:28px}
body[data-template=mountain] .notice small{color:#ffe7b5;opacity:1;font-weight:800}
body[data-template=mountain] .notice strong{font-family:var(--slab);font-size:18px}
body[data-template=mountain] .features{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
body[data-template=mountain] .feature{position:relative;overflow:hidden;flex-direction:column;align-items:flex-start;gap:20px;min-height:170px;padding:22px 20px;border:1px solid #e3dccb;border-radius:calc(var(--radius) * .7);background:#fff;box-shadow:0 10px 24px -14px #2d3a2066;transition:transform .25s,border-color .25s}
body[data-template=mountain] .feature::after{content:"";position:absolute;left:0;right:0;bottom:0;height:24px;background:color-mix(in srgb,var(--pine) 14%,transparent);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 40' preserveAspectRatio='xMidYMax slice'%3E%3Cpath d='M-6 40L-1 19L3 40ZM12 40L16 22L20 40ZM26 40L33 11L39 40ZM44 40L48 24L51 40ZM62 40L65 26L68 40ZM78 40L83 18L88 40ZM95 40L100 19L104 40ZM107 40L114 11L120 40ZM124 40L131 11L137 40ZM139 40L143 22L147 40ZM151 40L155 22L159 40ZM168 40L174 14L180 40ZM177 40L181 24L184 40ZM188 40L191 25L195 40ZM201 40L204 26L207 40ZM214 40L221 11L227 40ZM232 40L238 14L244 40ZM247 40L253 14L259 40ZM265 40L271 12L278 40ZM276 40L282 15L287 40ZM286 40L289 25L293 40ZM297 40L304 11L310 40ZM309 40L314 18L319 40ZM324 40L329 17L334 40ZM339 40L346 10L352 40ZM354 40L360 15L365 40ZM371 40L377 13L383 40ZM389 40L394 19L398 40ZM403 40L406 26L409 40ZM416 40L420 21L425 40ZM430 40L434 23L438 40ZM442 40L447 18L452 40ZM455 40L459 23L463 40ZM465 40L472 11L478 40ZM481 40L485 24L488 40ZM495 40L499 24L502 40ZM510 40L514 22L518 40ZM519 40L524 17L529 40ZM534 40L540 13L546 40ZM544 40L547 25L551 40ZM562 40L565 25L569 40ZM577 40L582 16L588 40ZM594 40L599 18L604 40ZM611 40L616 19L620 40ZM620 40L625 17L630 40ZM629 40L633 24L636 40ZM639 40L642 25L646 40ZM651 40L657 13L663 40ZM664 40L669 18L674 40ZM675 40L678 25L682 40ZM689 40L694 16L700 40ZM703 40L707 22L711 40ZM718 40L724 14L730 40ZM734 40L741 10L748 40ZM749 40L753 23L757 40ZM767 40L774 10L780 40ZM780 40L786 13L792 40ZM792 40L797 17L802 40ZM807 40L812 18L817 40ZM824 40L829 17L834 40ZM841 40L846 16L852 40ZM850 40L856 13L862 40ZM868 40L873 16L879 40ZM877 40L883 14L889 40ZM895 40L899 22L903 40ZM904 40L909 16L915 40ZM920 40L926 15L931 40ZM934 40L939 18L944 40ZM950 40L953 26L956 40ZM968 40L971 25L975 40ZM977 40L983 15L988 40ZM990 40L996 12L1003 40ZM1003 40L1008 16L1014 40ZM1014 40L1020 15L1025 40ZM1025 40L1030 16L1036 40ZM1039 40L1044 18L1049 40ZM1052 40L1058 14L1064 40ZM1062 40L1065 26L1068 40ZM1080 40L1084 22L1088 40ZM1093 40L1100 10L1106 40ZM1105 40L1110 18L1115 40ZM1117 40L1122 16L1128 40ZM1128 40L1134 13L1140 40ZM1138 40L1142 23L1146 40ZM1156 40L1161 16L1167 40ZM1170 40L1175 19L1179 40ZM1186 40L1190 21L1195 40ZM1196 40L1201 16L1207 40ZM1208 40L1214 12L1221 40Z'/%3E%3C/svg%3E") center bottom/auto 100% repeat-x;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 40' preserveAspectRatio='xMidYMax slice'%3E%3Cpath d='M-6 40L-1 19L3 40ZM12 40L16 22L20 40ZM26 40L33 11L39 40ZM44 40L48 24L51 40ZM62 40L65 26L68 40ZM78 40L83 18L88 40ZM95 40L100 19L104 40ZM107 40L114 11L120 40ZM124 40L131 11L137 40ZM139 40L143 22L147 40ZM151 40L155 22L159 40ZM168 40L174 14L180 40ZM177 40L181 24L184 40ZM188 40L191 25L195 40ZM201 40L204 26L207 40ZM214 40L221 11L227 40ZM232 40L238 14L244 40ZM247 40L253 14L259 40ZM265 40L271 12L278 40ZM276 40L282 15L287 40ZM286 40L289 25L293 40ZM297 40L304 11L310 40ZM309 40L314 18L319 40ZM324 40L329 17L334 40ZM339 40L346 10L352 40ZM354 40L360 15L365 40ZM371 40L377 13L383 40ZM389 40L394 19L398 40ZM403 40L406 26L409 40ZM416 40L420 21L425 40ZM430 40L434 23L438 40ZM442 40L447 18L452 40ZM455 40L459 23L463 40ZM465 40L472 11L478 40ZM481 40L485 24L488 40ZM495 40L499 24L502 40ZM510 40L514 22L518 40ZM519 40L524 17L529 40ZM534 40L540 13L546 40ZM544 40L547 25L551 40ZM562 40L565 25L569 40ZM577 40L582 16L588 40ZM594 40L599 18L604 40ZM611 40L616 19L620 40ZM620 40L625 17L630 40ZM629 40L633 24L636 40ZM639 40L642 25L646 40ZM651 40L657 13L663 40ZM664 40L669 18L674 40ZM675 40L678 25L682 40ZM689 40L694 16L700 40ZM703 40L707 22L711 40ZM718 40L724 14L730 40ZM734 40L741 10L748 40ZM749 40L753 23L757 40ZM767 40L774 10L780 40ZM780 40L786 13L792 40ZM792 40L797 17L802 40ZM807 40L812 18L817 40ZM824 40L829 17L834 40ZM841 40L846 16L852 40ZM850 40L856 13L862 40ZM868 40L873 16L879 40ZM877 40L883 14L889 40ZM895 40L899 22L903 40ZM904 40L909 16L915 40ZM920 40L926 15L931 40ZM934 40L939 18L944 40ZM950 40L953 26L956 40ZM968 40L971 25L975 40ZM977 40L983 15L988 40ZM990 40L996 12L1003 40ZM1003 40L1008 16L1014 40ZM1014 40L1020 15L1025 40ZM1025 40L1030 16L1036 40ZM1039 40L1044 18L1049 40ZM1052 40L1058 14L1064 40ZM1062 40L1065 26L1068 40ZM1080 40L1084 22L1088 40ZM1093 40L1100 10L1106 40ZM1105 40L1110 18L1115 40ZM1117 40L1122 16L1128 40ZM1128 40L1134 13L1140 40ZM1138 40L1142 23L1146 40ZM1156 40L1161 16L1167 40ZM1170 40L1175 19L1179 40ZM1186 40L1190 21L1195 40ZM1196 40L1201 16L1207 40ZM1208 40L1214 12L1221 40Z'/%3E%3C/svg%3E") center bottom/auto 100% repeat-x}
body[data-template=mountain] .feature:hover{transform:translateY(-3px);border-color:var(--moss)}
body[data-template=mountain] .feature .symbol{width:56px;height:56px;font-size:26px;color:#fff;background:linear-gradient(135deg,var(--moss),var(--pine));border-radius:60% 6px 60% 6px}
body[data-template=mountain] .feature:nth-child(even) .symbol{background:linear-gradient(135deg,color-mix(in srgb,var(--wood) 70%,#fff),var(--wood))}
body[data-template=mountain] .feature strong{font-family:var(--slab);font-size:19px;color:var(--pine)}
body[data-template=mountain] .feature small{color:#7c7a68}
body[data-template=mountain] .feature .arrow{position:absolute;right:16px;top:18px;color:var(--wood);font-weight:800}
body[data-template=mountain] .section-head{gap:14px}
body[data-template=mountain] .section-icon{width:54px;height:54px;font-size:26px;color:#fff;background:linear-gradient(135deg,var(--moss),var(--pine));border-radius:60% 6px 60% 6px}
body[data-template=mountain] .section-head h2{font-family:var(--slab);font-size:clamp(26px,4vw,34px);color:var(--pine)}
body[data-template=mountain] .entries{gap:16px}
body[data-template=mountain] .entry{position:relative;border:1px solid #e3dccb;border-left:6px solid var(--moss);border-radius:calc(var(--radius) * .6);background:#fff;box-shadow:0 10px 24px -16px #2d3a2066}
body[data-template=mountain] .entry:nth-child(even){border-left-color:var(--wood)}
body[data-template=mountain] .entry .eyecap{display:inline-block;color:var(--pine);background:color-mix(in srgb,var(--moss) 18%,#fff);padding:4px 10px;border-radius:6px;font-size:11px;letter-spacing:.6px;text-transform:uppercase}
body[data-template=mountain] .entry h3{font-family:var(--slab);font-size:20px;color:var(--pine)}
body[data-template=mountain] .entry .meta{color:var(--wood);font-weight:600}
body[data-template=mountain] .entry .desc{color:#55594a;font-size:14px}
body[data-template=mountain] .week-tabs .nav-btn{padding:8px 13px}
body[data-template=mountain] .week-scroll{border:1px solid #e3dccb;border-radius:14px;background:#fff}
body[data-template=mountain] .guest-week th{background:var(--pine);color:#fff;font-family:var(--slab);font-weight:700;border-radius:0!important}
body[data-template=mountain] .guest-week td{background:#fff;border-bottom:1px dashed #e0d8c4}
body[data-template=mountain] .guest-week tbody tr:nth-child(even) td{background:#f7f3ea}
body[data-template=mountain] .guest-week td:nth-child(2){font-weight:800;color:var(--wood)}
body[data-template=mountain] .guest-week strong{font-family:var(--slab);color:var(--pine)}
body[data-template=mountain] footer{position:relative;margin-top:26px;border:0;background:var(--pine);color:#e9f0e0}
body[data-template=mountain] footer::before{content:"";position:absolute;left:0;right:0;top:-24px;height:25px;background:var(--pine);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 40' preserveAspectRatio='xMidYMax slice'%3E%3Cpath d='M-6 40L-1 19L3 40ZM12 40L16 22L20 40ZM26 40L33 11L39 40ZM44 40L48 24L51 40ZM62 40L65 26L68 40ZM78 40L83 18L88 40ZM95 40L100 19L104 40ZM107 40L114 11L120 40ZM124 40L131 11L137 40ZM139 40L143 22L147 40ZM151 40L155 22L159 40ZM168 40L174 14L180 40ZM177 40L181 24L184 40ZM188 40L191 25L195 40ZM201 40L204 26L207 40ZM214 40L221 11L227 40ZM232 40L238 14L244 40ZM247 40L253 14L259 40ZM265 40L271 12L278 40ZM276 40L282 15L287 40ZM286 40L289 25L293 40ZM297 40L304 11L310 40ZM309 40L314 18L319 40ZM324 40L329 17L334 40ZM339 40L346 10L352 40ZM354 40L360 15L365 40ZM371 40L377 13L383 40ZM389 40L394 19L398 40ZM403 40L406 26L409 40ZM416 40L420 21L425 40ZM430 40L434 23L438 40ZM442 40L447 18L452 40ZM455 40L459 23L463 40ZM465 40L472 11L478 40ZM481 40L485 24L488 40ZM495 40L499 24L502 40ZM510 40L514 22L518 40ZM519 40L524 17L529 40ZM534 40L540 13L546 40ZM544 40L547 25L551 40ZM562 40L565 25L569 40ZM577 40L582 16L588 40ZM594 40L599 18L604 40ZM611 40L616 19L620 40ZM620 40L625 17L630 40ZM629 40L633 24L636 40ZM639 40L642 25L646 40ZM651 40L657 13L663 40ZM664 40L669 18L674 40ZM675 40L678 25L682 40ZM689 40L694 16L700 40ZM703 40L707 22L711 40ZM718 40L724 14L730 40ZM734 40L741 10L748 40ZM749 40L753 23L757 40ZM767 40L774 10L780 40ZM780 40L786 13L792 40ZM792 40L797 17L802 40ZM807 40L812 18L817 40ZM824 40L829 17L834 40ZM841 40L846 16L852 40ZM850 40L856 13L862 40ZM868 40L873 16L879 40ZM877 40L883 14L889 40ZM895 40L899 22L903 40ZM904 40L909 16L915 40ZM920 40L926 15L931 40ZM934 40L939 18L944 40ZM950 40L953 26L956 40ZM968 40L971 25L975 40ZM977 40L983 15L988 40ZM990 40L996 12L1003 40ZM1003 40L1008 16L1014 40ZM1014 40L1020 15L1025 40ZM1025 40L1030 16L1036 40ZM1039 40L1044 18L1049 40ZM1052 40L1058 14L1064 40ZM1062 40L1065 26L1068 40ZM1080 40L1084 22L1088 40ZM1093 40L1100 10L1106 40ZM1105 40L1110 18L1115 40ZM1117 40L1122 16L1128 40ZM1128 40L1134 13L1140 40ZM1138 40L1142 23L1146 40ZM1156 40L1161 16L1167 40ZM1170 40L1175 19L1179 40ZM1186 40L1190 21L1195 40ZM1196 40L1201 16L1207 40ZM1208 40L1214 12L1221 40Z'/%3E%3C/svg%3E") center bottom/auto 100% repeat-x;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 40' preserveAspectRatio='xMidYMax slice'%3E%3Cpath d='M-6 40L-1 19L3 40ZM12 40L16 22L20 40ZM26 40L33 11L39 40ZM44 40L48 24L51 40ZM62 40L65 26L68 40ZM78 40L83 18L88 40ZM95 40L100 19L104 40ZM107 40L114 11L120 40ZM124 40L131 11L137 40ZM139 40L143 22L147 40ZM151 40L155 22L159 40ZM168 40L174 14L180 40ZM177 40L181 24L184 40ZM188 40L191 25L195 40ZM201 40L204 26L207 40ZM214 40L221 11L227 40ZM232 40L238 14L244 40ZM247 40L253 14L259 40ZM265 40L271 12L278 40ZM276 40L282 15L287 40ZM286 40L289 25L293 40ZM297 40L304 11L310 40ZM309 40L314 18L319 40ZM324 40L329 17L334 40ZM339 40L346 10L352 40ZM354 40L360 15L365 40ZM371 40L377 13L383 40ZM389 40L394 19L398 40ZM403 40L406 26L409 40ZM416 40L420 21L425 40ZM430 40L434 23L438 40ZM442 40L447 18L452 40ZM455 40L459 23L463 40ZM465 40L472 11L478 40ZM481 40L485 24L488 40ZM495 40L499 24L502 40ZM510 40L514 22L518 40ZM519 40L524 17L529 40ZM534 40L540 13L546 40ZM544 40L547 25L551 40ZM562 40L565 25L569 40ZM577 40L582 16L588 40ZM594 40L599 18L604 40ZM611 40L616 19L620 40ZM620 40L625 17L630 40ZM629 40L633 24L636 40ZM639 40L642 25L646 40ZM651 40L657 13L663 40ZM664 40L669 18L674 40ZM675 40L678 25L682 40ZM689 40L694 16L700 40ZM703 40L707 22L711 40ZM718 40L724 14L730 40ZM734 40L741 10L748 40ZM749 40L753 23L757 40ZM767 40L774 10L780 40ZM780 40L786 13L792 40ZM792 40L797 17L802 40ZM807 40L812 18L817 40ZM824 40L829 17L834 40ZM841 40L846 16L852 40ZM850 40L856 13L862 40ZM868 40L873 16L879 40ZM877 40L883 14L889 40ZM895 40L899 22L903 40ZM904 40L909 16L915 40ZM920 40L926 15L931 40ZM934 40L939 18L944 40ZM950 40L953 26L956 40ZM968 40L971 25L975 40ZM977 40L983 15L988 40ZM990 40L996 12L1003 40ZM1003 40L1008 16L1014 40ZM1014 40L1020 15L1025 40ZM1025 40L1030 16L1036 40ZM1039 40L1044 18L1049 40ZM1052 40L1058 14L1064 40ZM1062 40L1065 26L1068 40ZM1080 40L1084 22L1088 40ZM1093 40L1100 10L1106 40ZM1105 40L1110 18L1115 40ZM1117 40L1122 16L1128 40ZM1128 40L1134 13L1140 40ZM1138 40L1142 23L1146 40ZM1156 40L1161 16L1167 40ZM1170 40L1175 19L1179 40ZM1186 40L1190 21L1195 40ZM1196 40L1201 16L1207 40ZM1208 40L1214 12L1221 40Z'/%3E%3C/svg%3E") center bottom/auto 100% repeat-x}
body[data-template=mountain] .quick-btn{border-radius:12px;background:var(--pine);color:#fff;box-shadow:0 4px 0 var(--wood),0 12px 24px #1a2a1a44}
body[data-template=mountain] .quick-btn.ai{background:#fff;color:var(--ink)}
body[data-template=mountain] .sheet{border-radius:16px;border-top:6px solid var(--pine)}
@media(max-width:600px){
body[data-template=mountain] .hero{min-height:clamp(380px,var(--hero-height),480px);padding:34px 20px 130px}
body[data-template=mountain] .hero:not(.has-photo){background:radial-gradient(circle at calc(100% - 52px) 52px,#fff6d6 0 22px,#ffe7a866 23px 44px,transparent 45px),linear-gradient(180deg,color-mix(in srgb,var(--pine) 18%,#6fb9e3),color-mix(in srgb,var(--pine) 25%,#bfe0e8) 55%,color-mix(in srgb,var(--moss) 60%,#e8efd0))}
body[data-template=mountain] .hero::after{height:48%}
body[data-template=mountain] .hero h1{font-size:38px}
body[data-template=mountain] .content{padding:20px 16px 50px}
body[data-template=mountain] .features{grid-template-columns:1fr 1fr;gap:12px}
body[data-template=mountain] .feature{min-height:150px;padding:16px 14px;gap:14px}
body[data-template=mountain] .feature .symbol{width:46px;height:46px;font-size:22px}
body[data-template=mountain] .feature strong{font-size:16px}
body[data-template=mountain] .feature .arrow{display:block;right:12px;top:14px}
}

@keyframes rs-drift{from{transform:translate(0,0) scale(1)}to{transform:translate(-60px,40px) scale(1.15)}}
@keyframes rs-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes rs-wiggle{0%,100%{transform:rotate(0)}20%{transform:rotate(-12deg)}40%{transform:rotate(10deg)}60%{transform:rotate(-6deg)}}
@media(prefers-reduced-motion:reduce){body[data-template] .hero::before,body[data-template] .hero::after,body[data-template] .notice::before{animation:none}body[data-template] .feature,body[data-template] .nav-btn,body[data-template] .arrow{transition:none}}

@media(max-width:600px){
body[data-template=coastal] header{margin:0 8px;border-radius:0 0 18px 18px}
body[data-template=coastal] .hero{margin:10px 8px;border-radius:26px;padding:34px 22px;min-height:clamp(300px,var(--hero-height),480px)}
body[data-template=coastal] .hero h1{font-size:40px;letter-spacing:-1.4px}
body[data-template=coastal] .hero{padding-top:110px}
body[data-template=coastal] .hero:not(.has-photo){background:radial-gradient(circle at calc(100% - 58px) 58px,#fff6c8 0 18px,var(--sun) 19px 38px,#ffffff3d 39px 54px,transparent 55px),linear-gradient(160deg,var(--sky2),var(--sky) 55%,color-mix(in srgb,var(--sky) 70%,#0a2a6a))}
body[data-template=coastal] .content{padding:20px 14px 50px}
body[data-template=coastal] .navigation{top:80px;width:auto}
body[data-template=coastal] .features{grid-template-columns:1fr 1fr;gap:10px}
body[data-template=coastal] .feature{min-height:150px;padding:16px;gap:18px}
body[data-template=coastal] .feature .symbol{width:46px;height:46px;font-size:22px;border-radius:14px}
body[data-template=coastal] .feature strong{font-size:16px}
body[data-template=coastal] .feature .arrow{display:grid;width:30px;height:30px;right:12px;top:14px}
body[data-template=coastal] footer{margin:0 8px}
body[data-template=premium] header{min-height:96px;padding:18px 16px}
body[data-template=premium] .brand{font-size:19px;letter-spacing:3.5px}
body[data-template=premium] .hero{min-height:clamp(320px,var(--hero-height),480px);padding:56px 30px}
body[data-template=premium] .hero::after{inset:12px}
body[data-template=premium] .hero h1{font-size:38px}
body[data-template=premium] .hero p{font-size:15px}
body[data-template=premium] .kicker::before,body[data-template=premium] .kicker::after{width:22px;margin:0 9px}
body[data-template=premium] .kicker{letter-spacing:3.5px}
body[data-template=premium] .content{padding:38px 16px 54px}
body[data-template=premium] .navigation{justify-content:flex-start}
body[data-template=premium] .nav-btn{padding:15px 11px;letter-spacing:1.6px;font-size:11px}
body[data-template=premium] .features{grid-template-columns:1fr 1fr;gap:12px}
body[data-template=premium] .feature{padding:26px 10px 22px;gap:14px}
body[data-template=premium] .feature .symbol{width:52px;height:52px;font-size:21px}
body[data-template=premium] .feature strong{font-size:16px}
body[data-template=premium] .feature .arrow{display:block}
body[data-template=premium] .entry{padding:28px 20px}
body[data-template=premium] .week-tabs{gap:0 2px}
body[data-template=premium] .week-tabs .nav-btn{padding:10px 9px;letter-spacing:1.2px;font-size:10.5px}
body[data-template=family] .hero{min-height:clamp(320px,var(--hero-height),480px);padding:44px 20px 80px}
body[data-template=family] .hero{--sun:34px;--sun-x:calc(100% - 46px);--sun-y:46px;padding-top:96px}
body[data-template=family] .hero h1{font-size:42px}
body[data-template=family] .content{padding:16px 16px 50px}
body[data-template=family] .features{grid-template-columns:1fr 1fr;gap:14px}
body[data-template=family] .feature{min-height:150px;padding:16px 14px;gap:12px}
body[data-template=family] .feature .symbol{width:50px;height:50px;font-size:25px}
body[data-template=family] .feature strong{font-size:17px}
body[data-template=family] .feature .arrow{display:grid;width:30px;height:30px;right:10px;bottom:10px}
body[data-template=family] .nav-btn{padding:9px 14px}
}
