:root{
  --bg:#faf8f3;
  --surface:#ffffff;
  --text:#151515;
  --muted:#77736d;
  --line:#e7e1d7;
  --accent:#b99b62;
  --danger:#a33b3b;
  --success:#2f6b4f;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif}
body{min-height:100svh}
a{color:inherit;text-decoration:none}
.site-header{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:22px clamp(22px,5vw,72px);background:rgba(250,248,243,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(231,225,215,.8)}
.brand{font-family:Manrope,sans-serif;font-weight:700;letter-spacing:.16em;font-size:.9rem}
.site-header nav{display:flex;align-items:center;gap:22px;font-size:.85rem}
.nav-cta{border:1px solid var(--text);padding:10px 15px;border-radius:999px}
.site-footer{display:flex;justify-content:space-between;padding:22px clamp(22px,5vw,72px);border-top:1px solid var(--line);font-size:.68rem;letter-spacing:.14em;color:var(--muted)}
.hero{min-height:calc(100svh - 150px);display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:5vw;padding:60px clamp(22px,6vw,90px)}
.hero-copy h1{font-family:Manrope,sans-serif;font-size:clamp(3rem,7vw,7rem);line-height:.92;letter-spacing:-.055em;margin:0 0 24px}
.hero-copy p{max-width:520px;color:var(--muted);font-size:1.05rem;line-height:1.7}
.hero-actions{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:999px;border:1px solid var(--text);font-weight:600;cursor:pointer;background:transparent;color:var(--text)}
.button-primary{background:var(--text);color:white}
.hero-art{position:relative;display:grid;place-items:center;min-height:520px}
.hero-art:before{display:none}
.hero-art img{position:relative;width:min(470px,78vw);height:auto;object-fit:contain;filter:drop-shadow(0 22px 28px rgba(0,0,0,.12))}
.page{width:min(1120px,92vw);margin:0 auto;padding:58px 0 80px}
.auth-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:42px;align-items:start}
.auth-intro{position:sticky;top:120px}
.auth-intro h1,.page h1{font-family:Manrope,sans-serif;font-size:clamp(2.3rem,5vw,4.8rem);letter-spacing:-.045em;line-height:1;margin:0 0 18px}
.auth-intro p,.page-subtitle{color:var(--muted);line-height:1.7}
.card{background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:clamp(24px,4vw,42px);box-shadow:0 18px 60px rgba(54,42,23,.06)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:flex;flex-direction:column;gap:8px}
.field-full{grid-column:1/-1}
label{font-size:.78rem;font-weight:600}
input,select{width:100%;height:50px;border:1px solid #ddd6cc;border-radius:14px;background:#fff;padding:0 14px;font:inherit;outline:none}
input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(185,155,98,.14)}
.help{font-size:.72rem;color:var(--muted);line-height:1.5}
.errors{margin:0 0 20px;padding:14px 18px;border-radius:14px;background:#fff2f2;color:var(--danger);font-size:.86rem}
.errors ul{margin:0;padding-left:18px}
.flash{width:min(920px,92vw);margin:18px auto 0;padding:14px 18px;border-radius:14px;font-size:.86rem}
.flash-success{background:#edf8f2;color:var(--success)}
.flash-error{background:#fff0f0;color:var(--danger)}
.album-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:32px}
.album-card{overflow:hidden;border:1px solid var(--line);border-radius:24px;background:white}
.album-cover{aspect-ratio:4/3;background:linear-gradient(145deg,#e9dfcf,#c9b28b);display:grid;place-items:center;font-family:Manrope;font-size:2rem}
.album-body{padding:18px}
.album-body h2{margin:0 0 8px;font-family:Manrope;font-size:1.1rem}
.album-body p{margin:0;color:var(--muted);font-size:.85rem}
.center-card{width:min(620px,92vw);margin:70px auto}
.inline-link{text-decoration:underline;text-underline-offset:3px}
@media(max-width:850px){
  .hero,.auth-grid{grid-template-columns:1fr}
  .hero{padding-top:35px}
  .hero-art{min-height:380px}
  .auth-intro{position:static}
  .album-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .site-header{padding:18px 16px}
  .site-header nav{gap:12px}
  .brand{font-size:.72rem}
  .form-grid{grid-template-columns:1fr}
  .field-full{grid-column:auto}
  .album-grid{grid-template-columns:1fr}
  .hero-copy h1{font-size:3rem}
}


/* CUCCHIA'S WORLD welcome and community wall */
.world-intro{margin:22px 0 56px;padding:clamp(28px,6vw,70px);border-radius:32px;background:linear-gradient(135deg,#17130f,#4c3925);color:#fff;position:relative;overflow:hidden}.world-intro:after{content:'✦';position:absolute;right:6%;top:8%;font-size:9rem;opacity:.08}.world-intro h1{font-size:clamp(3rem,8vw,7.5rem);margin:8px 0 22px}.world-intro p{max-width:760px;line-height:1.75;color:rgba(255,255,255,.78)}.world-intro .world-lead{font-size:clamp(1.15rem,2vw,1.55rem);color:#fff}.good-vibes-badge{display:inline-block;margin-top:22px;padding:11px 16px;border:1px solid rgba(255,255,255,.28);border-radius:999px;font-size:.72rem;letter-spacing:.16em}.gallery-heading h2,.wall-heading h2{font-family:Manrope,sans-serif;font-size:clamp(2rem,5vw,4rem);margin:0 0 12px}.wall-section{margin:80px 0 30px;padding-top:20px}.wall-heading{max-width:720px;margin-bottom:26px}.wall-heading p{color:var(--muted);line-height:1.65}.wall-compose,.wall-inline-form{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;margin-bottom:24px}.wall-compose textarea,.wall-inline-form textarea{width:100%;min-height:110px;border:0;resize:vertical;font:inherit;padding:8px;outline:none}.wall-emoji-picker{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0 14px}.wall-emoji-picker button{border:0;background:#f5f1ea;border-radius:9px;padding:7px;cursor:pointer}.wall-list{display:grid;gap:14px}.wall-message{display:grid;grid-template-columns:44px 1fr;gap:12px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px}.wall-reply{margin-top:12px;background:#faf8f3}.wall-avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#e8dfd1;font-weight:700;font-size:.78rem}.wall-meta{display:flex;justify-content:space-between;gap:12px}.wall-meta time{font-size:.7rem;color:var(--muted)}.wall-body>p{line-height:1.55}.wall-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.wall-actions form{margin:0}.wall-actions button{border:0;background:none;padding:0;color:var(--muted);font:inherit;font-size:.75rem;cursor:pointer}.wall-inline-form{margin-top:12px;background:#faf8f3}.wall-empty{padding:28px;text-align:center;color:var(--muted)}@media(max-width:560px){.world-intro{border-radius:24px}.wall-message{grid-template-columns:36px 1fr}.wall-avatar{width:36px;height:36px}.wall-meta{display:block}.wall-meta time{display:block;margin-top:3px}}

/* Central portal, Photo & Video and Good Vibes Wall */
.world-home{width:min(1380px,94vw);padding-top:38px}.world-intro-clean{background:transparent;color:var(--text);border:0;border-radius:0;padding:34px 0 54px;max-width:940px;margin:0}.world-intro-clean:after{display:none}.world-intro-clean p{color:var(--muted)}.world-intro-clean .world-lead{color:var(--text);font-size:clamp(1.25rem,2.1vw,1.75rem)}.world-intro-clean .good-vibes-badge{color:var(--text);border-color:rgba(21,21,21,.18)}.portal-heading{margin:10px 0 24px}.portal-heading h2{font-family:Manrope,sans-serif;font-size:clamp(2rem,4vw,3.7rem);letter-spacing:-.04em;margin:5px 0 8px}.portal-heading p{color:var(--muted)}.portal-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,42px)}.portal-card{display:block;min-width:0}.portal-media{position:relative;overflow:hidden;border-radius:30px;aspect-ratio:16/9;background:transparent}.portal-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.portal-card:hover .portal-media img{transform:scale(1.025)}.portal-arrow{position:absolute;right:18px;top:18px;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.82);backdrop-filter:blur(14px);font-size:1.35rem;transition:transform .25s}.portal-card:hover .portal-arrow{transform:translate(3px,-3px)}.portal-copy{padding:20px 4px 4px}.portal-copy h2{font-family:Manrope,sans-serif;font-size:clamp(1.7rem,3vw,2.8rem);letter-spacing:-.035em;margin:4px 0 10px}.portal-copy p:last-child{max-width:580px;color:var(--muted);line-height:1.65}.eyebrow{font-size:.67rem;letter-spacing:.2em;font-weight:700;color:var(--accent);margin:0 0 10px}.back-link{display:inline-block;margin-bottom:36px;font-size:.78rem;color:var(--muted)}.section-hero{max-width:840px;margin-bottom:42px}.section-hero h1{font-family:Manrope,sans-serif;font-size:clamp(3rem,7vw,6.8rem);letter-spacing:-.06em;line-height:.92;margin:7px 0 22px}.section-hero>p:last-child{max-width:700px;color:var(--muted);font-size:1.05rem;line-height:1.7}.galleries-page,.wall-page{width:min(1280px,94vw)}.luxury-card{background:transparent;border:0;border-radius:0}.luxury-card .category-cover{border-radius:24px;overflow:hidden;box-shadow:none}.luxury-card .category-copy{padding:18px 2px}.dedicated-wall{margin-top:15px;max-width:940px}.dedicated-wall .wall-compose,.dedicated-wall .wall-message{background:rgba(255,255,255,.62);backdrop-filter:blur(18px);border-color:rgba(185,155,98,.2);box-shadow:0 14px 45px rgba(54,42,23,.045)}.dedicated-wall .wall-reply{background:rgba(250,248,243,.68)}
@media(max-width:850px){.portal-grid{grid-template-columns:1fr}.world-home{padding-top:22px}.portal-media{border-radius:22px}.site-header nav a:not(.nav-cta){font-size:.76rem}}
@media(max-width:560px){.world-intro-clean{padding-top:18px}.portal-copy{padding-top:15px}.portal-arrow{width:42px;height:42px}.site-header nav{gap:9px}.site-header nav a{font-size:.68rem}}


/* Home portal compact layout v5 */
.world-home .portal-grid{
  width:min(760px,100%);
  margin:0 auto;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
}
.world-home .portal-heading{
  width:min(760px,100%);
  margin:10px auto 24px;
  text-align:center;
}
.world-home .portal-media{
  border-radius:22px;
  box-shadow:0 14px 38px rgba(54,42,23,.08);
}
.world-home .portal-copy{text-align:center;padding-top:16px}
.world-home .portal-copy p:last-child{margin-left:auto;margin-right:auto}
@media(max-width:760px){
  .world-home .portal-grid{width:min(380px,100%);grid-template-columns:1fr;gap:34px}
  .world-home .portal-heading{width:min(520px,100%)}
}

/* Apple-inspired public landing page v6 */
.landing-home{
  width:min(1440px,100%);
  min-height:calc(100svh - 146px);
  margin:0 auto;
  padding:clamp(44px,7vw,96px) clamp(22px,6vw,92px);
  display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(380px,.96fr);
  align-items:center;
  gap:clamp(42px,7vw,110px);
}
.landing-copy{max-width:720px}
.landing-kicker{margin:0 0 20px;font-size:.72rem;line-height:1;font-weight:700;letter-spacing:.2em;color:var(--accent)}
.landing-copy h1{margin:0;max-width:760px;font-family:Manrope,sans-serif;font-size:clamp(3.35rem,7vw,7.7rem);line-height:.92;letter-spacing:-.065em;font-weight:700}
.landing-lead{max-width:660px;margin:28px 0 0;color:var(--muted);font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.72}
.landing-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:34px}
.landing-button{min-width:154px;min-height:52px;padding:0 24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.92rem;font-weight:600;border:1px solid rgba(21,21,21,.14);transition:transform .22s ease,box-shadow .22s ease,background .22s ease}
.landing-button:hover{transform:translateY(-2px)}
.landing-button-dark{background:#151515;color:#fff;border-color:#151515;box-shadow:0 12px 28px rgba(0,0,0,.13)}
.landing-button-light{background:rgba(255,255,255,.72);backdrop-filter:blur(18px)}
.landing-note{margin:18px 0 0;color:#9a958e;font-size:.72rem}
.landing-visual{display:grid;place-items:center}
.landing-image-shell{width:min(520px,100%);aspect-ratio:1/1;border-radius:42px;padding:clamp(10px,1.2vw,16px);background:rgba(255,255,255,.58);border:1px solid rgba(255,255,255,.88);box-shadow:0 30px 90px rgba(65,49,29,.12);backdrop-filter:blur(24px);overflow:hidden}
.landing-image-shell img{display:block;width:100%;height:100%;object-fit:cover;border-radius:32px}
@media(max-width:920px){.landing-home{grid-template-columns:1fr;min-height:auto;padding-top:54px;text-align:center}.landing-copy{margin:0 auto}.landing-copy h1,.landing-lead{margin-left:auto;margin-right:auto}.landing-actions{justify-content:center}.landing-visual{order:-1}.landing-image-shell{width:min(420px,86vw);border-radius:34px}.landing-image-shell img{border-radius:26px}}
@media(max-width:560px){.landing-home{padding:34px 18px 54px;gap:34px}.landing-copy h1{font-size:clamp(3rem,15vw,4.55rem)}.landing-kicker{font-size:.62rem}.landing-actions{display:grid;grid-template-columns:1fr;width:100%}.landing-button{width:100%}.landing-image-shell{width:min(350px,92vw);border-radius:28px;padding:8px}.landing-image-shell img{border-radius:21px}}

/* v7 — compact central choices, forced after every previous media rule */
.world-home .portal-grid{
  width:min(650px,92vw) !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:24px !important;
  align-items:start;
}
.world-home .portal-card{
  width:100% !important;
  max-width:313px !important;
  margin:0 auto !important;
}
.world-home .portal-media{
  width:100% !important;
  aspect-ratio:16/9 !important;
  min-height:0 !important;
  max-height:176px !important;
  border-radius:20px !important;
  box-shadow:0 12px 32px rgba(54,42,23,.07) !important;
}
.world-home .portal-media img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}
.world-home .portal-copy h2{font-size:1.35rem !important}
.world-home .portal-copy p{font-size:.82rem !important;line-height:1.5 !important}
@media(max-width:620px){
  .world-home .portal-grid{
    width:min(330px,92vw) !important;
    grid-template-columns:1fr !important;
    gap:30px !important;
  }
  .world-home .portal-card{max-width:330px !important}
  .world-home .portal-media{max-height:186px !important}
}

/* v10 — simple Photo & Video banner gallery */
.galleries-simple-page{
  width:min(980px,92vw);
  padding-top:38px;
}
.galleries-simple-heading{
  width:100%;
  margin:10px auto 28px;
  text-align:center;
}
.gallery-banner-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}
.gallery-banner-card{
  display:block;
  overflow:hidden;
  border-radius:20px;
  background:transparent;
  box-shadow:0 12px 34px rgba(54,42,23,.07);
  transition:transform .28s ease,box-shadow .28s ease;
}
.gallery-banner-card:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 42px rgba(54,42,23,.11);
}
.gallery-banner-card img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  object-fit:cover;
  transition:transform .65s cubic-bezier(.2,.7,.2,1);
}
.gallery-banner-card:hover img{transform:scale(1.02)}
.video-coming-page{width:min(980px,92vw)}
.video-coming-card{
  position:relative;
  overflow:hidden;
  border-radius:24px;
  background:transparent;
  box-shadow:0 16px 48px rgba(54,42,23,.08);
}
.video-coming-card img{display:block;width:100%;height:auto}
.video-coming-copy{
  position:absolute;
  inset:0;
  display:grid;
  place-content:center;
  text-align:center;
  padding:24px;
  background:rgba(250,248,243,.72);
  backdrop-filter:blur(8px);
}
.video-coming-copy h1{
  margin:8px 0 0;
  font-family:Manrope,sans-serif;
  font-size:clamp(2.8rem,8vw,6.5rem);
  line-height:.88;
  letter-spacing:-.06em;
}
@media(max-width:700px){
  .gallery-banner-grid{grid-template-columns:1fr;gap:20px}
  .galleries-simple-page{width:min(560px,92vw)}
  .gallery-banner-card{border-radius:17px}
}

/* Admin area */
.admin-shell{width:min(1500px,calc(100% - 40px));margin:46px auto 80px}.admin-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:24px}.admin-heading h1{margin:6px 0 4px}.admin-heading p{margin:0;color:#6f6b65}.admin-kicker{font-size:12px;letter-spacing:.18em;font-weight:700;color:#a67c35}.admin-export-buttons{display:flex;gap:10px;flex-wrap:wrap}.admin-filters{display:grid;grid-template-columns:minmax(250px,1fr) 190px auto auto;gap:10px;margin-bottom:18px}.admin-filters input,.admin-filters select{min-height:46px;border:1px solid rgba(22,22,22,.13);border-radius:14px;background:rgba(255,255,255,.68);padding:0 14px;font:inherit}.admin-table-wrap{overflow:auto;border:1px solid rgba(22,22,22,.08);border-radius:20px;background:rgba(255,255,255,.56);box-shadow:0 18px 60px rgba(30,23,13,.06)}.admin-table{width:100%;border-collapse:collapse;min-width:1080px}.admin-table th,.admin-table td{padding:14px 16px;text-align:left;border-bottom:1px solid rgba(22,22,22,.07);font-size:13px}.admin-table th{position:sticky;top:0;background:#f4eee3;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.admin-table tbody tr:hover{background:rgba(255,255,255,.72)}.admin-status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:700}.admin-status.is-ok{background:#e8f6ed;color:#24623a}.admin-status.is-waiting{background:#fff1dc;color:#8a5717}.admin-empty{text-align:center!important;padding:36px!important;color:#777}.admin-pagination{display:flex;gap:7px;flex-wrap:wrap;justify-content:center;margin-top:22px}.admin-pagination a{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;border:1px solid rgba(22,22,22,.1);background:rgba(255,255,255,.65)}.admin-pagination a.is-current{background:#151515;color:#fff}
@media(max-width:780px){.admin-shell{width:min(100% - 22px,1500px);margin-top:26px}.admin-heading{align-items:flex-start;flex-direction:column}.admin-filters{grid-template-columns:1fr}.admin-export-buttons{width:100%}.admin-export-buttons .button{flex:1;text-align:center}.admin-table th,.admin-table td{padding:12px 13px}}
