
:root{--deep:#091e2e;--ink:#10283a;--accent:#c7aa76;--paper:#f4f1eb;--soft:#e9e3d7;--line:rgba(12,35,45,.14);--muted:#68716d;--glass:rgba(255,255,255,.07)}html[data-theme="forest"]{--deep:#13231d;--ink:#24322c;--accent:#c7aa76;--paper:#f4f1eb;--soft:#e9e3d7;--line:rgba(24,45,32,.17)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 'DM Sans',Arial,sans-serif}a{text-decoration:none;color:inherit}button,input,select{font:inherit}button{cursor:pointer}.serif{font-family:'Playfair Display',Georgia,serif;font-weight:400;font-style:italic}.shell{width:min(1400px,calc(100% - 8vw));margin:auto}.top{height:86px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;background:var(--deep);color:white;position:relative;z-index:3}.brand{font:34px 'Playfair Display',serif;letter-spacing:-.08em}.brand small{font:9px 'DM Sans',sans-serif;letter-spacing:.2em;margin-left:16px;border-left:1px solid #ffffff40;padding-left:16px}.top nav{display:flex;gap:30px;align-items:center;font-size:11px;letter-spacing:.13em;text-transform:uppercase}.top a:hover{color:var(--accent)}.eyebrow{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);font-weight:700}.hero2{background:var(--deep);min-height:430px;color:#fff;position:relative;overflow:hidden;padding:90px 0 95px}.hero2::after{content:'';position:absolute;right:-5%;top:-30%;width:62%;height:160%;background:url('assets/hero-family-close.png') center/cover;opacity:.24;mask-image:linear-gradient(90deg,transparent,#000)}.hero2 .shell{position:relative;z-index:1}.hero2 h1{font-size:clamp(55px,7vw,112px);font-weight:400;letter-spacing:-.075em;line-height:1;margin:22px 0}.hero2 p{max-width:570px;color:#d5ded8;font-size:16px}.section{padding:90px 0}.layout{display:grid;grid-template-columns:360px 1fr;gap:6vw}.panel{border:1px solid var(--line);border-radius:28px;padding:32px;background:#ffffff72}.panel.dark{background:var(--deep);color:white;border:0}.panel h2{font-size:clamp(32px,3.6vw,56px);line-height:1.12;font-weight:400;letter-spacing:-.055em}.step{display:flex;gap:16px;align-items:center;margin:18px 0;font-size:13px;color:var(--muted)}.step b{display:grid;place-items:center;border:1px solid #ccc;width:36px;height:36px;border-radius:50%;flex:none}.choice{padding:18px;border:1px solid var(--line);border-radius:18px;text-align:left;width:100%;background:#fff8;margin-bottom:12px;transition:.3s}.choice:hover,.choice.active{border-color:var(--accent);background:#efe6d5;transform:translateY(-2px)}.choice strong{display:block;font-size:16px}.choice small{display:block;font-size:11px;color:#71736b}.price{font:44px 'Playfair Display',serif;letter-spacing:-.06em;margin:10px 0}.btn{display:inline-flex;justify-content:space-between;align-items:center;gap:28px;background:linear-gradient(120deg,#b99557,#e9d2a7,#c7aa76);color:#19241e;border:0;min-height:64px;border-radius:999px;padding:10px 12px 10px 28px;font-weight:700;position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s;box-shadow:0 10px 30px #0002}.btn::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 10%,#ffffff88 50%,transparent 90%);transform:translateX(-120%);animation:shine 4.2s infinite}.btn>*{position:relative;z-index:1}.btn i{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--deep);color:#fff;font-style:normal;font-size:21px}.btn:hover{transform:translateY(-3px);box-shadow:0 16px 40px #0004}@keyframes shine{0%,22%{transform:translateX(-120%)}50%,100%{transform:translateX(120%)}}.minor{border:1px solid var(--line);border-radius:999px;background:transparent;padding:12px 20px}.metricrow{display:flex;gap:40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin:25px 0}.metricrow strong{display:block;font-size:23px;font-weight:500}.metricrow small{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.photo{border-radius:28px;overflow:hidden;min-height:320px;background:url('assets/program-bg.png') center/cover}.notice{font-size:12px;color:var(--muted);padding-top:15px}.tabs{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:20px}.tab{background:transparent;border:1px solid var(--line);padding:11px 17px;border-radius:999px}.tab.active{background:var(--deep);color:#fff}.field{display:flex;flex-direction:column;gap:7px;margin:14px 0;font-size:12px;letter-spacing:.03em}.field input,.field select{border:1px solid #ccc6b9;border-radius:14px;min-height:48px;padding:12px;background:#fff;color:var(--ink);width:100%}.radio{display:block;background:#fff;border:1px solid #ded8cc;padding:15px;border-radius:16px;margin:12px 0}.radio input{margin-right:9px}.muted{color:var(--muted)}.row{display:flex;justify-content:space-between;gap:20px;align-items:center}.borderline{border-bottom:1px solid var(--line);padding:13px 0}.tag{display:inline-block;font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:var(--deep);background:#d9c39d;padding:7px 12px;border-radius:99px}.themeDock{position:fixed;z-index:50;bottom:19px;right:20px;background:#fff;border:1px solid #ded9cf;border-radius:99px;box-shadow:0 12px 35px #0003;display:flex;gap:4px;align-items:center;padding:7px}.themeDock button{background:transparent;border:0;padding:10px 13px;border-radius:99px;font-size:11px}.themeDock button.active{background:var(--deep);color:#fff}.footer{padding:35px 4vw;background:var(--deep);color:#ffffffa8;font-size:10px;letter-spacing:.12em;display:flex;justify-content:space-between;gap:25px}.hide{display:none!important}.programGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.mini{padding:20px;border:1px solid var(--line);border-radius:22px;background:#fff8;transition:.3s;text-align:left}.mini.active{background:var(--deep);color:#fff;border-color:var(--deep)}.mini small{display:block;opacity:.7}.adminLayout{display:grid;grid-template-columns:250px 1fr;gap:35px;padding:40px 4vw}.side{background:var(--deep);border-radius:25px;padding:25px;color:#fff;align-self:start}.side button{background:transparent;color:#fff;border:0;display:block;width:100%;padding:13px 9px;text-align:left;border-bottom:1px solid #ffffff18}.side button.active{color:var(--accent)}.adminCards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.adminCards .panel strong{font-size:27px;font-weight:400}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;font-size:10px;letter-spacing:.15em}.table td,.table th{padding:17px 10px;border-bottom:1px solid var(--line)}.scrim{position:fixed;inset:0;background:#0008;display:none;place-items:center;z-index:90;padding:20px}.scrim.open{display:grid}.dialog{width:min(560px,100%);background:var(--paper);border-radius:25px;padding:30px}.fade{animation:up .7s ease both}@keyframes up{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@media(max-width:950px){.layout,.adminLayout{grid-template-columns:1fr}.programGrid{grid-template-columns:repeat(2,1fr)}.top nav{gap:12px}.top nav a:nth-child(2){display:none}}@media(max-width:650px){.top nav a:not(:last-child){display:none}.brand small{display:none}.section{padding:50px 0}.programGrid,.adminCards{grid-template-columns:1fr}.hero2{min-height:380px;padding:60px 0}.hero2 h1{font-size:53px}.metricrow{gap:20px}.themeDock{left:50%;right:auto;transform:translateX(-50%)}.footer{padding-bottom:95px}.side{display:grid;grid-template-columns:repeat(2,1fr)}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important}}

/* RESTAURA V2 — composição real e apresentação editorial */
.programs-layout{display:grid;grid-template-columns:minmax(245px,310px) minmax(0,1fr);gap:clamp(30px,6vw,94px);align-items:start}
.programs-aside{position:sticky;top:24px}.aside-title{font-size:clamp(30px,3vw,47px);line-height:1.12;letter-spacing:-.055em;font-weight:400;margin:20px 0}.program-detail{min-width:0}
.program-photo{width:100%;height:clamp(310px,38vw,540px);border-radius:32px;background:linear-gradient(0deg,#081d1980,transparent 65%),url('assets/program-bg.png') center 40%/cover;margin-bottom:20px}
.program-summary-card{padding:clamp(26px,3.5vw,48px);background:var(--deep);color:#f5f0e5;border-radius:30px}
.program-title-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.65fr);gap:35px;align-items:end;margin:16px 0 28px}
.program-title-row h2{font-size:clamp(46px,5.7vw,86px);font-weight:400;line-height:1.02;letter-spacing:-.07em;margin:9px 0 15px}
.program-title-row p{color:#d6ded9;line-height:1.85;margin:0}.legacy-code{color:#bdbfb7;font-size:9px;letter-spacing:.16em;text-transform:uppercase}.price-block{border-left:1px solid #ffffff50;padding-left:25px}.price-block small{font-size:10px;letter-spacing:.17em;color:#d9c39d}.price-block .price{font-size:clamp(33px,3vw,51px);color:#f0debb;white-space:nowrap}.price-block span{font-size:12px;color:#e1e5de}
.composition{padding:50px 0}.composition h2{font-size:clamp(36px,4vw,56px);font-weight:400;letter-spacing:-.055em;line-height:1.12;margin:14px 0}.composition>.muted{margin-bottom:30px}.composition-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.category-card{border:1px solid var(--line);border-radius:23px;background:#ffffffa1;padding:25px;min-width:0}.category-card h3{font-size:18px;font-weight:500;margin:0 0 16px}.category-card ul{margin:0;padding:0;list-style:none}.category-card li{display:flex;align-items:baseline;justify-content:space-between;gap:18px;border-top:1px solid var(--line);padding:12px 0;font-size:13px;line-height:1.5}.category-card em{font-size:11px;color:#52645a;font-style:normal;text-align:right;white-space:nowrap}.category-card p{font-size:14px;color:#65716a;line-height:1.8}.choice-index{font-size:9px;color:#8b8b81;letter-spacing:.18em;display:block;margin-bottom:4px}
@media(max-width:1000px){.programs-layout{grid-template-columns:1fr}.programs-aside{position:static}.programs-aside #choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.choice{margin:0}.program-title-row{grid-template-columns:1fr}}
@media(max-width:650px){.programs-aside #choices{grid-template-columns:1fr}.program-photo{height:300px}.program-summary-card{padding:26px 22px}.composition-content{grid-template-columns:1fr}.price-block{border-left:0;border-top:1px solid #ffffff40;padding-left:0;padding-top:18px}.category-card{padding:21px}.category-card li{flex-wrap:wrap}}
