/* Poppy theme styles: the same look as the original Poppy pages (Figtree, white, blush and berry). */
body{--rose:#D83A55;--berry:#BA2640;--berry-dk:#8E1A2E;--blush:#FFF2F4;--ink:#141414;--muted:#4A4A4A;--line:#E9D3D8;
  font-family:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.6;font-size:1.0625rem;margin:0}
body *{box-sizing:border-box}
body h1,body h2,body h3,body p,body li,body a,body label,body span,body button,body input,body select,body textarea{font-family:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif}
body h1,body h2,body h3{color:var(--ink);font-weight:700;text-transform:none}
body p,body ul,body ol{margin-block-start:0}
body a{color:var(--berry);text-underline-offset:3px}
body a:hover{color:var(--berry-dk)}
body :focus-visible{outline:3px solid var(--ink);outline-offset:3px;border-radius:6px}
body .wrap{max-width:1200px;margin:0 auto;padding:0 24px}
body .pp-main{margin:0;padding:0}

/* Header and footer */
body .pcs-top{padding:22px 0}
body .pcs-top img{height:64px;width:auto;max-width:100%;display:block}
body .pcs-foot{border-top:1px solid var(--line);padding:32px 0 44px;font-size:.95rem;color:var(--muted)}
body .pcs-foot .row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;align-items:center}
body .pcs-foot p{margin:0}

