/* wo0 photography – site styles
   Fonts: the brand fonts are URW DIN (headings) and Proxima Nova (body), both on Adobe Fonts.
   Until an Adobe Fonts kit is added (see README.txt), Barlow Semi Condensed and Montserrat from Google Fonts stand in. */

:root{
  --pink:#F7347F; --ink:#110309; --mint:#63EBD4; --paper:#FAF9F7; --grey:#DDDDDD; --white:#fff;
  --display:"urw-din","URW DIN","Barlow Semi Condensed","Arial Narrow",sans-serif;
  --body:"proxima-nova","Proxima Nova",Montserrat,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
html,body{overflow-x:clip}
body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.7 var(--body)}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3,.disp{font-family:var(--display);text-transform:uppercase;line-height:1;margin:0;text-wrap:balance}
h2,h1.h2{font-size:clamp(34px,4.6vw,56px);font-weight:600;letter-spacing:.01em;margin-bottom:24px}
h3{font-size:clamp(22px,2.2vw,26px);font-weight:600;line-height:1.1}
p{margin:0 0 1em}
.pink{color:var(--pink)}
.hl{background:linear-gradient(transparent 55%,var(--mint) 55%);padding:0 .08em}
::selection{background:var(--mint);color:var(--ink)}
:focus-visible{outline:3px solid var(--pink);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--ink);color:#fff;padding:10px 14px}
.skip:focus{left:8px}
.todo{background:var(--mint);color:var(--ink);padding:0 4px;font-weight:600}

