:root{color-scheme:dark;--cream:#ffffcf;--olive:#737900}*{box-sizing:border-box}body{margin:0;background:#3c2916;color:var(--cream);font-family:Arial,Helvetica,sans-serif}.backdrop{position:fixed;inset:-35px;z-index:-1;background:linear-gradient(125deg,#170c0490,#a6641540),url('assets/fundo.webp') center/cover;filter:blur(20px);transform:scale(1.05)}main{max-width:870px;margin:auto;padding:0 28px}.hero{text-align:center;padding:70px 12px 48px;border-bottom:1px solid #ffffcf66;margin-bottom:52px}.portrait{display:block;width:150px;height:150px;margin:0 auto 34px;border-radius:50%}.eyebrow{font-size:16px;font-weight:400;margin:0 0 20px;opacity:.8}h1{margin:0 auto 20px;max-width:680px}h1 img{display:block;width:100%;height:auto}.intro{font-size:16px;line-height:1.45;margin:0;opacity:.86}.cards{display:grid;gap:38px}.card{border:1px solid #ffffcf38;border-radius:22px;padding:34px;display:grid;grid-template-columns:1fr 1.08fr;gap:32px;background:linear-gradient(120deg,#a985555c,#d9bc8757);box-shadow:inset 0 1px 1px #fff2;backdrop-filter:blur(20px)}.card:nth-child(2){background:linear-gradient(130deg,#a9742866,#e8c99c66)}.card:nth-child(3){background:linear-gradient(130deg,#d6964b80,#4d342a9c)}.card:nth-child(4){background:linear-gradient(130deg,#dca761a6,#f3d5ab91)}.copy{display:flex;flex-direction:column;align-items:flex-start}h2{font-size:clamp(27px,4vw,42px);line-height:1.02;margin:0 0 22px;letter-spacing:-.6px}p{font-size:16px;line-height:1.8;margin:0 0 24px}.photo{display:block;width:100%;height:100%;min-height:0;object-fit:cover;border-radius:19px;aspect-ratio:4/5}.book{object-fit:fill}.flip{transform:scaleX(-1)}.cta{width:100%;display:flex;align-items:center;gap:5px;padding:7px;border:2px solid #fff8c85c;border-radius:70px;background:#ffffcf26;color:var(--cream);text-decoration:none;margin-top:auto;min-height:60px}.cta span{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 12px;flex:1;background:var(--olive);border-radius:60px;font-size:12px;font-weight:800;text-align:center;text-transform:uppercase;line-height:1.2}.cta b{display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--olive);width:44px;height:44px;flex-shrink:0;font-size:44px;font-weight:400;line-height:1}.cta[href]:hover{background:#ffffcf55;transform:translateY(-2px)}a:focus-visible{outline:3px solid #fff;outline-offset:5px}.photo-stack{display:grid;grid-template-rows:1fr 1fr;gap:24px}.private .photo{aspect-ratio:auto}.occasions{margin:10px 0 26px}.occasions p{margin-bottom:8px}.occasions ul{padding-left:20px;margin:0;font-size:16px;line-height:1.8}.note{margin:22px 0 0;line-height:1.45}.private .cta{margin-top:12px}footer{padding-top:85px;padding-bottom:28px}.footer-top{display:flex;justify-content:space-between;gap:25px;margin-bottom:35px}.mascot{width:110px;height:auto;margin-bottom:25px}.brand p{font-size:14px;line-height:1.4;margin:0}nav{text-align:right;display:flex;flex-direction:column;gap:12px}nav h2{font-size:14px;margin:0 0 10px;letter-spacing:0}nav a{font-size:14px;text-transform:uppercase;color:var(--cream);text-decoration:none}nav a[href]:hover{text-decoration:underline}.footer-name{width:100%;height:auto;border-top:1px solid #ffffcf66;padding-top:22px}.copyright{text-transform:uppercase;font-size:10px;letter-spacing:.6px;margin:8px 0 0;line-height:1.4}@media(max-width:600px){
body{position:relative;background:#4b311c}.backdrop{position:absolute;inset:0;transform:none;filter:none;background:url('assets/fundo-mobile.webp') center/100% 100% no-repeat;z-index:-1}
main{max-width:none;padding:0 5vw}.hero{height:95.5vw;padding:20vw 0 0;margin:0 0 12.4vw;border-bottom:1px solid #ffffcf55}.portrait{width:33vw;height:33vw;margin:0 auto 8.8vw}.eyebrow{font-size:3.65vw;line-height:1;margin:0 0 3.9vw;opacity:.75}h1{margin:0 5vw 3.5vw;max-width:none}h1 img{width:100%;height:auto}.intro{font-size:2.9vw;line-height:1.1;margin:0;opacity:.8}.desktop{display:inline}
.cards{gap:5.3vw}.card{height:59.1vw;padding:4.7vw;border-radius:2.3vw;grid-template-columns:1fr 1.2fr;gap:7.2vw;background:#c5b49a40;box-shadow:inset 0 0 1px #fff8;backdrop-filter:blur(8px);border:1px solid #ffffcf25}.card:nth-child(2),.card:nth-child(3),.card:nth-child(4){background:#c5b49a40}.copy{min-width:0}h2{font-size:5.15vw;line-height:.99;letter-spacing:0;margin:0 0 2vw}.copy p{font-size:2.08vw;line-height:1.77;margin:0 0 2vw;opacity:.94}.photo{width:100%;height:100%;min-height:0;aspect-ratio:auto;object-fit:cover;border-radius:2.3vw}.book{object-fit:fill;background:none}.cta{width:100%;max-width:none;min-height:0;height:8.8vw;padding:1.05vw;gap:.45vw;border:1px solid #ffffcf55;margin-top:auto;flex-shrink:0}.cta span{font-size:1.22vw;line-height:1.1;min-height:0;height:100%;padding:0 .6vw;white-space:nowrap}.cta b{width:6.15vw;height:6.15vw;font-size:6.7vw;line-height:1}.private{height:111.9vw}.photo-stack{grid-template-columns:1fr;grid-template-rows:1fr 1fr;gap:3.3vw;min-height:0}.private .photo{height:100%;object-fit:cover}.private .copy p{font-size:2.02vw;line-height:1.75}.occasions{margin:1.7vw 0 2.3vw}.occasions p{margin:0!important}.occasions ul{padding-left:2.6vw;font-size:2.02vw;line-height:1.75;list-style-position:outside}.private .cta{margin-top:auto}.private .note{margin:3.3vw 0 2vw;font-size:2.02vw;line-height:1.25}
footer{padding:23vw 0 6.9vw}.footer-top{gap:4vw;margin-bottom:8.8vw}.mascot{width:19vw;height:auto;margin-bottom:5.8vw}.brand p{font-size:2.8vw;line-height:1.2;margin:0;white-space:nowrap;opacity:.8}nav{gap:2vw;flex-shrink:0}nav h2{font-size:2.8vw;margin:0 0 3vw;line-height:1}nav a{font-size:2.8vw;line-height:1.2;opacity:.8}.footer-name{padding-top:3vw;border-top:1px solid #ffffcf55;display:block}.copyright{font-size:1.65vw;letter-spacing:.06vw;margin:1.2vw 0 0;line-height:1.2;opacity:.8}
}

.mobile-card-art,.mobile-card-link{display:none}
@media(max-width:600px){
.card{position:relative;padding:0;display:block;background:none!important;box-shadow:none;border:0;backdrop-filter:none;overflow:hidden;height:auto;aspect-ratio:1584/1040}
.card.private{aspect-ratio:1584/1972}
.mobile-card-art{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:fill}
.card>.copy,.card>.photo,.card>.photo-stack{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;padding:0;margin:0}
.mobile-card-link{display:block;position:absolute;left:5.3%;top:76.9%;width:37%;height:15%;border-radius:99px}
.private .mobile-card-link{top:78.5%;height:8%}
.mobile-card-link[href]:hover{box-shadow:0 0 0 2px #ffffcf99}
}
/* Livros e cursos: texto nativo e fotografias em alta resolução. */
@media(max-width:600px){
.card:nth-child(2),.card:nth-child(3){display:grid;grid-template-columns:1fr 1.2fr;grid-template-rows:minmax(0,1fr);gap:7.2vw;padding:4.7vw;height:59.1vw;aspect-ratio:auto;border:1px solid #ffffcf30;backdrop-filter:blur(14px);box-shadow:inset 0 0 1px #fff8}
.card:nth-child(2){background:linear-gradient(120deg,#b5895277,#dfb07166)!important}
.card:nth-child(3){background:linear-gradient(120deg,#cb994b77,#563a325c)!important}
.card:nth-child(2)>.mobile-card-art,.card:nth-child(3)>.mobile-card-art,.card:nth-child(2)>.mobile-card-link,.card:nth-child(3)>.mobile-card-link{display:none}
.card:nth-child(2)>.copy,.card:nth-child(3)>.copy,.card:nth-child(2)>.photo,.card:nth-child(3)>.photo{position:static;width:100%;height:100%;min-height:0;clip-path:none;white-space:normal;overflow:visible}
.card:nth-child(2) .copy p,.card:nth-child(3) .copy p{font-size:1.98vw;line-height:1.77}
.card:nth-child(2) .photo,.card:nth-child(3) .photo{object-fit:cover;overflow:hidden}
.card:nth-child(2) .photo{object-fit:fill}
}

.cta b{font-size:0;overflow:hidden;background:transparent}.cta b img{display:block;width:100%;height:100%;object-fit:contain}

/* Layout ocupa toda a largura disponível. */
@media(min-width:601px){
main{width:100%;max-width:none;padding-inline:5vw}
.hero{padding-top:clamp(50px,6vw,100px)}
.cards{gap:clamp(28px,3vw,54px)}
.card{padding:clamp(28px,4.7vw,84px);gap:clamp(28px,7vw,120px)}
.copy p,.occasions ul{font-size:clamp(16px,1.9vw,30px)}
.copy h2{font-size:clamp(32px,5vw,80px)}
.cta{max-width:580px}
.cta span{font-size:clamp(12px,1.3vw,21px)}
.cta b{width:clamp(44px,6vw,100px);height:clamp(44px,6vw,100px)}
.cta span{min-height:clamp(44px,6vw,100px)}
}