/* Hero */
body .hero{position:relative;overflow:hidden;padding:40px 0 72px}
body .hero::before,body .ty::before{content:"";position:absolute;right:-180px;top:-120px;width:560px;height:560px;border-radius:50%;
  background:radial-gradient(circle at 35% 35%,#FFD2DA 0%,#FBE3E8 45%,rgba(255,255,255,0) 70%);z-index:0;pointer-events:none}
body .hero .wrap,body .ty .wrap{position:relative;z-index:1}
body .badge{display:inline-block;background:var(--blush);color:var(--berry);font-weight:700;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;padding:6px 12px;border-radius:999px;margin:0 0 18px}
body h1,body h1.wp-block-heading{font-size:clamp(2rem,5vw,3.4rem);line-height:1.12;margin:0 0 18px;max-width:18ch;letter-spacing:-.01em}
body h1 em{font-style:normal;color:var(--rose)}
body .lede{font-size:1.2rem;color:var(--muted);max-width:54ch;margin:0 0 30px}

/* Buttons */
body .wp-block-buttons.doors,body .wp-block-buttons{display:flex;flex-wrap:wrap;gap:14px;margin:0}
body .wp-block-button{margin:0}
body .wp-block-button__link,body .btn,body .btn:visited{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:12px 26px;border-radius:999px;
  font-weight:700;font-size:1.05rem;line-height:1.25;text-align:center;text-decoration:none!important;cursor:pointer;border:2px solid var(--berry);transition:background .15s,color .15s;
  background:var(--berry);color:#fff!important}
body .wp-block-button__link:hover,body .btn-solid:hover{background:var(--berry-dk);border-color:var(--berry-dk)}
body .wp-block-button.is-style-outline>.wp-block-button__link,body .btn-line,body .btn-line:visited{background:#fff;color:var(--berry)!important;border:2px solid var(--berry);padding:12px 26px}
body .wp-block-button.is-style-outline>.wp-block-button__link:hover,body .btn-line:hover{background:var(--blush);color:var(--berry-dk)!important}

/* Sections */
body section{padding:64px 0}
body h2,body h2.wp-block-heading{font-size:clamp(1.6rem,3.4vw,2.2rem);line-height:1.2;margin:0 0 10px}
body .intro{color:var(--muted);margin:0 0 32px;max-width:60ch}
body .intro--tight{margin-bottom:0}
body .tint{background:var(--blush)}
body .centre{text-align:center}
body .centre .intro{margin-left:auto;margin-right:auto}

/* Cards */
body .grid4{display:grid;grid-template-columns:1fr;gap:20px;padding:0;margin:0}
@media (min-width:600px){body .grid4{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){body .grid4{grid-template-columns:repeat(4,1fr)}}
body .card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px}
body .card h3{font-size:1.2rem;margin:14px 0 6px}
body .card p{margin:0;color:var(--muted)}
body .ico{width:48px;height:48px;border-radius:14px;background:var(--blush);display:grid;place-items:center}
body .ico svg{width:26px;height:26px;stroke:var(--rose);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
body .biz{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
body .biz .card{display:flex;flex-direction:column;gap:12px;padding:28px}
body .biz .card h3{margin:0}
body .biz .card p{flex:1}
body .biz .wp-block-buttons{align-self:flex-start}

/* Coming later */
body .prem{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:18px 0 0}
body .prem li{background:#fff;border:1px solid var(--line);border-radius:999px;padding:10px 18px;font-weight:600;list-style:none;margin:0}
body .prem li::before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--rose);margin-right:10px}

/* Forms */
body .formbox{background:#fff;border-radius:22px;padding:32px;margin:0 auto;text-align:left;box-shadow:0 1px 0 var(--line),0 12px 36px rgba(186,38,64,.08)}
body .field{margin:0 0 18px}
body label{display:block;font-weight:600;margin:0 0 6px}
body .hint{display:block;font-weight:400;color:var(--muted);font-size:.92rem;margin:-2px 0 6px}
body input[type=text],body input[type=email],body input[type=date],body input[type=tel],body input[type=url],body select{width:100%;min-height:48px;padding:10px 14px;font-size:1rem;color:var(--ink);background:#fff;border:2px solid #9A8A8E;border-radius:12px}
body textarea{width:100%;min-height:110px;padding:10px 14px;font:inherit;font-size:1rem;color:var(--ink);background:#fff;border:2px solid #9A8A8E;border-radius:12px;resize:vertical}
body input:focus,body select:focus,body textarea:focus{border-color:var(--berry);outline:3px solid #F7C3CC;outline-offset:0}
body ::placeholder{color:#8a7f82}
body .check{display:flex;gap:12px;align-items:flex-start;font-weight:400;margin:0 0 12px}
body .check input{width:24px;height:24px;margin:2px 0 0;accent-color:var(--berry);flex:none}
body .req{color:var(--berry)}
body .opt{font-weight:400;color:var(--muted)}
body .small{font-size:.92rem;color:var(--muted)}
body fieldset{border:0;padding:0;margin:0 0 18px}
body legend{display:block;font-weight:600;margin:0 0 8px;padding:0}
body .radios{display:flex;gap:22px}
body .radios label{display:flex;gap:8px;align-items:center;font-weight:400;margin:0}
body .radios input{width:22px;height:22px;accent-color:var(--berry);margin:0}
body .fgrid{display:grid;grid-template-columns:1fr;gap:0 20px;align-items:start}
@media (min-width:700px){body .fgrid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){body .fgrid{grid-template-columns:repeat(3,1fr)}}
body .fgrid .wide{grid-column:1/-1}
body .fgrid .span2{grid-column:span 2}
@media (max-width:999px){body .fgrid .span2{grid-column:1/-1}}
body form .btn{margin-top:8px;width:auto;min-width:280px}
body .is-sending,body .sending{opacity:.7;pointer-events:none}
@media (max-width:560px){body .formbox{padding:22px}body form .btn{width:100%;min-width:0}}

/* Sign-up pages */
body .page-hero{padding:24px 0 8px}
body .page-hero .lede{margin-bottom:0}
body .formsec{padding:32px 0 72px}

/* Thank-you pages */
body .ty{position:relative;overflow:hidden;padding:56px 0 80px}
body .ty::before{top:-140px}
body .ty .wrap>*{max-width:760px}
body .tick{width:64px;height:64px;border-radius:50%;background:var(--berry);display:grid;place-items:center;margin:0 0 22px}
body .tick svg{width:32px;height:32px;stroke:#fff;fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
body .steps{list-style:none;padding:0;margin:0 0 32px;display:grid;gap:14px;counter-reset:s}
body .steps li{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px 16px 62px;position:relative;counter-increment:s;margin:0}
body .steps li::before{content:counter(s);position:absolute;left:18px;top:14px;width:30px;height:30px;border-radius:50%;background:var(--blush);color:var(--berry);font-weight:700;display:grid;place-items:center}

/* Privacy policy and ordinary pages */
body .policy{padding:24px 0 72px}
body .policy .wrap>*,body .policy .wp-block-post-content>*{max-width:760px}
body .policy h2{font-size:1.45rem;margin:40px 0 10px}
body .policy h3{font-size:1.1rem;margin:22px 0 6px}
body .policy p,body .policy li{color:#2b2b2b}
body .policy p{margin:0 0 16px}
body .policy ul,body .policy ol{padding-left:22px;margin:0 0 16px}
body .policy li{margin:0 0 6px}
body .policy table{border-collapse:collapse;width:100%;margin:8px 0 18px;font-size:.98rem}
body .policy th,body .policy td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
body .policy th{background:var(--blush);font-weight:700}
body .policy .badge{color:var(--berry)}
body .policy .updated{color:var(--muted);font-size:.95rem}
body .policy .tablewrap{overflow-x:auto;max-width:none}

@media (prefers-reduced-motion:reduce){body *{transition:none!important}}
/* Parent form: four fields in a row on wide screens */
@media (min-width:1100px){body .fgrid.fgrid4{grid-template-columns:repeat(4,1fr)}}
body .field select + .hint{margin:6px 0 0}