/* labels and buttons */
.label{font:600 12.5px/1.4 var(--body);text-transform:uppercase;letter-spacing:.2em}
.label.mintbox{display:inline-block;background:var(--mint);color:var(--ink);padding:6px 10px}
.btn{display:inline-block;background:var(--pink);color:#fff;text-decoration:none;padding:16px 26px;font:600 12.5px/1 var(--body);text-transform:uppercase;letter-spacing:.2em;border:0;cursor:pointer;transition:background .2s,color .2s}
.btn:hover{background:var(--ink);color:#fff}
.btn.ghost{background:transparent;border:1.5px solid currentColor;color:inherit}
.btn.ghost:hover{background:var(--pink);border-color:var(--pink);color:#fff}
.btn.mint{background:var(--mint);color:var(--ink)}
.btn.mint:hover{background:var(--ink);color:#fff}
.textlink{font:600 12px var(--body);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--pink)}
.textlink:hover{text-decoration:underline}

/* layout */
section{padding:96px 16px;position:relative}
.inner{max-width:1120px;margin:0 auto;position:relative;z-index:1}
.narrow{max-width:720px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.split>*{min-width:0}
@media(max-width:820px){.split{grid-template-columns:1fr;gap:36px}}
.split .photo{width:100%;aspect-ratio:4/5;object-fit:cover}
.stack p{max-width:58ch}
.gridbg{background:var(--paper) url(../images/wo0-photo-grid-background.jpg) center/cover no-repeat}
.white{background:#fff}
.dark{background:var(--ink);color:#fff}
.pinkband{background:var(--pink);color:#fff}
.mintband{background:var(--mint);color:var(--ink)}
.sectionhead{margin-bottom:8px}
.sectionhead h2{margin-bottom:16px}
ul.ticks{padding-left:1.1em;margin:0 0 1em}
ul.ticks li{margin:.35em 0;max-width:62ch}

/* header */
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px max(16px,env(safe-area-inset-right,0px)) 14px max(16px,env(safe-area-inset-left,0px));color:#fff;transition:background .25s}
.site-header.solid{background:var(--ink)}
.site-header .logo img{height:48px;width:auto}
.site-nav{display:flex;gap:20px;flex-wrap:wrap;justify-content:flex-end}
.site-nav a{text-decoration:none;font:400 11.5px/1 var(--body);text-transform:uppercase;letter-spacing:.2em}
.site-nav a:hover{color:var(--mint)}
.menu-btn{display:none;background:none;border:1.5px solid #fff;color:#fff;font:600 11px var(--body);letter-spacing:.2em;text-transform:uppercase;padding:10px 12px;cursor:pointer}
@media(max-width:900px){
  .menu-btn{display:block}
  .site-nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:var(--ink);padding:8px 16px 16px}
  .site-nav.open{display:flex}
  .site-nav a{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:13px}
}

/* hero */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;padding:124px 16px 72px;color:#fff;overflow:hidden;background:var(--ink)}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.hero .inner{width:100%}
.hero h1{font:600 13px/1.6 var(--body);letter-spacing:.24em;margin-bottom:18px;text-transform:uppercase}
.hero h1 span{background:var(--mint);color:var(--ink);padding:5px 10px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.hero .disp{font-size:clamp(34px,min(8.5vw,12.5vh),112px);font-weight:700;letter-spacing:-.01em}
.hero .sub{font-size:clamp(15px,1.6vw,19px);max-width:38ch;margin:22px 0 30px}

/* intro */
.pic{position:relative}
.pic .mark{position:absolute;height:auto;pointer-events:none}
.mark.tr{width:64px;top:-26px;right:18px;transform:rotate(8deg)}
.mark.bl-lips{width:96px;bottom:-30px;left:-30px;transform:rotate(-7deg);filter:drop-shadow(0 6px 14px rgba(17,3,9,.25))}
@media(max-width:820px){.mark.bl-lips{left:-4px}}
.mantra{font-family:var(--display);font-weight:600;text-transform:uppercase;font-size:22px;line-height:1.25;margin:28px 0}

/* statement */
.statement{text-align:center}
.statement .disp{font-size:clamp(30px,5vw,64px);font-weight:700}
.statement .disp+.disp{margin-top:8px}
.statement .underline{border-bottom:5px solid var(--mint)}
.inline-icon{display:inline-block;height:.85em;width:auto;vertical-align:-.08em;margin-left:.22em}

/* offer cards */
.offers{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:40px}
@media(max-width:1100px){.offers{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.offers{grid-template-columns:1fr}}
.offer{background:#fff;border:1px solid var(--grey);border-top:4px solid var(--mint);display:flex;flex-direction:column}
.offer img{aspect-ratio:4/3;object-fit:cover;width:100%}
.offer .body{padding:24px;display:flex;flex-direction:column;gap:10px;flex:1}
.offer .price{color:var(--pink);font:600 13px var(--body);letter-spacing:.14em;text-transform:uppercase}
.offer .textlink{margin-top:auto}

/* price list */
.pricelist{margin-top:40px;border-top:2px solid var(--ink)}
.row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) 9.5em;gap:32px;padding:28px 0;border-bottom:1px solid var(--grey);align-items:start}
.row>*{min-width:0}
@media(max-width:820px){.row{grid-template-columns:1fr;gap:10px}.row .amt{text-align:left}}
.row h3{font-size:30px}
.row .amt{font-family:var(--display);font-size:26px;font-weight:700;color:var(--pink);white-space:nowrap;text-align:right}
.row p{margin:0}
.icon-quad ul{margin:.6em 0 1em;padding-left:1.1em}

/* gallery */
.gallery{columns:3 260px;column-gap:12px;margin-top:40px}
.gallery img{width:100%;margin:0 0 12px;break-inside:avoid}

/* facts */
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:56px}
@media(max-width:820px){.facts{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.facts{grid-template-columns:1fr}}
.facts>div{border-top:4px solid var(--mint);padding-top:14px}
.facts .n{font-family:var(--display);font-size:56px;font-weight:700;color:var(--pink);line-height:1}
.facts p{font-size:14px;margin:.6em 0 0}

/* quote banner */
.banner{position:relative;padding:0;min-height:min(78vh,720px);display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--grey)}
.banner>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 35%}
.banner blockquote{position:relative;z-index:1;margin:0 16px;text-align:center;font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:clamp(26px,4.4vw,58px);line-height:1.05;color:var(--ink);text-shadow:2px 2px 0 #fff,-2px 2px 0 #fff,2px -2px 0 #fff,-2px -2px 0 #fff,0 3px 0 #fff,3px 0 0 #fff,0 -3px 0 #fff,-3px 0 0 #fff}

/* full-width photo (speakers) */
.wide-photo{width:100%;max-height:60vh;object-fit:cover;margin-bottom:48px}

/* stickers and scattered icons */
.sticker{position:absolute;z-index:2;height:auto;pointer-events:none;filter:drop-shadow(0 8px 16px rgba(17,3,9,.25))}
.dot{position:absolute;z-index:2;height:auto;pointer-events:none}
@media(max-width:700px){.dot{display:none}.sticker{width:74px!important}}

/* testimonials slider */
.slider{max-width:820px;margin:0 auto;text-align:center}
.slides{display:grid}
.slide{grid-area:1/1;margin:0;display:flex;flex-direction:column;justify-content:center}
.js .slide{opacity:0;visibility:hidden;transform:translateX(70px);transition:opacity .6s ease,transform .6s ease,visibility 0s linear .6s}
.js .slide.on{opacity:1;visibility:visible;transform:none;transition:opacity .6s ease,transform .6s ease,visibility 0s}
.js .slide.out{transform:translateX(-70px)}
.slide blockquote{font-family:var(--display);font-weight:500;font-size:clamp(22px,3vw,34px);line-height:1.25;margin:0 0 20px}
.slide .q{color:var(--mint)}
.slide figcaption{font:600 12px/1.5 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--pink)}
.slider-nav{display:none;justify-content:center;align-items:center;gap:18px;margin-top:40px}
.js .slider-nav{display:flex}
.slider-nav button{background:none;border:1.5px solid var(--mint);color:var(--mint);width:44px;height:44px;cursor:pointer;font-size:18px;line-height:1}
.slider-nav button:hover,.slider-nav button:focus-visible{background:var(--mint);color:var(--ink)}
.slider-count{font:600 12px var(--body);letter-spacing:.18em;color:var(--mint);min-width:72px}
:not(.js) .slide+.slide{margin-top:48px}

/* faq */
.faq details{border-bottom:1px solid var(--grey);padding:20px 0}
.faq summary{cursor:pointer;font-family:var(--display);text-transform:uppercase;font-weight:600;font-size:22px;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--pink)}
.faq details[open] summary::after{content:"–"}
.faq details[open]{border-left:4px solid var(--mint);padding-left:16px;margin-left:-20px}
@media(max-width:820px){.faq details[open]{margin-left:0}}
.faq details p{margin:12px 0 0;max-width:64ch}

/* playbook */
.playbook .split{grid-template-columns:1fr 1.15fr}
@media(max-width:820px){.playbook .split{grid-template-columns:1fr}}
.pb-band{display:inline-block;background:var(--pink);color:#fff;font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:clamp(30px,4.4vw,52px);line-height:1;padding:10px 28px 8px 18px;transform:rotate(-3deg);margin:0 0 26px -6px}
.pb-box{position:relative;display:inline-block;background:var(--mint);color:var(--ink);padding:16px 22px;margin:0 0 24px}
.pb-box h3{font-size:clamp(22px,2.6vw,30px);font-weight:700;line-height:1.15}
.pb-cover{width:100%;height:auto;transform:rotate(2deg);box-shadow:0 18px 40px rgba(17,3,9,.22);border:6px solid #fff}
@media(max-width:820px){.pb-cover{transform:none}}

/* contact */
.contact-split{grid-template-columns:.8fr 1.2fr;max-width:980px}
.contact-photo{width:100%;height:auto;border:6px solid #fff;transform:rotate(-2deg);box-shadow:0 18px 40px rgba(17,3,9,.22)}
@media(max-width:820px){.contact-split{grid-template-columns:1fr}.contact-photo{max-width:340px;margin:0 auto;transform:none}}
form .field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
form label{font:600 12px var(--body);letter-spacing:.16em;text-transform:uppercase}
form input[type=text],form input[type=email],form textarea{font:15px var(--body);padding:12px 14px;border:1.5px solid var(--ink);background:#fff;color:var(--ink);width:100%}
form textarea{min-height:140px;resize:vertical}
form .choice{display:flex;gap:18px;align-items:center;flex-wrap:wrap;font-size:14px}
.contact-details{font-size:14px;margin-top:28px}
.contact-details a{font-weight:600}

/* newsletter */
.newsletter{text-align:center}
.newsletter .disp{font-size:clamp(40px,7vw,84px);font-weight:700;margin-bottom:22px}
.newsletter p{max-width:52ch;margin-left:auto;margin-right:auto}
.newsletter form{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;max-width:560px;margin:24px auto 0}
.newsletter input[type=email]{flex:1 1 240px;border-color:#fff}
.newsletter small{display:block;margin-top:14px;opacity:.85}

/* footer */
.site-footer{background:var(--ink);color:#bbb;padding:48px max(16px,env(safe-area-inset-left,0px));font-size:13px;text-align:center}
.site-footer nav{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-bottom:20px}
.site-footer nav a{text-decoration:none;font:400 11.5px/1 var(--body);text-transform:uppercase;letter-spacing:.2em;color:#fff}
.site-footer a{color:#fff}
.site-footer a:hover{color:var(--mint)}
.site-footer .tagline{color:var(--mint)}

/* simple pages (privacy, terms, 404) */
.simple{padding-top:140px;min-height:70vh}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .slide,.js .slide.on{transition:none;transform:none}
}

/* ---------- extra pages: headshots, newsletter, waitlist ---------- */
.page-top{padding-top:136px}
.lead{font-size:clamp(17px,1.6vw,20px);line-height:1.55}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:40px;padding:0;list-style:none;counter-reset:step}
@media(max-width:820px){.steps{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.steps{grid-template-columns:1fr}}
.steps li{border-top:4px solid var(--mint);padding-top:14px;counter-increment:step;font-size:15px}
.steps li::before{content:counter(step,decimal-leading-zero);display:block;font-family:var(--display);font-size:56px;font-weight:700;color:var(--pink);line-height:1;margin-bottom:10px}
.cities{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:36px}
@media(max-width:900px){.cities{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.cities{grid-template-columns:1fr}}
.city{background:#fff;border:1px solid var(--grey);border-top:4px solid var(--pink);padding:24px;display:flex;flex-direction:column;gap:8px}
.city h3{font-size:30px}
.city .date{font:600 13px var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--pink)}
.city .btn{margin-top:auto;text-align:center}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.duo img{width:100%;aspect-ratio:3/4;object-fit:cover}
.form-thanks{background:var(--mint);color:var(--ink);padding:24px;font-size:17px}
.form-thanks h3{margin-bottom:8px}
.form-error{color:var(--pink);font-weight:600}
fieldset{border:0;padding:0;margin:0 0 20px}
legend{font:600 12px var(--body);letter-spacing:.16em;text-transform:uppercase;margin-bottom:10px}
.offer-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:620px){.offer-choices{grid-template-columns:1fr}}
.offer-choices label{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1.5px solid var(--grey);padding:14px 16px;cursor:pointer;font:15px/1.4 var(--body);text-transform:none;letter-spacing:0}
.offer-choices label:hover{border-color:var(--ink)}
.offer-choices input{margin-top:3px;accent-color:var(--pink)}
.offer-choices label:has(input:checked){border-color:var(--pink);box-shadow:0 0 0 2px var(--pink) inset}
.offer-choices b{display:block;font-family:var(--display);text-transform:uppercase;font-size:20px;font-weight:600;line-height:1.1}
.offer-choices small{color:#555}
form select{font:15px var(--body);padding:12px 14px;border:1.5px solid var(--ink);background:#fff;color:var(--ink);width:100%}
.check-line{display:flex;gap:10px;align-items:flex-start;font-size:14px;margin:4px 0 20px}
.check-line input{margin-top:4px;accent-color:var(--pink)}

/* testimonials: room for the lips sticker on phones */
@media(max-width:1100px){#testimonials{padding-top:132px}}

/* legal pages (terms, privacy) */
.legal{max-width:72ch}
.legal h3{font-size:24px;margin:40px 0 14px;scroll-margin-top:96px}
.legal h4{font:600 13px var(--body);letter-spacing:.14em;text-transform:uppercase;margin:24px 0 6px}
.legal p{margin:0 0 .8em}
.legal .cl2{padding-left:1.6em}
.legal .cl3{padding-left:3.2em}
.legal .def{padding-left:1.6em}
.legal b{font-weight:600}

/* "Who am I?" lips + heart: beside the heading on wide screens, above it on smaller ones */
.who-icons{position:absolute;top:84px;left:0;right:0;display:flex;justify-content:space-between;padding:0 4%;pointer-events:none;z-index:0}
.who-icons img{width:120px;height:auto}
@media(max-width:1180px){.who-icons{position:static;max-width:720px;margin:0 auto 18px;padding:0}.who-icons img{width:72px}}

/* ---------- blog ---------- */
.post-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:28px;margin-top:44px}
.post-card{background:#fff;border:1px solid var(--grey);border-top:4px solid var(--mint);display:flex;flex-direction:column;min-width:0}
.post-card img{width:100%;height:260px;object-fit:cover;object-position:center 22%;display:block}
.post-card .body{padding:22px 22px 26px;display:flex;flex-direction:column;gap:10px;flex:1}
.post-card .price{color:var(--pink);font:600 12px var(--body);letter-spacing:.14em;text-transform:uppercase}
.post-card h2{font-family:var(--display);font-size:26px;line-height:1.1;margin:0;text-transform:uppercase;text-wrap:balance}
.post-card h2 a{color:var(--ink);text-decoration:none}
.post-card h2 a:hover{color:var(--pink)}
.post-card p{margin:0}
.post-card .textlink{margin-top:auto}
.post{padding:136px max(16px,env(safe-area-inset-right)) 80px max(16px,env(safe-area-inset-left))}
.post .label a{color:var(--pink);text-decoration:none}
.post-title{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:clamp(34px,5.4vw,62px);line-height:1.02;margin:14px 0 10px;text-wrap:balance}
.byline{font:600 12px var(--body);letter-spacing:.16em;text-transform:uppercase;margin:0 0 28px}
.post-photo{width:100%;height:auto;max-height:620px;object-fit:cover;object-position:center 30%;display:block;margin-bottom:36px}
.post-body{font-size:17px;line-height:1.75}
.post-body p{max-width:65ch}
.post-body h2{font-family:var(--display);font-size:clamp(24px,3vw,32px);line-height:1.1;text-transform:uppercase;margin:1.6em 0 .5em;text-wrap:balance}
.post-body .small-note{font-size:13px;opacity:.75}
.post-cta{margin-top:56px;padding:32px 28px;background:var(--mint)}
.post-cta h2{font-family:var(--display);font-size:clamp(28px,4vw,42px);text-transform:uppercase;line-height:1.05;margin:0 0 10px}
.post-cta .inline-icon{margin-left:.25em;vertical-align:-.05em;width:auto}
.post-cta p{margin:0 0 20px;max-width:55ch}
@media(max-width:560px){.post-cards{grid-template-columns:1fr}.post-card img{height:220px}.post-cta{padding:26px 18px}}
.post-inline{display:block;width:100%;height:auto;margin:36px 0}
.post-inline.tall{max-width:440px;margin-left:auto;margin-right:auto}

/* ---------- speaker page ---------- */
.sp-quote{font-family:var(--display);font-weight:600;text-transform:uppercase;font-size:clamp(26px,4vw,46px);line-height:1.1;max-width:26ch;margin:0 auto 14px;text-align:center;text-wrap:balance}
.sp-cite{text-align:center;font:600 12px var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--mint);margin:0}
.topics{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px}
.topic{background:#fff;border:1px solid var(--grey);border-top:4px solid var(--pink);padding:24px;min-width:0}
.topic h3{font-size:28px;margin-bottom:10px}
.topic p{margin:0}
.sp-quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px}
.sp-quotes figure{margin:0;border-left:4px solid var(--mint);padding:4px 0 4px 18px;min-width:0}
.sp-quotes blockquote{margin:0 0 12px;font-size:16px;line-height:1.6}
.sp-quotes figcaption{font:600 12px var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--pink)}
@media(max-width:900px){.topics,.sp-quotes{grid-template-columns:1fr}}
.btn.ink{background:var(--ink);color:#fff}
.btn.ink:hover{background:#fff;color:var(--ink)}
.host-hl{background:var(--mint);color:var(--ink);padding:2px 8px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.pinkband .lead{font-weight:600}

/* ---------- links (link-in-bio) page ---------- */
.links-wrap{min-height:100vh;padding:40px max(16px,env(safe-area-inset-right)) 48px max(16px,env(safe-area-inset-left));display:flex;justify-content:center;align-items:flex-start}
.links-card{width:100%;max-width:520px;background:var(--ink);color:#fff;padding:36px 22px 28px;text-align:center;box-shadow:0 18px 40px rgba(17,3,9,.25)}
.links-card .avatar{width:120px;height:120px;border-radius:50%;object-fit:cover;border:4px solid var(--pink);display:block;margin:0 auto 16px}
.links-logo img{width:110px;height:auto;display:block;margin:0 auto 14px}
.links-h{font-size:clamp(24px,6vw,30px);font-weight:600;margin:0 0 8px}
.links-sub{font-size:14px;margin:0 auto 24px;max-width:36ch;color:#eee}
.links-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.lnk{display:flex;flex-direction:column;gap:2px;padding:15px 18px;background:#fff;color:var(--ink);text-decoration:none;border:2px solid #fff;transition:background .15s,color .15s}
.lnk .t{font:600 13px/1.3 var(--body);letter-spacing:.12em;text-transform:uppercase}
.lnk .s{font-size:13px;color:#6b5a62}
.lnk:hover,.lnk:focus-visible{background:var(--mint);border-color:var(--mint)}
.lnk.hot{background:var(--pink);border-color:var(--pink);color:#fff}
.lnk.hot .s{color:#ffe3ee}
.lnk.hot:hover,.lnk.hot:focus-visible{background:#fff;border-color:#fff;color:var(--ink)}
.lnk.hot:hover .s{color:#6b5a62}
.links-home{margin:22px 0 0}
.links-home .textlink{color:var(--mint)}
.split .photo.round{aspect-ratio:1/1;object-fit:contain}
.pic-round{max-width:520px;width:100%;margin:0 auto}
.about-facts{padding-top:64px;padding-bottom:72px}.about-facts .facts{margin-top:0}
/* hero: soft dark glow so text reads over light patches of the photo */
.hero .disp{text-shadow:0 2px 6px rgba(17,3,9,.45),0 6px 28px rgba(17,3,9,.55)}
.hero .sub{text-shadow:0 1px 3px rgba(17,3,9,.7),0 4px 16px rgba(17,3,9,.6);font-weight:600}
.row .row-link{margin-top:10px}

/* ---------- playbook page ---------- */
.pb-box .pb-h1{font-size:clamp(24px,3vw,34px);font-weight:700;line-height:1.15;margin:0}
.pb-inside .pb-n{font-family:var(--display);font-size:52px;font-weight:700;color:var(--pink);line-height:1;margin:0 0 8px;text-transform:uppercase}
.pb-inside .topic p{margin:0}
.pinkband h2{color:#fff}

/* hero: small clickable playbook cover, bottom right */
.hero-pb{position:absolute;right:4%;bottom:64px;z-index:2;width:clamp(200px,17vw,270px);display:block;transform:rotate(5deg);transition:transform .2s;text-decoration:none}
.hero-pb img{display:block;width:100%;height:auto;border:5px solid #fff;box-shadow:0 14px 30px rgba(17,3,9,.45)}
.hero-pb-tag{position:absolute;top:-14px;left:-10px;z-index:1;background:var(--mint);color:var(--ink);font:600 11px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;padding:7px 9px;transform:rotate(-7deg)}
.hero-pb:hover,.hero-pb:focus-visible{transform:rotate(2deg) scale(1.04)}
@media(max-width:1100px){.hero-pb{position:relative;right:auto;bottom:auto;width:200px;margin-top:34px;transform:rotate(-3deg)}.hero-pb:hover,.hero-pb:focus-visible{transform:rotate(0) scale(1.03)}}
@media (prefers-reduced-motion:reduce){.hero-pb{transition:none}}
@media(min-width:1101px){.hero .inner{position:relative}.hero-pb{right:0;bottom:0;width:clamp(200px,15vw,240px)}}
.cities.cities-3{grid-template-columns:repeat(3,1fr)}
@media(max-width:820px){.cities.cities-3{grid-template-columns:1fr}}
.city.sold{position:relative;border-top-color:var(--grey)}
.city.sold h3{opacity:.55}
.sold-tag{align-self:flex-start;background:var(--ink);color:#fff;font:600 11px/1 var(--body);letter-spacing:.18em;text-transform:uppercase;padding:7px 10px;transform:rotate(-3deg)}

/* ---------- cookie banner ---------- */
.cookie-banner{position:fixed;left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));z-index:60;max-width:560px;margin-left:auto;background:var(--ink);color:#fff;padding:18px 20px;box-shadow:0 14px 34px rgba(17,3,9,.35);border-top:4px solid var(--mint)}
.cookie-banner p{margin:0 0 14px;font-size:14px;line-height:1.55}
.cookie-banner a{color:var(--mint)}
.cookie-btns{display:flex;gap:10px;flex-wrap:wrap}
.cookie-btns .btn{padding:12px 18px}
.cookie-btns .btn.ghost{color:#fff;border-color:#fff}
/* "Who am I?" section: a brand line at the top instead of a coloured background */
.who-section{border-top:6px solid var(--mint)}
.who-section::after{content:"";display:block;width:120px;height:6px;background:var(--pink);margin:56px auto 0}
/* speaker page: Kayleigh's long quote gets a wider line so it doesn't stretch the slider */
.slide.wide{margin-inline:calc(50% - min(540px, 50vw - 16px))}
