:root{color-scheme:light;--color-ink:#211819;--color-ink-soft:#2b2024;--color-muted:#705c5d;--color-muted-soft:#7b6870;--color-paper:#fff8f2;--color-panel:#fffaf7;--color-white:#fff;--color-cream:#ffe9cf;--color-line:#e5d8d1;--color-accent:#c23b5f;--color-accent-bright:#d94b66;--color-accent-dark:#a92e49;--color-coral:#d95f43;--color-danger:#9d2638;--color-success:#216e55;--color-line-soft:rgba(64,33,51,0.16);--color-ink-shadow-soft:rgba(33,24,25,0.08);--color-ink-shadow:rgba(33,24,25,0.28);--color-plum-shadow-soft:rgba(64,33,51,0.18);--color-plum-shadow:rgba(64,33,51,0.20);--color-accent-wash:rgba(194,59,95,0.18);--color-accent-line:rgba(194,59,95,0.22);--color-accent-outline:rgba(194,59,95,0.54);--color-accent-solid:rgba(194,59,95,0.92);--color-white-soft:rgba(255,255,255,0.48);--color-white-panel:rgba(255,255,255,0.86);--color-paper-glass:rgba(255,248,242,0.88);--color-paper-strong:rgba(255,248,242,0.94);--color-paper-fade:rgba(255,248,242,0.74);--color-cream-strong:rgba(255,238,218,0.96);--color-cream-wash:rgba(255,233,207,0.88);--color-coral-wash:rgba(255,216,196,0.72);--ink:var(--color-ink);--muted:var(--color-muted);--paper:var(--color-paper);--cream:var(--color-cream);--coral:var(--color-coral);--rose:var(--color-accent);--plum:#402133;--line:var(--color-line-soft);--shadow:0 24px 70px var(--color-plum-shadow);--admin-bg:#f5f2ef;--admin-panel:var(--color-panel);--admin-ink:var(--color-ink-soft);--admin-muted:var(--color-muted-soft);--admin-line:var(--color-line);--admin-accent:var(--color-accent-bright);--admin-accent-dark:var(--color-accent-dark);--admin-green:var(--color-success);} *{box-sizing:border-box;} html{scroll-behavior:smooth;} body{margin:0;min-width:320px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6;color:var(--ink);background:var(--paper);} img{display:block;max-width:100%;} a{color:inherit;} .site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px clamp(18px,4vw,56px);background:var(--color-paper-glass);border-bottom:1px solid transparent;backdrop-filter:blur(18px);transition:border-color 180ms ease,box-shadow 180ms ease;} .site-header.is-scrolled{border-color:var(--line);box-shadow:0 10px 30px var(--color-ink-shadow-soft);} .brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;min-width:0;} .brand-mark{width:42px;height:42px;flex:0 0 auto;} .brand-mark img{width:100%;height:100%;object-fit:contain;} .brand strong,.brand small{display:block;} .brand strong{font-size:1rem;} .brand small{max-width:34ch;color:var(--muted);font-size:0.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;} .brand:hover strong{color:var(--rose);} .main-nav{display:flex;align-items:center;gap:clamp(12px,2.4vw,28px);color:var(--muted);font-size:0.94rem;font-weight:700;} .main-nav a,.nav-share{text-decoration:none;} .nav-share{border:0;padding:0;color:inherit;background:transparent;font:inherit;cursor:pointer;} .main-nav a:hover,.nav-share:hover{color:var(--rose);} .nav-toggle{display:none;width:44px;height:44px;place-items:center;gap:5px;flex:0 0 auto;border:1px solid var(--line);border-radius:6px;padding:10px;color:var(--plum);background:var(--color-white-soft);cursor:pointer;} .nav-toggle span{display:block;width:20px;height:2px;border-radius:999px;background:currentColor;transition:transform 180ms ease,opacity 180ms ease;} .site-header.is-menu-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);} .site-header.is-menu-open .nav-toggle span:nth-child(2){opacity:0;} .site-header.is-menu-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);} .hero{min-height:calc(100vh - 71px);display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,0.86fr);align-items:center;gap:clamp(28px,6vw,88px);padding:clamp(34px,7vw,86px) clamp(20px,5vw,72px) 48px;background:linear-gradient(115deg,var(--color-cream-strong),var(--color-paper-fade) 52%,var(--color-coral-wash)),url("../../images/background/IMG_9407.jpg") center / cover;} .hero-copy{max-width:720px;} .eyebrow{margin:0 0 12px;color:var(--rose);font-size:0.78rem;font-weight:900;letter-spacing:0;text-transform:uppercase;} h1,h2,h3{margin:0;line-height:1.02;font-family:Georgia,"Times New Roman",serif;font-weight:700;} h1{max-width:9ch;font-size:clamp(3rem,8vw,3.6rem);} h2{font-size:clamp(2.4rem,5vw,3.6rem);} h3{font-size:clamp(1.7rem,3vw,3rem);} .subtitle{max-width:17ch;margin:20px 0 0;color:var(--plum);font-size:clamp(1.35rem,3vw,2.6rem);line-height:1.12;font-family:Georgia,"Times New Roman",serif;} .hero-description,.lead,.rich-copy p,.newsletter-copy p:not(.eyebrow){color:var(--muted);font-size:clamp(1rem,1.35vw,1.15rem);} .hero-description{max-width:66ch;margin:24px 0 0;} .hero-description>:first-child{margin-top:0;} .hero-description>:last-child{margin-bottom:0;} .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;} .button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 18px;border:1px solid var(--plum);border-radius:6px;font-weight:800;text-decoration:none;} .button-primary{color:var(--color-white);background:var(--rose);border-color:var(--rose);} .button-primary:hover{background:var(--plum);border-color:var(--plum);} .button-secondary{color:var(--plum);background:var(--color-white-soft);} .button-secondary:hover{background:var(--color-white);} .book-visual{margin:0;justify-self:center;width:min(430px,82vw);} .book-visual img{width:100%;border-radius:7px;box-shadow:var(--shadow);transform:rotate(2deg);} .reveal{opacity:0;transform:translateY(26px);transition:opacity 700ms ease,transform 700ms ease;transition-delay:var(--reveal-delay,0ms);will-change:opacity,transform;} .reveal.is-visible{opacity:1;transform:translateY(0);} .section-heading{max-width:760px;} .lead{max-width:64ch;margin:0;font-size:clamp(1.16rem,1.8vw,1.6rem);} .detail-list,.highlight-list{display:grid;gap:10px;margin:0;padding:0;list-style:none;} .detail-list li{padding:14px 16px;border-left:4px solid var(--rose);background:var(--paper);color:var(--plum);font-weight:800;} .rich-copy{max-width:820px;margin-inline:auto;} .highlight-list{gap:12px;} .highlight-list li{min-height:64px;display:flex;align-items:center;padding:16px 18px;border:1px solid var(--line);border-radius:7px;background:var(--color-white);color:var(--rose);font-weight:800;} blockquote{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.7rem,2vw,3.6rem);line-height:1.16;} .social-list{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 0;padding:0;list-style:none;} .social-list a{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:9px 13px;border:1px solid var(--line);border-radius:6px;color:var(--plum);background:var(--color-white);font-weight:600;text-decoration:none;} .social-list svg{width:18px;height:18px;flex:0 0 auto;fill:currentColor;} .social-list a:hover{border-color:var(--rose);color:var(--rose);} .message-section{display:grid;min-height:calc(100vh - 71px);padding:clamp(58px,8vw,112px) clamp(20px,5vw,72px);place-items:center;background:linear-gradient(115deg,var(--color-paper-strong),var(--color-cream-wash)),url("../../images/background/IMG_9409.jpg") center / cover;} .message-panel{width:min(760px,100%);padding:clamp(26px,5vw,48px);border:1px solid var(--color-accent-line);border-radius:8px;background:var(--color-white-panel);box-shadow:0 24px 70px var(--color-plum-shadow-soft);backdrop-filter:blur(14px);} .message-panel h1{max-width:12ch;font-size:clamp(2.7rem,7vw,3.6rem);} .message-panel .lead{margin-top:22px;} .newsletter-section{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,920px);justify-content:center;align-items:start;gap:clamp(22px,4vw,34px);padding:clamp(72px,9vw,126px) clamp(28px,7vw,96px);} .newsletter-section::before{content:"";position:absolute;inset:auto 0 0;height:5px;background:linear-gradient(90deg,var(--rose),var(--coral),var(--plum));transform:scaleX(0);transform-origin:left;transition:transform 700ms ease;} .newsletter-section::after{content:"";position:absolute;inset:24px clamp(16px,4vw,54px);z-index:0;border:1px solid var(--color-accent-wash);border-radius:8px;background:linear-gradient(135deg,var(--color-white-soft),var(--color-white-soft)),url("../../images/background/IMG_9405.jpg") center / cover;opacity:0.26;pointer-events:none;} .newsletter-section:focus-within::before,.newsletter-section:has(.newsletter-form.is-sent)::before{transform:scaleX(1);} .newsletter-copy{position:relative;z-index:1;max-width:720px;padding:clamp(10px,2vw,22px) 0;} .newsletter-section h2{margin-bottom:18px;} .newsletter-form{position:relative;z-index:1;display:grid;gap:12px;width:min(560px,100%);padding:clamp(22px,3vw,30px);border:1px solid var(--color-accent-line);border-radius:8px;background:var(--color-white-panel);box-shadow:0 24px 70px var(--color-plum-shadow-soft);backdrop-filter:blur(14px);transition:transform 220ms ease,box-shadow 220ms ease;} .newsletter-form:focus-within{transform:translateY(-3px);box-shadow:0 24px 60px var(--color-plum-shadow-soft);} .newsletter-form label{display:grid;gap:7px;color:var(--plum);font-weight:900;} .newsletter-form input{width:100%;min-height:46px;border:1px solid var(--line);border-radius:6px;padding:11px 12px;color:var(--ink);background:var(--color-white);font:inherit;} .newsletter-status{min-height:22px;margin:0;color:var(--ink);font-weight:800;} .newsletter-status.is-error{color:var(--color-danger);font-weight:1000;} .newsletter-form.is-sent{animation:newsletter-pop 520ms ease;} @keyframes newsletter-pop{0%{transform:scale(1);} 45%{transform:scale(1.025);} 100%{transform:scale(1);}} .faq-section{background:var(--paper);} .faq-list{display:grid;gap:12px;max-width:920px;margin-top:34px;} .faq-list details{border:1px solid var(--line);border-radius:7px;background:var(--color-white);overflow:hidden;} .faq-list summary{cursor:pointer;padding:18px 20px;color:var(--plum);font-weight:900;} .faq-list p{margin:0;padding:0 20px 20px;color:var(--muted);} .site-footer{display:flex;justify-content:space-between;gap:18px;padding:26px clamp(20px,5vw,72px);color:var(--color-white);background:var(--ink);} .site-footer a{text-decoration:none;} .chat-widget{position:fixed;right:clamp(16px,3vw,28px);bottom:clamp(16px,3vw,28px);z-index:40;display:grid;justify-items:end;gap:12px;pointer-events:none;} .chat-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;pointer-events:auto;} .chat-toggle,.scroll-top-toggle,.chat-panel{pointer-events:auto;} .chat-toggle,.scroll-top-toggle{display:inline-flex;align-items:center;gap:9px;min-height:52px;padding:13px 16px;border:1px solid var(--color-white-soft);border-radius:999px;color:var(--color-white);background:var(--plum);box-shadow:0 18px 44px var(--color-ink-shadow);font:inherit;font-weight:900;cursor:pointer;} .scroll-top-toggle{width:52px;justify-content:center;padding:13px;} .scroll-top-toggle[hidden]{display:none;} .chat-toggle svg,.scroll-top-toggle svg{width:22px;height:22px;fill:currentColor;} .chat-toggle:hover,.chat-toggle[aria-expanded="true"],.scroll-top-toggle:hover{background:var(--rose);} .chat-panel{width:min(380px,calc(100vw - 32px));max-height:min(680px,calc(100vh - 104px));display:grid;grid-template-rows:auto minmax(80px,1fr) auto;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--color-white);box-shadow:0 24px 70px var(--color-ink-shadow);} .chat-panel[hidden]{display:none;} .chat-panel-header{display:flex;justify-content:space-between;gap:14px;padding:18px 18px 14px;border-bottom:1px solid var(--line);background:var(--paper);} .chat-panel-header h2{font-size:1.35rem;} .chat-close{display:grid;place-items:center;width:34px;height:34px;flex:0 0 auto;padding:0;border:1px solid var(--line);border-radius:50%;color:var(--plum);background:var(--color-white);font-size:1.35rem;font-family:Arial,sans-serif;line-height:1;cursor:pointer;} .chat-thread{display:grid;align-content:start;gap:10px;padding:16px 18px;overflow-y:auto;background:var(--color-white);} .chat-bubble{margin:0;padding:11px 13px;border-radius:8px;color:var(--plum);background:var(--paper);font-size:0.95rem;} .chat-bubble-user{justify-self:end;color:var(--color-white);background:var(--rose);} .chat-form{display:grid;gap:10px;padding:16px 18px 18px;border-top:1px solid var(--line);background:var(--color-white);} .chat-form label{display:grid;gap:5px;color:var(--muted);font-size:0.82rem;font-weight:800;} .chat-form input,.chat-form textarea{width:100%;border:1px solid var(--line);border-radius:6px;padding:10px 11px;color:var(--ink);background:var(--paper);font:inherit;} .chat-form textarea{resize:vertical;} .chat-status{min-height:20px;margin:0;color:var(--muted);font-size:0.9rem;} .chat-status.is-error{color:var(--rose);} @media (max-width:860px){.site-header{position:static;display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;column-gap:12px;row-gap:0;} .nav-toggle{display:grid;justify-self:end;} .main-nav{grid-column:1 / -1;width:100%;display:grid;align-items:stretch;max-height:0;overflow:hidden;padding:0 10px;border:0 solid var(--line);border-radius:8px;background:var(--color-white-panel);box-shadow:0 16px 36px var(--color-ink-shadow-soft);gap:4px;font-size:0.86rem;opacity:0;transform:translateY(-8px);visibility:hidden;transition:max-height 240ms ease,opacity 180ms ease,transform 180ms ease,visibility 0ms linear 240ms;} .site-header.is-menu-open .main-nav{max-height:260px;margin-top:12px;padding:10px;border-width:1px;opacity:1;transform:translateY(0);visibility:visible;transition-delay:0ms;} .main-nav a,.nav-share{display:block;width:100%;padding:11px 12px;border-radius:6px;text-align:left;} .main-nav a:hover,.nav-share:hover{background:var(--paper);} .hero,.newsletter-section{grid-template-columns:1fr;} .hero{min-height:auto;} .book-visual{width:min(340px,78vw);}} @media (max-width:560px){.brand small{max-width:24ch;} h1{font-size:clamp(2.7rem,14vw,3.6rem);} .hero-actions,.site-footer{flex-direction:column;} .button{width:100%;} .chat-widget{left:12px;right:12px;bottom:12px;} .chat-actions{justify-self:end;} .chat-toggle,.scroll-top-toggle{min-width:52px;padding:13px;} .chat-toggle span{display:none;} .chat-panel{width:100%;max-height:calc(100vh - 88px);} .newsletter-section::after{inset:14px;}} @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;} *,*::before,*::after{transition-duration:0.01ms !important;animation-duration:0.01ms !important;animation-iteration-count:1 !important;} .reveal{opacity:1;transform:none;}}