@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:wght@400;500;600&family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--wine:#860d3e;--berry:#a80b50;--ink:#372331;--muted:#6e5863;--light:#fff7f9;--blush:#fbe5ed;--line:#efd4df}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fffafc;color:var(--ink);font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.65}h1,h2,h3,p,figure{margin-top:0}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.13}h1{font-size:clamp(3.7rem,6.3vw,7.1rem);letter-spacing:-.04em}h2{font-size:clamp(2.7rem,4.6vw,5.3rem);letter-spacing:-.035em}h3{font-size:2rem}h1 em,h2 em{color:var(--wine);font-weight:400}a{color:inherit;text-decoration:none}button,input{font:inherit}.container{width:min(1170px,calc(100% - 52px));margin:auto}.eyebrow{font-size:.73rem;letter-spacing:.24em;font-weight:700;color:var(--berry);margin-bottom:25px}.topbar{background:#fff9fb;border-bottom:1px solid #f3e6ea}.top-inner{height:78px;display:flex;align-items:center;gap:35px;justify-content:space-between}.brand{font-family:'Playfair Display',serif;letter-spacing:.1em;color:var(--wine);font-size:1.04rem;white-space:nowrap}.brand span{font-weight:600}.topbar nav{display:flex;gap:35px;font-size:.83rem}.topbar nav a:hover,.text-link:hover{color:var(--berry)}.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:22px;background:var(--berry);border:1px solid var(--berry);color:#fff;border-radius:99px;min-height:50px;padding:12px 29px;font-size:.9rem;font-weight:700;cursor:pointer;transition:.2s}.nav-cta{min-height:40px;padding:8px 19px}.btn:hover,.nav-cta:hover{background:#7b0737}.hero{background:linear-gradient(135deg,#fff9fa 2%,#fdf0f4 64%,#f6dce5 100%);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;align-items:end;gap:8%;padding-top:85px}.hero-copy{align-self:center;padding:10px 0 90px}.hero h1{color:var(--wine);margin-bottom:25px}.hero h1 em{font-style:normal;color:#bc3b6e}.rule{height:2px;width:65px;background:var(--berry);margin:28px 0}.hero-lead{font-family:'Playfair Display',serif;font-size:1.65rem;color:var(--wine);line-height:1.3;max-width:420px}.hero-desc{color:var(--muted);max-width:450px}.text-link{display:inline-block;font-weight:700;color:var(--wine);margin-top:15px;border-bottom:1px solid var(--wine);padding-bottom:5px}.hero-image{position:relative;display:flex;justify-content:center;margin:0;align-self:end}.hero-image img{width:100%;max-width:420px;height:545px;object-fit:cover;object-position:center 25%;border-radius:230px 230px 0 0;box-shadow:0 25px 85px #8b255021}.hero-image figcaption{position:absolute;bottom:26px;left:30px;color:white;background:#6b0c35d8;padding:10px 16px;font-size:.75rem;letter-spacing:.1em;font-weight:700}.hero-image figcaption span{display:block;letter-spacing:0;font-weight:400}.register-wrap{padding:105px 0;background:#fff}.register-grid{display:grid;grid-template-columns:1fr .9fr;gap:12%;align-items:center}.register-intro>p{color:var(--muted);max-width:430px}.small-note{border-top:1px solid var(--line);margin-top:38px;padding-top:18px;color:var(--wine);font-family:'Playfair Display',serif;font-size:1.3rem}.form-card{background:#fff9fb;border:1px solid #f0d9e1;border-radius:22px;padding:37px;box-shadow:0 26px 65px #7c224012}.form-card h3{color:var(--wine);margin-bottom:20px}.form-card label,.login-box label{font-size:.83rem;font-weight:700;display:block;margin:13px 0 6px}.form-card label span{color:var(--berry)}.form-card label small{color:var(--muted);font-weight:400}.form-card input:not([type=checkbox]),.login-box input,.search-form input{display:block;border:1px solid #ebcfd9;border-radius:8px;padding:13px 14px;background:#fff;width:100%;outline:none;color:var(--ink)}input:focus{border-color:var(--berry)!important;box-shadow:0 0 0 3px #bc286022}.check-row{display:flex!important;align-items:flex-start;gap:10px;font-weight:400!important;line-height:1.45;margin:20px 0!important}.check-row input{margin-top:4px;accent-color:var(--berry)}.check-row span{color:var(--muted)!important}.check-row a{text-decoration:underline}.form-card .btn{width:100%;margin-top:10px}.form-caption{font-size:.73rem;text-align:center;color:var(--muted);margin:13px 0 0}.honeypot{position:absolute;left:-9999px}.notice{padding:12px 15px;border-radius:9px;margin:15px 0;background:#e6f5e9;color:#225a36;font-size:.85rem}.notice.error{background:#fee5eb;color:#992344}.about-book{padding:115px 0;background:#fff5f8}.book-grid{display:grid;grid-template-columns:.8fr 1fr;align-items:center;gap:14%}.book-photo{text-align:center}.book-photo img{width:min(340px,85%);height:auto;box-shadow:23px 23px 55px #5f123747;transform:rotate(-3deg)}.book-content>p,.author-copy>p{color:var(--muted);max-width:550px}.book-points{margin-top:36px;border-top:1px solid var(--line)}.book-points>div{padding:15px 0;border-bottom:1px solid var(--line);display:flex;gap:28px}.book-points b{color:var(--berry)}.author-section{background:#80103c;color:white;overflow:hidden}.author-grid{display:grid;grid-template-columns:1fr .9fr;gap:12%;align-items:end;padding-top:90px}.author-copy{padding-bottom:85px}.author-copy .eyebrow{color:#f7bdcf}.author-copy h2 em{color:#ffc8d9}.author-copy .rule{background:#ffb2cc}.author-copy>p{color:#ffe8ef}.outline-btn{display:inline-flex;border:1px solid #ffcedf;padding:11px 24px;border-radius:50px;margin-top:20px}.outline-btn:hover{background:#ffffff1e}.author-image img{width:100%;max-height:650px;object-fit:cover;object-position:top;border-radius:220px 220px 0 0;display:block}.last-cta{text-align:center;padding:120px 0;background:linear-gradient(160deg,#fff9fb,#f9e1eb)}.last-cta h2{color:var(--wine)}.last-cta p{max-width:470px;margin:0 auto 27px;color:var(--muted)}.btn-inline{width:auto}footer{padding:58px 0;background:#2d1723;color:#f7d7e4}.footer-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:100px}footer p{color:#e5bccc;font-size:.79rem}footer b{font-size:.85rem}.admin-bg{background:#fff8fb;min-height:100vh}.login-box{max-width:460px;margin:8vh auto;background:white;padding:40px;border-radius:20px;box-shadow:0 15px 45px #70203c1c}.login-box h1,.admin-main h1{font-size:2.8rem;color:var(--wine)}.login-box .btn{width:100%;margin-top:24px}.login-box>p{text-align:center;margin-top:22px}.admin-top{background:white;border-bottom:1px solid var(--line)}.admin-top .container{height:72px;display:flex;align-items:center;justify-content:space-between}.admin-top form{margin:0}.admin-main{padding-top:58px;padding-bottom:70px}.dashboard-title{display:flex;justify-content:space-between;align-items:center;gap:20px}.dashboard-title h1{margin-bottom:10px}.search-form{display:flex;align-items:center;gap:12px;margin:20px 0}.search-form input{max-width:430px}.small-btn{background:#862249;color:white;border:0;border-radius:7px;padding:10px 16px;cursor:pointer}.table-scroller{overflow:auto;border-radius:13px;border:1px solid var(--line);background:white}table{border-collapse:collapse;width:100%;min-width:900px;font-size:.84rem}th,td{padding:15px;text-align:left;border-bottom:1px solid #f1e4e9}th{background:#f8e8ee;color:var(--wine);font-size:.76rem}td a{color:var(--berry)}.paging{display:flex;gap:25px;justify-content:flex-end;margin-top:22px}.paging a{color:var(--berry)}@media(max-width:850px){.topbar nav{display:none}.hero-grid{grid-template-columns:1fr 0.8fr;gap:3%}.hero h1{font-size:clamp(3rem,7vw,5rem)}.register-grid{gap:5%}.book-grid{gap:8%}.author-grid{gap:7%}}@media(max-width:640px){.container{width:min(100% - 36px,440px)}.top-inner{height:66px}.brand{font-size:.73rem;letter-spacing:.055em}.nav-cta{font-size:.74rem;min-height:36px;padding:6px 11px}.hero-grid{display:flex;flex-direction:column;padding-top:44px;gap:10px}.hero-copy{padding:0}.hero h1{font-size:clamp(3.3rem,13.7vw,5.2rem);line-height:1.01;margin-bottom:16px}.hero-lead{font-size:1.3rem}.hero-desc{font-size:.87rem}.hero .eyebrow{font-size:.59rem;margin-bottom:17px}.hero .text-link{margin-bottom:12px}.hero-image{width:83%;margin-left:auto;align-self:center}.hero-image img{height:auto;aspect-ratio:4/4.3;object-fit:cover;object-position:top;border-radius:220px 220px 0 0}.hero-image figcaption{bottom:13px;left:10px;font-size:.63rem}.register-wrap,.about-book{padding:66px 0}.register-grid,.book-grid,.author-grid{display:flex;flex-direction:column;gap:28px}.register-intro h2,.book-content h2,.author-copy h2,.last-cta h2{font-size:3.25rem}.register-intro .small-note{margin-top:20px}.form-card{width:100%;padding:25px}.form-card h3{font-size:1.8rem}.book-photo{order:2}.book-content{order:1}.book-photo img{max-width:220px}.author-grid{padding-top:60px;gap:5px}.author-copy{padding-bottom:0}.author-image{width:85%;align-self:center}.author-image img{max-height:450px}.last-cta{padding:77px 0}.footer-grid{grid-template-columns:1fr;gap:15px}.dashboard-title{align-items:start;flex-direction:column}.search-form{flex-wrap:wrap}.login-box{margin:6vh 18px}}
/* Editorial landing: scoped to preserve the administrator interface. */
.landing{background:#fffaf7;font-size:15px;line-height:1.5}.landing .container{width:min(1180px,calc(100% - 56px))}.landing .eyebrow{font-size:10px;letter-spacing:.17em;margin-bottom:16px}.landing .rule{height:1px;width:58px;margin:18px 0}.landing .reasons{padding:35px 0;background:linear-gradient(120deg,#fffaf7,#fff0f5)}.landing .reasons-grid{display:grid;grid-template-columns:repeat(3,1fr)}.landing .reasons article{text-align:center;padding:0 42px}.landing .reasons article+article{border-left:1px solid var(--line)}.landing .reason-icon{width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:#fbdde7;color:var(--berry);font:26px Georgia,serif;margin:0 auto 12px}.landing .reasons h2{font-size:25px;letter-spacing:-.035em;color:var(--wine);margin-bottom:10px}.landing .reasons p{font-size:13px;line-height:1.45;max-width:250px;margin:0 auto}.landing .author-section{background:radial-gradient(ellipse at 22% 40%,#d35b8580,transparent 55%),linear-gradient(110deg,#a50a48,#850331)}.landing .author-grid{grid-template-columns:.9fr 1.1fr;gap:65px;padding-top:0;align-items:center}.landing .author-copy{grid-column:2;grid-row:1;padding:40px 0;max-width:510px}.landing .author-copy h2{font-size:42px;text-transform:uppercase;letter-spacing:-.045em;margin-bottom:18px}.landing .author-copy .rule{display:none}.landing .author-copy p{font-size:14px;line-height:1.5;margin-bottom:15px}.landing .author-copy .eyebrow{font-size:10px;margin-bottom:14px}.landing .author-image{grid-column:1;grid-row:1;padding-top:25px;align-self:end}.landing .author-image img{max-width:365px;height:400px;object-position:center 25%;margin:auto;border-radius:170px 170px 0 0}.landing .outline-btn{font-size:13px;margin-top:3px;padding:9px 24px;gap:25px}.landing .last-cta{text-align:left;padding:38px 0;background:radial-gradient(ellipse at 95% 80%,#f6b6ce80,transparent 55%),#fff0f4}.landing .closing-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px;align-items:center}.landing .book-photo img{width:200px;height:auto;transform:rotate(-5deg);box-shadow:10px 15px 23px #6b143c30}.landing .closing-copy{max-width:470px}.landing .last-cta h2{font-size:43px;letter-spacing:-.045em;text-transform:uppercase;margin-bottom:18px}.landing .last-cta h2 em{font-style:normal}.landing .last-cta p{font-size:14px;line-height:1.5;margin:0 0 22px}.landing .last-cta .eyebrow{font-size:9px;margin-bottom:14px}.landing .btn{font-weight:500;transition:background .2s,box-shadow .2s}.landing .btn:hover{box-shadow:0 5px 15px #89063818}.landing footer{background:#fffaf7;color:var(--muted);padding:30px 0}.landing footer p{color:var(--muted);font-size:11px;margin:8px 0 0}.landing footer strong,.landing footer b{font-size:11px}.landing .footer-grid{gap:60px}.menu-toggle{border:0;background:transparent;color:var(--wine);font-size:22px;cursor:pointer;padding:4px}a:focus-visible,button:focus-visible{outline:3px solid #bc4d7b;outline-offset:5px}.btn:disabled{opacity:.7;cursor:wait}
@media(min-width:761px){.landing .menu-toggle{display:none}}
@media(max-width:1000px) and (min-width:761px){.landing .author-grid,.landing .closing-grid{gap:35px}.landing .author-copy h2{font-size:35px}.landing .reasons article{padding:0 22px}}
@media(max-width:760px){.landing .container{width:calc(100% - 40px);max-width:560px}.landing .menu-toggle:not([hidden]){display:block;order:3}.landing.js-ready .topbar nav:not(.is-open){display:none}.landing .reasons{padding:10px 0}.landing .reasons-grid{grid-template-columns:1fr}.landing .reasons article{display:grid;grid-template-columns:62px 1fr;gap:0 18px;text-align:left;padding:25px 0}.landing .reasons article+article{border-left:0;border-top:1px solid var(--line)}.landing .reason-icon{grid-row:1/3;width:62px;height:62px;margin:0}.landing .reasons h2{font-size:25px;margin-bottom:8px}.landing .reasons h2 br{display:none}.landing .reasons p{max-width:none;margin:0;font-size:14px}.landing .author-grid{display:flex;flex-direction:column;gap:0;padding-top:0}.landing .author-copy{padding:35px 0 25px}.landing .author-copy h2{font-size:36px}.landing .author-copy p{font-size:14px}.landing .author-image{width:100%;padding:0}.landing .author-image img{height:350px;max-width:350px;margin:auto}.landing .outline-btn{min-height:44px;font-size:14px}.landing .closing-grid{grid-template-columns:1fr;gap:30px}.landing .book-photo{order:0}.landing .book-photo img{width:185px}.landing .closing-copy{width:100%;max-width:none}.landing .last-cta h2{font-size:37px}.landing .last-cta .btn{width:100%;font-size:14px}.landing .footer-grid{grid-template-columns:1fr;gap:18px}}
@media(max-width:360px){.landing .container{width:calc(100% - 32px)}.landing .author-copy h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
.landing .menu-toggle span{display:block;width:20px;height:2px;background:currentColor;margin:4px 0}.skip-link{position:absolute;top:-80px;left:16px;background:white;padding:12px;z-index:10}.skip-link:focus{top:12px}
.landing .reason-icon svg{width:34px;height:34px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* Shared editorial finishes for the remaining sections. */
.landing {
  --editorial-shadow: 0 16px 44px rgba(109, 30, 65, .10);
  --editorial-highlight: rgba(255, 255, 255, .76);
}

.landing .reasons {
  background:
    radial-gradient(ellipse at 50% 0%, rgba(249, 216, 229, .38), transparent 73%),
    linear-gradient(115deg, #fffaf5, #fdf0f4);
}
.landing .reason-icon {
  background: linear-gradient(145deg, rgba(255, 238, 245, .97), rgba(246, 202, 219, .74));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .85), 0 6px 18px rgba(131, 36, 74, .045);
}

.landing .author-section {
  background:
    radial-gradient(ellipse at 22% 46%, rgba(255, 187, 207, .29) 0%, rgba(220, 103, 149, .12) 31%, transparent 58%),
    radial-gradient(ellipse at 3% 0%, rgba(235, 121, 167, .20), transparent 57%),
    linear-gradient(115deg, #b01a59 0%, #940d44 47%, #620e32 100%);
  box-shadow: inset 0 1px 0 rgba(255, 224, 235, .14), inset 0 -1px 0 rgba(69, 6, 33, .12);
}
.landing .author-image img {
  box-shadow: 0 12px 40px rgba(55, 4, 27, .20), 0 0 0 1px rgba(255, 229, 239, .20);
}
.landing .outline-btn {
  background: rgba(255, 247, 251, .035);
  border-color: rgba(255, 225, 237, .80);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
  transition: background .2s, box-shadow .2s;
}
.landing .outline-btn:hover {
  background: rgba(255, 241, 247, .12);
  box-shadow: 0 5px 18px rgba(54, 3, 24, .10);
}

.landing .last-cta {
  background:
    radial-gradient(ellipse at 18% 48%, rgba(255, 252, 244, .85), transparent 65%),
    radial-gradient(ellipse at 96% 90%, rgba(222, 145, 177, .23), transparent 64%),
    linear-gradient(125deg, #fff4ef, #f6dce6);
}
.landing .book-photo img {
  box-shadow: 9px 18px 32px rgba(107, 27, 60, .16), 2px 4px 9px rgba(107, 27, 60, .08);
}
.landing footer { background: linear-gradient(110deg, #fffaf5, #fdf4f5); }

@media (max-width: 760px) {
  .landing .author-section {
    background:
      radial-gradient(ellipse at 50% 88%, rgba(255, 187, 207, .25), transparent 59%),
      linear-gradient(155deg, #920e43 0%, #800b39 45%, #a71a53 100%);
  }
  .landing .author-image img { box-shadow: 0 8px 24px rgba(55, 4, 27, .17), 0 0 0 1px rgba(255, 229, 239, .18); }
}
.landing .author-section {
  background:
    radial-gradient(ellipse at 22% 35%, rgba(255, 200, 216, .33), rgba(220, 103, 149, .10) 35%, transparent 61%),
    linear-gradient(112deg, #a71c53 0%, #9c1049 46%, #74092f 100%);
}
.landing .last-cta {
  background:
    radial-gradient(ellipse at 20% 28%, rgba(255, 253, 246, .86), transparent 64%),
    radial-gradient(ellipse at 97% 97%, rgba(237, 161, 191, .26), transparent 63%),
    linear-gradient(120deg, #fff1f3, #f9dfe8);
}
@media (min-width: 761px) {
  .landing .author-copy .eyebrow {
    display: flex;
    align-items: center;
    gap: 24px;
  }
  .landing .author-copy .eyebrow::after {
    content: "";
    height: 1px;
    flex: 1;
    background: rgba(255, 223, 235, .46);
  }
}
@media (max-width: 760px) {
  .landing .author-section {
    background:
      radial-gradient(ellipse at 50% 88%, rgba(255, 187, 207, .27), transparent 59%),
      linear-gradient(155deg, #930e43 0%, #790a35 46%, #a71a53 100%);
  }
}

/* Reference composition: one coordinated hero, with the original portrait. */
.landing .topbar {
  background: linear-gradient(100deg, #fff3f0, #fce6ed 62%, #f9dde7);
  border-bottom: 1px solid rgba(157, 20, 73, .07);
}
.landing .top-inner {
  width: 88%;
  max-width: 1760px;
  height: 70px;
  gap: 26px;
}
.landing .brand {
  font-family: 'Bodoni Moda', Georgia, serif;
  font-size: clamp(14px, 1.35vw, 22px);
  letter-spacing: .10em;
  white-space: nowrap;
}
.landing .topbar nav { display: flex; gap: 22px; font-size: 13px; }
.landing .topbar nav a + a { padding-left: 22px; border-left: 1px solid rgba(168, 11, 80, .15); }
.landing .nav-cta {
  min-height: 38px;
  padding: 8px 25px;
  font-size: 13px;
  font-weight: 500;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16);
}
.landing .hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 25% 30%, rgba(255, 251, 244, .85), transparent 59%),
    radial-gradient(ellipse at 55% 23%, rgba(255, 222, 230, .46), transparent 50%),
    linear-gradient(108deg, #fbd9e3 0%, #f9e4e9 35%, #eaaec5 69%, #cf648f 100%);
}
.landing .hero::before, .landing .hero::after { content: none; }
.landing .hero-grid {
  position: relative;
  width: 92%;
  max-width: 1760px;
  display: grid;
  grid-template-columns: 35fr 31fr 34fr;
  gap: 0;
  align-items: stretch;
  min-height: clamp(560px, 40vw, 660px);
  padding: 22px 0 0;
}
.landing .hero-copy {
  position: relative;
  z-index: 2;
  align-self: start;
  padding: 6px 12px 28px 0;
}
.landing .hero .eyebrow {
  font-size: clamp(10px, .85vw, 14px);
  font-weight: 500;
  letter-spacing: .17em;
  margin: 0 0 15px;
  color: #c84c7e;
}
.landing .hero h1 {
  font-family: 'Bodoni Moda', 'Times New Roman', serif;
  font-size: clamp(46px, 4.2vw, 68px);
  font-weight: 500;
  line-height: .97;
  letter-spacing: -.055em;
  text-transform: uppercase;
  color: #8d0037;
  margin: 0;
}
.landing .hero h1 span { display: block; white-space: nowrap; }
.landing .hero h1 .title-small { font-size: .78em; line-height: 1.06; margin-top: 2px; letter-spacing: -.055em; }
.landing .hero h1 .title-woman { font-size: 1.90em; line-height: .98; letter-spacing: -.07em; }
.landing .hero .rule { width: 80px; height: 1px; margin: 20px 0 15px; background: #a80b50; }
.landing .hero-lead {
  font-family: 'Bodoni Moda', Georgia, serif;
  font-size: clamp(22px, 1.75vw, 29px);
  line-height: 1.16;
  color: #8d0037;
  max-width: clamp(330px, 27vw, 450px);
  margin: 0;
}

.landing .hero-image figcaption,
.landing .form-card form > label:not(.check-row) {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.landing .form-card {
  position: relative;
  z-index: 3;
  align-self: start;
  min-width: 0;
  width: 100%;
  margin: 0 0 24px;
  padding: clamp(23px, 1.8vw, 32px);
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 19px;
  background: rgba(255, 247, 250, .96);
  box-shadow: 0 12px 34px rgba(113, 26, 60, .10), inset 0 1px 0 rgba(255, 255, 255, .65);
  scroll-margin-top: 20px;
}
@supports ((backdrop-filter: blur(8px)) or (-webkit-backdrop-filter: blur(8px))) {
  .landing .form-card {
    background: rgba(255, 248, 251, .87);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
  }
}
.landing .form-card h2 {
  font-family: 'Bodoni Moda', Georgia, serif;
  font-size: clamp(29px, 2.55vw, 43px);
  line-height: 1.05;
  font-weight: 600;
  letter-spacing: -.055em;
  color: #8d0037;
  margin: 0 0 9px;
}
.landing .form-intro { font-size: 13px; line-height: 1.35; margin: 0 0 10px; }
.landing .form-card form > input:not([type=hidden]) {
  width: 100%;
  height: 40px;
  margin: 6px 0 0;
  padding: 10px 13px 10px 41px;
  font-size: 14px;
  color: var(--ink);
  border: 1px solid rgba(176, 67, 112, .21);
  border-radius: 8px;
  background-color: rgba(255, 252, 253, .96);
  background-repeat: no-repeat;
  background-position: 14px center;
  background-size: 17px 17px;
  box-shadow: none;
}
.landing .form-card #nombre { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235b1640' stroke-width='1.8'%3E%3Ccircle cx='12' cy='7' r='3.5'/%3E%3Cpath d='M4 21v-3a8 8 0 0 1 16 0v3Z'/%3E%3C/svg%3E"); }
.landing .form-card #correo { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235b1640' stroke-width='1.8'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m2 5 10 8L22 5M2 19l7-7m13 7-7-7'/%3E%3C/svg%3E"); }
.landing .form-card #telefono { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235b1640' stroke-width='1.8'%3E%3Cpath d='M21 11.5a9 9 0 0 1-13.5 8L3 21l1.5-4.5A9 9 0 1 1 21 11.5Z'/%3E%3Cpath d='M8 7c0 5 3 8 8 9l1-3-3-1-1 1-3-3 1-1-1-3Z'/%3E%3C/svg%3E"); }
.landing .form-card #ciudad { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235b1640' stroke-width='1.8'%3E%3Cpath d='M20 10c0 6-8 12-8 12S4 16 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E"); }
.landing .form-card input::placeholder { color: #84717e; opacity: 1; font-size: 13px; }
.landing .form-card input:not([type=checkbox]):focus { border-color: var(--berry); box-shadow: 0 0 0 3px rgba(168, 11, 80, .13); }
.landing .check-row { display: flex; align-items: flex-start; gap: 8px; font-size: 10px!important; line-height: 1.3; font-weight: 400!important; margin: 9px 0!important; }
.landing .check-row input { flex-shrink: 0; margin: 2px 0 0; accent-color: var(--berry); }
.landing .form-card .btn { min-height: 46px; width: 100%; margin: 0; padding: 11px 14px; gap: 14px; font-size: 15px; font-weight: 500; }
.landing .form-caption { font-size: 9px; line-height: 1.4; text-align: center; color: var(--muted); margin: 8px 0 0; }
.landing .privacy-note { font-size: 10px; line-height: 1.4; color: var(--muted); margin: 10px 0 0; padding: 0; border: 0; }

@media (min-width: 1101px) {
  .landing .reasons article {
    display: grid;
    grid-template-columns: 65px 1fr;
    gap: 0 20px;
    text-align: left;
    padding: 0 26px;
  }
  .landing .reason-icon { grid-row: 1 / 3; margin: 0; }
  .landing .reasons p { margin: 0; }
}
@media (min-width: 761px) and (max-width: 1100px) {
  .landing .top-inner { width: 94%; gap: 18px; }
  .landing .brand { font-size: 13px; }
  .landing .topbar nav { gap: 12px; font-size: 12px; }
  .landing .topbar nav a + a { padding-left: 12px; }
  .landing .hero-grid { grid-template-columns: 1.1fr 1fr; padding-top: 24px; min-height: 0; row-gap: 24px; }
  .landing .hero-copy { grid-column: 1; grid-row: 1; }
  .landing .hero h1 { font-size: clamp(43px, 5.7vw, 60px); }
  .landing .form-card { grid-column: 1 / -1; grid-row: 2; max-width: 640px; justify-self: center; }
  .landing .form-card h2 { font-size: 34px; }
}
@media (max-width: 760px) {
  .landing .top-inner { width: calc(100% - 32px); min-height: 68px; height: auto; flex-wrap: wrap; gap: 10px; padding-block: 12px; }
  .landing .brand { white-space: normal; font-size: 11px; letter-spacing: .07em; max-width: 180px; margin-right: auto; }
  .landing .nav-cta { min-height: 34px; padding: 7px 12px; font-size: 11px; }
  .landing .topbar nav { display: flex; order: 4; width: 100%; padding-top: 8px; justify-content: center; font-size: 13px; gap: 18px; }
  .landing.js-ready .topbar nav:not(.is-open) { display: none; }
  .landing .topbar nav a + a { border: 0; padding-left: 0; }
  .landing .hero-grid { display: flex; flex-direction: column; width: calc(100% - 36px); max-width: 560px; min-height: 0; gap: 18px; padding: 25px 0; }
  .landing .hero-copy { padding: 0; width: 100%; }
  .landing .hero .eyebrow { font-size: 9px; margin-bottom: 14px; }
  .landing .hero h1 { font-size: clamp(36px, 8.9vw, 52px); line-height: 1; }
  .landing .hero h1 .title-woman { font-size: 1.8em; }
  .landing .hero .rule { width: 60px; margin: 16px 0 13px; }
  .landing .hero-lead { font-size: 24px; max-width: 360px; }
  .landing .form-card { padding: 24px; margin: 0; width: 100%; border-radius: 19px; }
  .landing .form-card h2 { font-size: 31px; }
  .landing .form-intro { font-size: 14px; }
  .landing .form-card form > input:not([type=hidden]) { height: 46px; font-size: 16px; margin-top: 9px; }
  .landing .form-card input::placeholder { font-size: 14px; }
  .landing .check-row { font-size: 11px!important; margin: 15px 0!important; }
  .landing .form-caption, .landing .privacy-note { font-size: 11px; }
  .landing .hero { background: radial-gradient(ellipse at 15% 12%, rgba(255, 253, 246, .8), transparent 60%), linear-gradient(155deg, #fff0ef, #f7dce6 55%, #e9b6cc); }
}
@media (max-width: 360px) {
  .landing .brand { max-width: 135px; font-size: 10px; }
  .landing .nav-cta { padding: 7px 10px; font-size: 10px; }
  .landing .hero h1 { font-size: 34px; }
  .landing .form-card { padding: 19px; }
  .landing .form-card h2 { font-size: 28px; }
}
/* Corrections found in the rendered mobile verification. */
@media (max-width: 760px) {
  .landing .top-inner { gap: 8px; }
  .landing .brand { flex: 1 1 0; min-width: 0; max-width: none; font-size: 10px; }
  .landing .nav-cta { flex: 0 0 auto; gap: 7px; padding: 7px 10px; font-size: 10px; }
  .landing .nav-cta span { display: none; }
  .landing .menu-toggle { flex: 0 0 28px; }
  .landing .reasons h2 br { display: block; }
}

/* Supplied panoramic artwork: reserve the right side for the registration card. */
.landing .hero {
  background: linear-gradient(90deg, #fff3ee 0%, #f3d6d1 46%, #d9a4a8 82%);
}
.landing .hero-grid { z-index: 1; }
.landing .hero-copy { grid-column: 1; }
.landing .hero-lead { max-width: clamp(300px, 24vw, 400px); }
.landing .form-card { grid-column: 3; }
.landing .hero-image {
  position: absolute;
  inset: 0 auto 0 clamp(12%, calc(12% + (100vw - 1440px) * .18), 17%);
  display: block;
  z-index: 0;
  width: auto;
  height: 100%;
  aspect-ratio: 1672 / 941;
  align-self: stretch;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.landing .hero-image img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  max-width: none;
  max-height: none;
  aspect-ratio: auto;
  object-fit: cover;
  object-position: center;
  transform: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  -webkit-mask-image: none;
  mask-image: none;
}
/* Blend only the empty right edge of the artwork into the surrounding background. */
.landing .hero-image::after {
  content: "";
  position: absolute;
  inset: 0 0 0 auto;
  width: 64px;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, #d9a4a8);
}
@media (max-width: 1100px) {
  .landing .hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
    padding: 25px 18px;
    background: #fff3f0;
  }
  .landing .hero-grid { display: contents; }
  .landing .hero-copy {
    grid-column: 1;
    grid-row: 1;
    width: 100%;
    max-width: 560px;
    justify-self: center;
    padding: 0;
  }
  .landing .hero-lead { max-width: 100%; }
  .landing .hero-image {
    position: relative;
    grid-column: 1;
    grid-row: 2;
    inset: auto;
    width: calc(100% + 36px);
    height: clamp(340px, 55vw, 520px);
    min-height: 0;
    margin: 0 -18px;
    overflow: hidden;
    z-index: 0;
  }
  .landing .hero-image img { object-position: center; }
  .landing .hero-image::before, .landing .hero-image::after { content: none; }
  .landing .form-card {
    grid-column: 1;
    grid-row: 3;
    width: 100%;
    max-width: 560px;
    justify-self: center;
    margin: 0;
  }
}
@media (max-width: 760px) {
  .landing .hero-image { height: auto; aspect-ratio: 1122 / 1402; }
  .landing .hero-image img { object-fit: contain; object-position: center; }
  .landing .hero-lead { max-width: 360px; }
}
/* Art direction: choose the portrait source on phones, without enlarging a landscape crop. */
.landing .hero-image picture { display: block; width: 100%; height: 100%; }
@media (min-width: 1101px) {
  .landing .hero-image::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 90px;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(90deg, #fff3ee, transparent);
  }
}

/* Mobile registration shortcut; reserve space so footer content stays reachable. */
.landing .mobile-copy-cta { display: none; }
.landing .mobile-copy-cta[hidden] { display: none; }
@media (max-width: 760px) {
  .landing.has-mobile-copy-cta {
    padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px));
  }
  .landing .mobile-copy-cta:not([hidden]) {
    position: fixed;
    z-index: 50;
    left: 16px;
    right: 16px;
    bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    min-height: 54px;
    padding: 13px 24px;
    border: 1px solid rgba(255, 255, 255, .42);
    border-radius: 999px;
    background: linear-gradient(115deg, #ba0053, #8d003b);
    color: #fff;
    box-shadow: 0 8px 26px rgba(104, 8, 49, .30), inset 0 1px 0 rgba(255, 255, 255, .18);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.35;
    text-align: center;
    text-decoration: none;
    transition: box-shadow .2s;
  }
  .landing .mobile-copy-cta:hover {
    box-shadow: 0 10px 30px rgba(104, 8, 49, .38), inset 0 1px 0 rgba(255, 255, 255, .18);
  }
  .landing .mobile-copy-cta span { font-size: 22px; line-height: 1; }
}
