:root{--midnight:#082956;--blue:#174c83;--powder:#8db8ce;--cream:#f7f4ed;--paper:#fffdf8;--beige:#e7d9bb;--gold:#f4bc63;--sage:#7d9a83;--ink:#16344f;--muted:#596f7f;--line:#dce5e5;--shadow:0 18px 60px rgba(8,41,86,.10)}

    *{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 'DM Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
body.modal-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{cursor:pointer}
img{max-width:100%;display:block}
h1,h2,h3,.serif{font-family:'DM Serif Display',Georgia,serif;font-weight:400;letter-spacing:-.03em}
h1,h2,h3,p{margin-top:0}
h2{font-size:clamp(35px,4.6vw,64px);line-height:1.09}
h3{font-size:27px;line-height:1.16}
.container{width:min(1200px,calc(100% - 52px));margin-inline:auto}
.eyebrow{font-size:11px;letter-spacing:.19em;text-transform:uppercase;font-weight:800}
.eyebrow.gold{color:var(--gold)}
.eyebrow.blue{color:var(--blue)}
.eyebrow.sage{color:#4b6b5b}
.fine{font-size:13px;color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;border:0;min-height:52px;padding:14px 23px;border-radius:5px;font-weight:800;font-size:13px;letter-spacing:.025em;transition:transform .2s,background .2s,box-shadow .2s}
.btn:hover{transform:translateY(-2px)}
.btn-gold{background:var(--gold);color:var(--midnight)}
.btn-gold:hover{background:#ffd088;box-shadow:0 12px 25px rgba(244,188,99,.23)}
.btn-outline{border:1px solid rgba(255,255,255,.55);color:white;background:transparent}
.btn-outline:hover{background:rgba(255,255,255,.1)}
.btn-blue{background:var(--midnight);color:white}
.btn-cream{background:var(--paper);color:var(--midnight)}
.arrow{font-size:19px;font-weight:400;line-height:1}
.accent-rule{width:55px;height:3px;background:var(--gold);margin:26px 0}
.topstrip{background:#051e40;color:#d2e1ed;text-align:center;padding:8px 16px;font-size:11px;letter-spacing:.1em;font-weight:700}
.topstrip span{color:var(--gold)}

    .cafe-header{position:relative;z-index:10;background:var(--midnight);color:white;border-bottom:1px solid rgba(255,255,255,.13)}
.nav{height:86px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.brand{display:inline-flex;align-items:center;gap:12px;white-space:nowrap}
.brand img{width:55px;height:55px;object-fit:contain}
.brand-text{font-family:'DM Serif Display',Georgia,serif;font-size:25px;letter-spacing:-.03em}
.navlinks{display:flex;align-items:center;gap:31px}
.navlinks a:not(.btn){font-size:12px;font-weight:700;color:#e4edf5;transition:color .2s}
.navlinks a:hover{color:var(--gold)}
.navlinks .btn{min-height:39px;padding:10px 17px}
.menu-btn{display:none;background:none;border:1px solid #7595b6;color:white;padding:8px 13px;border-radius:4px}

    .hero{background:var(--midnight);color:white;position:relative;overflow:hidden}
.hero:before{content:'';position:absolute;left:-150px;top:30px;width:550px;height:550px;border-radius:50%;background:radial-gradient(circle,rgba(53,111,166,.35),transparent 66%);pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1fr 1.02fr;min-height:608px;align-items:center;position:relative}
.hero-copy{padding:70px 58px 80px 0;position:relative;z-index:1}
.hero-copy h1{font-size:clamp(57px,6.6vw,97px);line-height:.99;max-width:680px;margin:27px 0}
.hero-copy h1 em{color:var(--gold);font-style:italic}
.hero-copy>p{font-size:17px;color:#d2e1ed;line-height:1.8;max-width:440px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:31px}
.hero-trust{margin-top:42px;display:flex;align-items:center;gap:14px;color:#b3cde1;font-size:12px}
.hero-trust .star{color:var(--gold);font-size:24px}
.hero-visual{height:100%;min-height:608px;position:relative;margin-right:calc((min(1200px,100vw - 52px) - 100vw)/2)}
.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:55% center;position:absolute;inset:0}
.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--midnight) 0,rgba(8,41,86,.27) 22%,transparent 60%)}
.hero-caption{position:absolute;right:38px;bottom:35px;z-index:1;background:rgba(6,31,64,.75);border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(10px);padding:14px 17px;color:white;font-size:11px;letter-spacing:.1em;text-transform:uppercase;line-height:1.5;max-width:220px}

    .promise{background:var(--paper);border-bottom:1px solid #ece8df}
.promise .container{display:grid;grid-template-columns:repeat(3,1fr);padding-block:29px;gap:24px}
.promise-item{display:flex;align-items:center;gap:16px;border-right:1px solid #e6e6e0;padding-right:18px}
.promise-item:last-child{border:0}
.promise-icon{font-family:Georgia,serif;flex:none;color:var(--blue);font-size:32px}
.promise-item strong{display:block;font-size:13px;color:var(--midnight)}
.promise-item span{display:block;font-size:12px;color:var(--muted)}

    section.section{padding:104px 0}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:42px}
.section-heading h2{margin:13px 0 0}
.section-heading p{max-width:370px;color:var(--muted);font-size:14px;margin:0 0 7px}
.featured{display:grid;grid-template-columns:1.02fr 1fr;background:#fff;box-shadow:var(--shadow);border:1px solid #e9e7df;min-height:475px;overflow:hidden}
.feature-image{min-height:475px;position:relative;overflow:hidden;background:var(--midnight)}
.feature-image img{width:100%;height:100%;object-fit:cover;object-position:64% center;position:absolute;inset:0;transition:transform .5s}
.featured:hover .feature-image img{transform:scale(1.035)}
.feature-tag{position:absolute;top:24px;left:24px;color:var(--midnight);background:var(--gold);font-size:10px;font-weight:800;letter-spacing:.14em;padding:10px 14px;text-transform:uppercase}
.feature-copy{padding:clamp(30px,5vw,76px);display:flex;flex-direction:column;justify-content:center}
.feature-copy h3{font-size:clamp(37px,4vw,57px);margin:16px 0 22px}
.feature-copy>p{color:#647887;font-size:15px;line-height:1.85}
.meta{display:flex;gap:20px;flex-wrap:wrap;font-size:11px;color:#586f7e;font-weight:800;letter-spacing:.07em;text-transform:uppercase;margin:24px 0 32px}
.meta span:before{content:'✦';color:var(--sage);margin-right:8px}
.feature-copy .btn{align-self:flex-start}
.feature-note{font-size:11px;color:#7e939a;margin-top:16px}

    .library-intro{margin-top:77px}
.library-intro h2{font-size:clamp(34px,4vw,52px)}
.library-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:32px 0 29px}
.chip{border:1px solid #cedcd9;background:transparent;color:#477083;padding:10px 17px;font-weight:700;font-size:12px;border-radius:100px}
.chip.active,.chip:hover{background:var(--midnight);color:white;border-color:var(--midnight)}
.search{margin-left:auto;position:relative}
.search input{width:240px;background:white;border:1px solid #d6e0df;border-radius:100px;padding:10px 16px 10px 35px;font-size:12px;outline-color:var(--powder)}
.search:before{content:'⌕';position:absolute;left:13px;top:1px;font-size:25px;color:#668798}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.product{background:#fff;border:1px solid #e8e6de;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.product-art{height:249px;background:#143d69;position:relative;overflow:hidden}
.product-art img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.product:hover .product-art img{transform:scale(1.04)}
.product-art .number{position:absolute;top:18px;left:18px;font-size:10px;color:white;letter-spacing:.16em;font-weight:800;background:rgba(8,41,86,.8);padding:7px 11px}
.product-body{padding:28px;display:flex;flex-direction:column;flex:1}
.product-body h3{font-size:29px;margin:13px 0}
.product-body p{font-size:13px;color:#5f727e;line-height:1.75;flex:1}
.product-foot{border-top:1px solid #e7ebe8;padding-top:20px;margin-top:20px;display:flex;justify-content:space-between;align-items:center}
.product-foot a,.product-foot button{font-size:12px;font-weight:800;color:var(--blue);border:0;background:none;padding:0;text-decoration:underline;text-underline-offset:5px}
.price{font-weight:800;color:var(--sage);font-size:11px;letter-spacing:.1em;text-transform:uppercase}




.empty{display:none;text-align:center;padding:40px;color:var(--muted)}

    .how{background:#e9efe9;padding:99px 0}
.how .intro{max-width:690px;text-align:center;margin:0 auto 65px}
.how .intro h2{margin:12px 0 20px}
.how .intro p{color:#546b70}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}
.step{position:relative;text-align:center}
.step .num{width:68px;height:68px;background:var(--midnight);color:var(--gold);border-radius:50%;display:grid;place-items:center;font:italic 31px Georgia,serif;margin:0 auto 22px}
.step:not(:last-child):after{content:'··············';letter-spacing:6px;position:absolute;top:15px;left:calc(50% + 65px);color:#a2b5b2;font-size:19px;width:calc(100% - 130px);overflow:hidden;white-space:nowrap}
.step h3{font-size:27px;margin-bottom:12px}
.step p{font-size:14px;color:#546b70;max-width:260px;margin:0 auto}

    .quote{background:var(--midnight);color:white;padding:104px 0;position:relative;overflow:hidden}
.quote:after{content:'✦';position:absolute;right:2%;bottom:-205px;font-size:500px;line-height:1;color:rgba(244,188,99,.055);pointer-events:none}
.quote .container{position:relative;z-index:1;max-width:960px;text-align:center}
.quote .mark{font:italic 80px Georgia,serif;color:var(--gold);height:68px}
.quote blockquote{font:clamp(29px,4.4vw,54px)/1.27 'DM Serif Display',Georgia,serif;margin:15px auto 27px;max-width:850px;letter-spacing:-.02em}
.quote blockquote em{color:var(--gold)}
.quote .credit{color:#afc4d4;font-size:13px;letter-spacing:.09em}

    .about{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.about-art{min-height:510px;position:relative;background:linear-gradient(135deg,#dbe7e6,#abc7d1);overflow:hidden;display:flex;align-items:center;justify-content:center}
.about-art:before{content:'';position:absolute;width:370px;height:370px;border:1px solid rgba(255,255,255,.8);border-radius:50%}
.about-art:after{content:'';position:absolute;width:290px;height:290px;border:1px solid rgba(255,255,255,.6);border-radius:50%}
.about-art img{width:225px;position:relative;z-index:1;filter:drop-shadow(0 18px 20px rgba(8,41,86,.18))}
.about-art .float{position:absolute;bottom:31px;left:31px;background:var(--paper);padding:15px 20px;font:italic 19px Georgia,serif;color:var(--blue);z-index:2;box-shadow:var(--shadow)}
.about-copy h2{margin:17px 0 25px}
.about-copy p{color:#586e7b;max-width:490px;font-size:15px}
.about-copy .btn{margin-top:20px}

    .invite{background:var(--beige);padding:85px 0}
.invite-grid{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:60px}
.invite h2{margin:12px 0 16px;font-size:clamp(37px,4.5vw,59px)}
.invite p{color:#455e70;max-width:490px}
.invite .signup-box{background:#fffdf9;padding:30px;box-shadow:0 12px 45px rgba(8,41,86,.08)}
.signup-box label{font-size:12px;font-weight:800;color:var(--midnight)}



.signup-box .fine{margin:10px 0 0;font-size:11px}


    .cafe-footer{background:#061e3e;color:#c1d2de;padding:65px 0 25px}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:70px}
.footer-grid .brand{color:white}
.footer-grid p{font-size:13px;max-width:310px;margin:20px 0;color:#9fb7c9}
.footer-grid h4{color:var(--gold);font-size:11px;letter-spacing:.15em;text-transform:uppercase;margin:0 0 22px}
.footer-grid a:not(.brand){display:block;font-size:13px;margin:9px 0}
.footer-grid a:hover{color:var(--gold)}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.15);margin-top:60px;padding-top:22px;font-size:11px;color:#8ba5b9}


.modal{background:var(--paper);max-width:850px;width:100%;display:grid;grid-template-columns:1fr 1.1fr;position:relative;box-shadow:0 35px 90px rgba(0,0,0,.3)}
.modal-image{height:100%;min-height:440px;object-fit:cover}
.modal-copy{padding:55px 43px}
.modal-copy h2{font-size:45px;margin:12px 0 20px}
.modal-copy p{font-size:14px;color:#596f7f}
.modal-copy .btn{margin:12px 0}
.modal-close{position:absolute;right:10px;top:10px;border:0;background:white;color:var(--midnight);font-size:27px;width:38px;height:38px;z-index:2}
.skip{position:absolute;left:-9999px}
.skip:focus{left:10px;top:10px;z-index:99;background:white;padding:10px}

    @media(max-width:1000px){.navlinks{gap:19px}
.hero-grid{min-height:550px}
.hero-visual{min-height:550px}
.hero-copy h1{font-size:69px}
.about{gap:40px}
.feature-copy{padding:40px}
.product-grid{gap:13px}
.product-body{padding:21px}
}

    @media(max-width:740px){.container{width:min(100% - 34px,1200px)}
.topstrip{font-size:9px}
.nav{height:73px}
.brand img{width:47px;height:47px}
.brand-text{font-size:22px}
.menu-btn{display:block}
.navlinks{display:none;position:absolute;left:0;right:0;top:73px;background:#082956;padding:22px 19px 25px;flex-direction:column;align-items:stretch;gap:17px;box-shadow:0 20px 30px #061e3e44}
.navlinks.open{display:flex}
.navlinks .btn{text-align:center}
.hero-grid{grid-template-columns:1fr}
.hero-copy{padding:65px 0 43px}
.hero-copy h1{font-size:clamp(54px,11.7vw,83px)}
.hero-copy>p{font-size:15px}
.hero-visual{height:310px;min-height:310px;margin:0 -17px}
.hero-visual img{position:absolute}
.hero-visual:after{background:linear-gradient(180deg,var(--midnight),transparent 28%)}
.hero-caption{right:15px;bottom:15px}
.hero-trust{margin-top:28px}
.promise .container{grid-template-columns:1fr;gap:0;padding-block:10px}
.promise-item{padding:15px 3px;border-right:0;border-bottom:1px solid #ece8e0}
.promise-item:last-child{border-bottom:0}
section.section{padding:68px 0}
.section-heading{display:block}
.section-heading p{margin-top:16px}
.featured{grid-template-columns:1fr}
.feature-image{min-height:290px}
.feature-copy{padding:35px 27px 38px}
.feature-copy h3{font-size:41px}
.library-intro{margin-top:55px}
.library-controls{gap:8px}
.search{width:100%;margin:8px 0 0}
.search input{width:100%}
.product-grid{grid-template-columns:1fr}
.product-art{height:260px}

.how{padding:65px 0}
.how .intro{margin-bottom:40px}
.steps{grid-template-columns:1fr;gap:42px}
.step:not(:last-child):after{display:none}
.quote{padding:73px 0}
.quote blockquote{font-size:36px}
.about{grid-template-columns:1fr;gap:38px}
.about-art{min-height:340px}
.about-art img{width:165px}
.about-art .float{font-size:14px}
.invite{padding:70px 0}
.invite-grid{grid-template-columns:1fr;gap:25px}
.signup-box{padding:21px!important}

.footer-grid{grid-template-columns:1fr 1fr;gap:32px}
.footer-grid>div:first-child{grid-column:1/-1}
.footer-bottom{flex-direction:column}
.modal{grid-template-columns:1fr;max-width:450px;margin:auto}
.modal-image{height:175px;min-height:175px;width:100%}
.modal-copy{padding:27px}
.modal-copy h2{font-size:34px}
}

    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{transition:none!important;animation:none!important}
}

/* WordPress shell, keyboard access and native dialog. */
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid #2573a4; outline-offset: 3px; }
.cafe-header :focus-visible, .cafe-footer :focus-visible, .hero :focus-visible {
  outline-color: var(--gold);
}
.brand img { background: var(--blue); border-radius: 50%; }
.about-art img { background: var(--midnight); border-radius: 50%; }
.cafe-footer .brand img { flex: none; }
.text-link { text-decoration: underline; text-underline-offset: 4px; }
.empty { display: block; }
.product .price { color: #4b6b5b; }
.eyebrow.sage { text-transform: uppercase; }
.feature-note { color: #5e747e; }
.numbered-art {
  width: 100%; height: 100%; min-height: inherit; display: grid; place-items: center;
  background: linear-gradient(140deg, #102e54, #376e91);
}
.numbered-frame {
  border: 1px solid #8db8ce80; padding: 25px 37px; color: var(--gold); text-align: center;
}
.numbered-mark { font: italic 62px Georgia, serif; }
.numbered-caption { font-size: 10px; letter-spacing: .18em; color: white; }
.spark-dialog {
  position: fixed; inset: 0; width: 100%; max-width: none;
  height: 100%; max-height: none; border: 0; padding: 18px;
  margin: 0; background: transparent; color: var(--ink); overflow: auto;
}
.spark-dialog[open] { display: grid; place-items: center; }
.spark-dialog::backdrop { background: rgba(3,20,41,.77); }
.detail-art { position: relative; min-height: 440px; }
.detail-art .modal-image { position: absolute; inset: 0; width: 100%; object-fit: cover; }
.spark-single .feature-copy h1 { font-size: clamp(37px, 4vw, 57px); line-height: 1.07; margin: 16px 0 22px; }
.back-link { display: inline-block; margin-bottom: 26px; }
.spark-content { max-width: 740px; margin: 42px auto 0; overflow-wrap: anywhere; }
.spark-content a { text-decoration: underline; }
.spark-purchase .edd-submit.button.btn, .spark-purchase input.edd-submit.btn {
  background: var(--midnight); color: white; border: 0; border-radius: 5px;
  min-height: 52px; padding: 14px 23px; font-weight: 800; font-size: 13px;
}
.spark-purchase .edd_go_to_checkout { margin-top: 10px; }

/* Keep the original signup card treatment while MailPoet renders the form. */
.signup-box h3 { margin: 9px 0 14px; }
.signup-box .signup-intro { font-size: 13px; color: #536c7b; }
.signup-box .mailpoet_form { padding: 0 !important; background: transparent !important; }
.signup-box .mailpoet_form .mailpoet_paragraph { margin: 0 0 10px; line-height: 1.65; }
.signup-box .mailpoet_form label { font: 800 12px/1.65 'DM Sans', system-ui, sans-serif; color: var(--midnight); }
.signup-box .mailpoet_form input[type=email] {
  width: 100% !important; min-width: 0; min-height: 52px; padding: 14px;
  background: white; border: 1px solid #cbd8d9; border-radius: 0; color: var(--ink);
  font: 400 13px/1.65 'DM Sans', system-ui, sans-serif;
}
.signup-box .mailpoet_form .mailpoet_submit {
  min-height: 52px; border: 0; border-radius: 5px; padding: 14px 23px;
  background: var(--midnight); color: white; font: 800 13px/1.65 'DM Sans', system-ui, sans-serif;
  cursor: pointer; white-space: nowrap;
}
.signup-box .mailpoet_form .mailpoet_checkbox_label { font-weight: 500; color: #526c7c; }
.signup-box .mailpoet_form .mailpoet_message { font-size: 12px; }
.signup-box .mailpoet_form .mailpoet_form_columns {
  display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(132px, auto); align-items: end; gap: 8px;
}
.signup-box .mailpoet_form .mailpoet_form_column { display: block; min-width: 0; width: auto !important; margin: 0 !important; }
.signup-box .mailpoet_form .mailpoet_form_columns .mailpoet_paragraph { margin-bottom: 0; }
.signup-box .mailpoet_form .mailpoet_form_columns .mailpoet_submit { width: 100%; }
@media (min-width: 741px) and (max-width: 1000px) {
  .invite-grid { grid-template-columns: minmax(0, 1.3fr) minmax(374px, 1fr); }
}
@media (max-width: 740px) {
  body:not(.cafe-js) .nav { height: auto; min-height: 73px; flex-wrap: wrap; }
  body:not(.cafe-js) .menu-btn { display: none; }
  body:not(.cafe-js) .navlinks { display: flex; position: static; width: 100%; box-shadow: none; }
  .detail-art { min-height: 175px; }
  .spark-single .detail-art { min-height: 290px; }
  .signup-box .mailpoet_form .mailpoet_form_columns { grid-template-columns: 1fr; }
  .signup-box .mailpoet_form .mailpoet_submit { width: 100%; }
}
.signup-box .mailpoet_form fieldset { border: 0; padding: 0; margin: 12px 0 0; min-width: 0; }
.signup-box .mailpoet_form fieldset legend:empty { display: none; }
.signup-box .mailpoet_form .mailpoet_checkbox_label { display: flex; align-items: start; gap: 8px; }
.signup-box .mailpoet_form .mailpoet_checkbox { flex: none; margin: 4px 0 0; }
