/* T_TASTE_PORTAL_CONTENT_20261002 */
.campaign { border:1px solid #dfded3; border-radius:15px; overflow:hidden; background:#edede4; }
.campaign .portal-hero { display:block; border:0; border-radius:0; overflow:hidden; min-height:0; touch-action:pan-y; }
.campaign-track { display:flex; transition:transform .65s cubic-bezier(.22,.7,.18,1); }
.campaign-slide { flex:0 0 100%; min-width:0; display:grid; grid-template-columns:1fr 1fr; min-height:370px; background:#ebebe0; overflow:hidden; }
.campaign #campaign-status { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.campaign-slide.slide-1 { background:#efe1da; }
.campaign-slide.slide-2 { background:#e4eae5; }
.campaign-slide .portal-hero-copy { min-width:0; }
.campaign-slide .portal-hero-art { min-width:0; overflow:hidden; }
.campaign-navigation { display:flex; gap:5px; align-items:center; }
.campaign-navigation>button { width:30px; height:34px; border:0; background:transparent; border-radius:6px; color:#817666; font-size:21px; }
.campaign-navigation>button:hover { background:#ded8ca; }
.campaign-navigation>button[data-slide=pause] { font-size:11px; }
.campaign-navigation .campaign-page { margin-right:8px; }
.writer-paper { position:absolute; background:#fff9eb; width:225px; height:276px; top:46px; left:calc(50% - 105px); padding:28px; border:1px solid #dccbb6; box-shadow:14px 17px 0 #b291791b,0 14px 30px #704e2f12; transform:rotate(-7deg); color:#7d3a50; }
.writer-paper>span { font-size:8px; letter-spacing:1.2px; }
.writer-paper h3 { font:500 24px/1.8 var(--serif); margin:20px 0; }
.paper-lines { height:55px; margin-bottom:22px; background:repeating-linear-gradient(transparent 0 16px,#d7c6b9 16px 17px); opacity:.6; }
.writer-pencil { position:absolute; top:86px; left:calc(50% + 123px); height:204px; width:10px; background:linear-gradient(90deg,#967046,#d8bb88,#99724a); border-radius:3px; transform:rotate(19deg); }
.writer-pencil::after { content:''; position:absolute; top:100%; border:5px solid transparent; border-top:18px solid #615446; }
.writer-note { position:absolute; left:calc(50% - 148px); bottom:42px; background:#fff9f2; padding:14px 20px; border-radius:10px 10px 10px 0; font-size:12px; color:#895668; box-shadow:0 7px 20px #8c685312; transform:rotate(3deg); }
.partner-preview { position:absolute; left:calc(50% - 144px); top:55px; width:284px; padding:24px; background:#fcfbf4; border:1px solid #cdd5c9; border-radius:14px; box-shadow:0 18px 32px #46513d15; transform:rotate(3deg); }
.partner-preview>div { display:flex; align-items:center; gap:8px; }
.partner-preview b { font-size:13px; }
.partner-preview>div>span { font-size:8px; margin-left:auto; color:#8c9484; }
.partner-preview p { font-size:15px; line-height:1.8; color:#4e5a4a; margin:19px 0; }
.partner-answer { display:block; font-size:11px; line-height:1.8; padding:11px 13px; background:#efe8dc; border-radius:9px 9px 0 9px; color:#837665; }
.partner-preview ol { list-style:none; display:flex; gap:8px; padding:15px 0 0; margin:0; }
.partner-preview li { border-bottom:2px solid #c5cec0; padding-bottom:6px; font-size:8px; color:#7e8b77; }
.campaign[data-theme=write] .portal-hero { background:#eee5df; }
.campaign[data-theme=partner] .portal-hero { background:#e5e9e4; }
.campaign-controls { display:flex; justify-content:space-between; align-items:center; padding:0 28px; background:#ffffff65; border-top:1px solid #d8d7cc; }
.campaign-tabs { display:flex; gap:30px; }
.campaign-tabs button { position:relative; min-height:54px; background:transparent; border:0; padding:0 2px; color:#8b897d; font-size:12px; }
.campaign-tabs button span { font-family:Georgia,serif; font-size:11px; margin-right:8px; }
.campaign-tabs button[aria-pressed=true] { color:var(--wine); font-weight:600; }
.campaign-tabs button[aria-pressed=true]::after { content:''; position:absolute; height:2px; inset:auto 0 0; background:var(--wine); }
.campaign-page { font-size:10px; color:#a29a8d; letter-spacing:1px; }
.campaign-page b { color:var(--wine); margin-right:4px; }
.portal-promos { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:38px 0 8px; }
.portal-promo { display:flex; text-align:left; align-items:center; gap:18px; padding:23px 25px; border:1px solid #e4d8d4; border-radius:12px; background:#f2e9e6; color:#614651; }
.portal-promo>span:nth-child(2) { flex:1; }
.portal-promo small { font-size:8px; letter-spacing:1.6px; color:#a18684; display:block; }
.portal-promo strong { font-size:15px; display:block; margin:8px 0; font-weight:600; letter-spacing:-.4px; }
.portal-promo em { font-style:normal; font-size:11px; color:#927f7d; }
.promo-symbol { display:grid; place-items:center; width:43px; height:51px; border:1px solid #bfa6a655; border-radius:3px 10px 10px 3px; background:#fff9; flex-shrink:0; box-shadow:3px 3px 0 #b7a19e20; }
.promo-symbol .icon { width:22px; height:22px; }
.promo-support { background:#eaf0e9; border-color:#dce4d9; color:#50624c; }
.promo-support small,.promo-support em { color:#80947a; }
.portal-promo:hover { border-color:#b7969c; transform:translateY(-2px); }
.writing-journey { display:grid; grid-template-columns:1fr 1.1fr; gap:65px; border-top:1px solid var(--line); padding:60px 35px; margin-top:45px; }
.journey-heading h2 { font-family:var(--serif); font-size:31px; line-height:1.6; font-weight:500; letter-spacing:-1px; margin:16px 0; }
.journey-heading p { font-size:13px; line-height:1.9; color:var(--muted); margin:0 0 25px; }
.journey-heading>small { display:block; color:#9b9488; font-size:10px; margin-top:14px; }
.journey-steps { list-style:none; margin:0; padding:0; }
.journey-steps li { display:flex; gap:22px; position:relative; padding:4px 0 28px; }
.journey-steps li:not(:last-child)::after { content:''; width:1px; background:#ddd7c9; position:absolute; top:39px; bottom:5px; left:19px; }
.journey-steps li>span { display:grid; place-items:center; width:39px; height:39px; border:1px solid #d9d0c3; border-radius:50%; font:italic 15px Georgia,serif; color:#8e6e5c; flex-shrink:0; }
.journey-steps h3 { font-size:15px; font-weight:600; margin:6px 0 9px; }
.journey-steps p { font-size:12px; color:var(--muted); line-height:1.8; margin:0; }
.portal-faq { display:grid; grid-template-columns:.8fr 1.2fr; gap:60px; background:#f1efe8; border:1px solid #e6e1d6; border-radius:14px; padding:36px; margin-bottom:40px; }
.portal-faq h2 { font-family:var(--serif); font-size:23px; margin:16px 0 0; font-weight:500; }
.portal-faq details { border-bottom:1px solid #dfd9cd; padding:0 0 15px; margin:0 0 16px; }
.portal-faq details:last-child { margin-bottom:0; border:0; padding-bottom:0; }
.portal-faq summary { font-size:13px; cursor:pointer; line-height:1.75; }
.portal-faq p { font-size:12px; color:var(--muted); line-height:1.9; margin:12px 0 0; }
@media(max-width:960px) {
  .portal-promo { padding:20px; gap:12px; }
  .portal-promo strong { font-size:13px; line-height:1.6; }
  .writing-journey { padding:42px 15px; gap:35px; }
  .portal-faq { gap:28px; padding:28px; }
}
@media(max-width:700px) {
  .campaign-slide { grid-template-columns:1fr; }
  .campaign-slide .portal-hero-copy { min-height:292px; }
  .campaign-slide .portal-hero-art { height:270px; }
  .writer-paper { top:15px; width:178px; height:210px; padding:20px; left:calc(50% - 90px); }
  .writer-paper h3 { font-size:17px; line-height:1.65; margin:14px 0; }
  .paper-lines { height:35px; margin-bottom:15px; }
  .writer-pencil { top:35px; height:160px; left:calc(50% + 85px); }
  .writer-note { bottom:26px; padding:12px 15px; font-size:10px; left:calc(50% - 116px); }
  .partner-preview { width:240px; left:calc(50% - 120px); top:10px; padding:18px; }
  .partner-preview p { font-size:13px; margin:14px 0; }
  .partner-answer { font-size:10px; }
  .campaign-controls { display:grid; grid-template-columns:1fr; padding:0 16px; }
  .campaign-tabs { gap:8px; justify-content:space-between; }
  .campaign-tabs button { font-size:11px; min-height:47px; white-space:nowrap; }
  .campaign-tabs button span { display:none; }
  .campaign-page { font-size:9px; }
  .campaign-navigation { gap:0; border-top:1px solid #ddd8cc; }
  .campaign-navigation .campaign-page { display:block; margin-right:auto; }
  .campaign-navigation>button { width:44px; height:40px; }
  .portal-promos { grid-template-columns:1fr; gap:12px; margin-top:30px; }
  .portal-promo { padding:20px; }
  .portal-promo strong { font-size:13px; }
  .writing-journey { grid-template-columns:1fr; gap:35px; padding:38px 8px 15px; margin-top:30px; }
  .journey-heading h2 { font-size:28px; }
  .journey-steps h3 { font-size:14px; }
  .portal-faq { grid-template-columns:1fr; gap:28px; padding:25px 20px; }
  .portal-faq h2 { font-size:21px; }
}
@media(prefers-reduced-motion:reduce) { .campaign-track { transition:none; } .portal-promo:hover { transform:none; } }
