/* Friendship invitation: Pěna paper colours, with a guided route to booking. */
.friending-page { --sf-paper:#faf8f5; --sf-ink:#293e49; --sf-blue:#30596f; --sf-lilac:#d5c5e6; --sf-rose:#e8dce2; --sf-line:#bad0dd44; background:var(--sf-paper); color:var(--sf-ink); font-family:Manrope,sans-serif; -webkit-font-smoothing:antialiased; }
.friending-page *, .friending-page *::before, .friending-page *::after { box-sizing:border-box; }
.friending-page main { overflow:clip; background:var(--sf-paper); }
.friending-page :is(h1,h2,h3,p,figure) { margin:0; }
.friending-page :is(h1,h2,h3) { font-family:Newsreader,Georgia,serif; color:inherit; font-weight:500; letter-spacing:-.045em; }
.friending-page h2 { font-size:clamp(2.7rem,4.7vw,4.2rem); line-height:1.02; }
.friending-page h2 em { font-weight:400; }
.friending-page p { color:inherit; line-height:1.75; }
.friending-page a { color:inherit; }
.friending-page [hidden] { display:none !important; }
.friending-page :is(a,button,summary,[tabindex]):focus-visible { outline:3px solid #30596f; outline-offset:5px; }
.friending-page :is(section,main,aside)[id] { scroll-margin-top:78px; }
.sf-wrap { width:min(1160px,calc(100% - 96px)); margin-inline:auto; }
.sf-section { padding-block:85px; }
.sf-eyebrow { font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.11em; margin-bottom:23px !important; }
.sf-skip { position:fixed; z-index:100; top:-100px; left:20px; background:var(--sf-paper); padding:15px; }
.sf-skip:focus { top:10px; }
.sf-header { position:sticky; top:0; z-index:30; background:#f5f4f2; border-bottom:1px solid #293e4920; }
.sf-header-inner { height:78px; display:flex; align-items:center; gap:18px; }
.sf-brand img { display:block; width:81px; height:53px; object-fit:contain; }
.sf-brand-cross { font:24px Georgia,serif; color:#889298; }
.sf-partner { width:40px; height:40px; border-radius:50%; }
.sf-header nav { margin-left:auto; display:flex; align-items:center; gap:30px; font-size:12px; font-weight:700; }
.sf-header nav > a:first-child { text-decoration:none; }
.friending-page .sf-button { display:inline-flex; align-items:center; justify-content:space-between; gap:27px; min-height:56px; border:1px solid var(--sf-blue); border-radius:2px; background:var(--sf-blue); color:#fffaf0; padding:16px 22px; box-shadow:4px 4px 0 #293e4924; font:750 13px/1.35 Manrope,sans-serif; text-decoration:none; cursor:pointer; transition:transform 180ms,background 180ms; }
.friending-page .sf-button > span { font-size:27px; line-height:1; font-weight:400; }
.friending-page .sf-button-small { min-height:43px; font-size:12px; padding:9px 14px; box-shadow:none; }
.sf-text-link { display:inline-flex; align-items:center; gap:14px; min-height:44px; font-size:12px; font-weight:700; text-decoration:underline; text-underline-offset:5px; }
/* A calm invitation and a functional preview of the paired conversations. */
.sf-hero { background:#faf8f5; padding-top:28px; position:relative; isolation:isolate; }

.sf-hero-topline { display:flex; justify-content:space-between; gap:20px; align-items:center; }
.sf-hero-topline .sf-eyebrow { margin:0 !important; }
.sf-hero-topline > span { font-size:10px; }
.sf-hero-grid { display:grid; grid-template-columns:1.15fr .85fr; align-items:center; gap:70px; min-height:580px; }
.sf-hero-copy { position:relative; z-index:3; padding-block:44px; }
.friending-page .sf-hero h1 { font-size:clamp(4rem,6.8vw,6.3rem); font-weight:500; line-height:.94; letter-spacing:-.055em; }
.sf-hero h1 em { font-weight:400; position:relative; isolation:isolate; }
.sf-hero h1 em::after { content:""; position:absolute; z-index:-1; height:20%; bottom:0; inset-inline:-6px; background:#e4dbea; transform:rotate(-3deg); clip-path:polygon(1% 9%,100% 0,98% 85%,0 100%); }
.friending-page .sf-lead { font-size:19px; line-height:1.55; margin-top:29px; max-width:420px; }
.friending-page .sf-intro { font-size:14px; max-width:405px; margin-top:18px; }
.sf-hero-actions { margin-top:25px; }
.friending-page .sf-solo-note { margin-top:18px; font-size:11px; max-width:380px; }











.sf-hero-bottom { display:flex; align-items:center; justify-content:space-between; gap:30px; padding-block:22px 25px; border-top:1px solid #293e4940; }
.sf-summary { display:flex; gap:40px; }
.sf-summary > span { display:grid; gap:6px; }.sf-summary > span + span { padding-left:30px; border-left:1px solid #293e4940; }
.sf-summary small { font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
.sf-summary strong { font-size:14px; font-weight:750; }
/* Recognition before explanation. */
.sf-recognition { background:#e9eff1; }
.sf-recognition-grid { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:90px; }
.sf-recognition-grid > div > p:not(.sf-eyebrow) { font-size:15px; max-width:440px; margin-top:24px; }
.sf-recognition-note { position:relative; padding:32px 36px; background:#fdfbf8; transform:rotate(2deg); box-shadow:6px 6px 0 #a5b6c040; }
.sf-recognition-note::before { content:""; position:absolute; top:-14px; left:39%; width:90px; height:29px; background:#b3cbdba6; transform:rotate(-6deg); }
.sf-recognition-note > span { font:60px/.8 Georgia,serif; color:#7b6399; display:block; margin-bottom:20px; }
.friending-page .sf-recognition-note h3 { font-size:31px; line-height:1.13; }
.sf-recognition-note p { font-size:14px !important; margin-top:17px !important; }
.sf-recognition-note a { margin-top:15px; font-size:11px; }
.sf-section-heading { display:grid; grid-template-columns:1.15fr 1fr; gap:70px; align-items:end; margin-bottom:42px; }
.sf-section-heading > p,.sf-section-heading > div > p:not(.sf-eyebrow) { max-width:425px; font-size:15px; line-height:1.75; }
.sf-section-next { margin-top:28px; text-align:right; }
.sf-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; padding:0; margin:0; list-style:none; }
.sf-steps li { position:relative; padding:20px 27px 28px; background:#e3d9ec; }
.sf-steps li:nth-child(2) { background:#d1e1e4; transform:rotate(1deg); }.sf-steps li:nth-child(3) { background:#e8dce2; }
.sf-step-art { display:block; width:140px; height:140px; margin:0 auto 22px; mix-blend-mode:multiply; transition:transform 200ms; }
.sf-step-number { position:absolute; top:20px; left:23px; font-size:11px; }
.friending-page .sf-steps h3 { font-size:28px; margin-bottom:13px; line-height:1.1; }
.sf-steps p { font-size:13px; }
.sf-timing { display:inline-flex; flex-wrap:wrap; align-items:baseline; gap:6px; font-size:9px; border-top:1px solid #293e4928; padding-top:13px; margin-top:17px; }.sf-timing b { font-size:11px; }
/* The sampler belongs in the hero; no extra decorative or duplicate section. */
.sf-hero-sample { padding-block:45px 25px; min-width:0; }
.friending-page .sf-sample-caption { font:italic 500 21px/1.3 Newsreader,serif; margin-bottom:20px; text-align:center; }
.friending-page .sf-sample-note { font-size:10px; text-align:center; margin-top:19px; }
.sf-hero-sample .sf-card-game { margin-inline:auto; }





.sf-card-game { position:relative; width:min(100%,390px); justify-self:center; padding-top:15px; }
.sf-card-under { position:absolute; inset:15px 0 70px; border:1px solid #9c98a5; border-radius:2px; }
.sf-card-under-one { background:#c4aedb; transform:rotate(-7deg); }.sf-card-under-two { background:#b8ced9; transform:rotate(5deg); }
.sf-question-card { position:relative; min-height:350px; display:flex; flex-direction:column; padding:25px 29px; background:#fdfbf8; border:1px solid var(--pena-blue); border-radius:2px; box-shadow:4px 6px 0 #30596f10; cursor:grab; touch-action:pan-y; user-select:none; }
.sf-question-card:active { cursor:grabbing; }
.sf-card-top { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:9px; text-transform:uppercase; letter-spacing:.08em; font-weight:750; }
.sf-card-symbol { font:italic 70px/.9 Newsreader,serif; color:#9e83b6; height:65px; margin-top:25px; }
.friending-page .sf-question { font:500 34px/1.15 Newsreader,Georgia,serif; letter-spacing:-.04em; margin-block:auto; min-height:3.3em; text-wrap:balance; }
.sf-card-foot { display:flex; align-items:center; justify-content:space-between; gap:15px; font-size:7px; letter-spacing:.1em; margin-top:28px; }.sf-card-foot > span:last-child { font-size:27px; line-height:1; }
.sf-deck-controls { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:27px; }.sf-deck-controls > span { font-size:9px; }
.sf-deck-controls button { display:inline-flex; justify-content:center; align-items:center; gap:15px; min-height:44px; padding:0 5px; color:var(--sf-ink); background:transparent; border:0; border-bottom:1px solid #30596f66; font:750 12px Manrope,sans-serif; cursor:pointer; }
.sf-deck-controls .sf-previous { width:44px; border:1px solid #30596f66; border-radius:50%; font-size:22px; }.sf-draw > span { font-size:23px; }
.sf-question-card.is-turning { animation:sf-card-turn 340ms ease; }
@keyframes sf-card-turn { 0% { transform:translateX(0) rotate(0); } 35% { transform:translateX(18px) rotate(4deg); } 100% { transform:translateX(0) rotate(0); } }
.sf-host { display:grid; grid-template-columns:.85fr 1.15fr; gap:85px; align-items:center; }
.sf-host-photo { position:relative; background:#fffdf7; padding:10px 10px 0; border:1px solid #c1bcb1; transform:rotate(-3deg); box-shadow:9px 9px 0 #c7b6db; }
.sf-host-photo::before { content:""; position:absolute; z-index:1; top:-15px; left:37%; width:95px; height:30px; background:#c1cedabc; transform:rotate(6deg); }
.sf-host-photo > img { display:block; width:100%; height:auto; aspect-ratio:1.22; object-fit:cover; }
.sf-host-photo figcaption { display:flex; justify-content:space-between; align-items:baseline; gap:10px; padding:16px 6px; font-size:11px; font-weight:750; }.sf-host-photo figcaption span { font:italic 14px Newsreader,serif; }
.sf-host-copy h2 { font-size:clamp(2.5rem,4.1vw,3.7rem); margin-bottom:22px; }
.sf-host-copy > p:not(.sf-eyebrow) { font-size:15px; max-width:480px; }.sf-host-copy > a { margin-top:16px; }
.sf-venue { display:flex; gap:20px; border-top:1px solid #293e4935; padding-top:22px; margin-top:25px; }.sf-venue-flower { font-size:42px; line-height:1; color:#a490bb; }.sf-venue small { font-size:9px; letter-spacing:.07em; text-transform:uppercase; }
.friending-page .sf-venue h3 { font:italic 500 28px/1.1 Newsreader,serif; margin-block:9px; }.sf-venue p { font-size:12px; }
.sf-faq { display:grid; grid-template-columns:.8fr 1.2fr; gap:65px; position:relative; isolation:isolate; }
.sf-faq::before { content:""; position:absolute; inset:0 calc((100vw - 100%)/-2); z-index:-1; background:#f0eaf2; }
.sf-accordion details { border-bottom:1px solid #293e4940; }.sf-accordion details:first-child { border-top:1px solid #293e4940; }
.sf-accordion summary { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:69px; padding:19px 0; list-style:none; font-size:14px; font-weight:750; cursor:pointer; }
.sf-accordion summary::-webkit-details-marker { display:none; }.sf-accordion summary > span { flex:0 0 26px; font-size:23px; font-weight:400; text-align:center; transition:transform 180ms; }.sf-accordion details[open] summary > span { transform:rotate(45deg); }
.sf-accordion p { font-size:14px; padding:0 25px 23px 0; }
/* The offer ends the journey. Explicit row padding protects every baseline. */
.sf-booking { background:#e0e9ed; }
.sf-booking .sf-section-heading { align-items:center; margin-bottom:30px; }
.sf-offer-includes { margin-bottom:35px; padding-block:20px; border-block:1px solid #293e4935; }
.sf-offer-includes > p { font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; margin-bottom:13px; }
.sf-offer-includes ul { display:flex; flex-wrap:wrap; gap:14px 30px; list-style:none; margin:0; padding:0; font-size:13px; }.sf-offer-includes li::before { content:"✓"; margin-right:9px; color:#30596f; font-weight:800; }
.friending-page .seven-minut-event-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.friending-page .seven-minut-event-card { display:flex; flex-direction:column; gap:0; min-width:0; min-height:0; padding:30px; border:1px solid var(--pena-blue); border-radius:2px; background:#fdfbf8; color:var(--sf-ink); box-shadow:6px 7px 0 #9daeba26; }
.friending-page .seven-minut-event-card::after { display:none; }
.friending-page .seven-minut-event-status { font-size:10px; letter-spacing:.07em; color:var(--pena-muted); margin:0 0 22px; }.friending-page .seven-minut-event-status span { background:var(--pena-ink); box-shadow:none; }
.friending-page .seven-minut-event-card h3 { font-size:34px; line-height:1.15; letter-spacing:-.035em; max-width:none; margin:0 0 25px; }
.friending-page .seven-minut-event-intro { min-height:3.3em; font-size:13px; line-height:1.65; margin:-10px 0 23px; max-width:410px; }
.friending-page .seven-minut-event-card dl { display:block; padding:0; margin:0 0 27px; border:0; border-top:1px solid var(--pena-blue); }
.friending-page .seven-minut-event-card dl > div { display:grid; grid-template-columns:70px minmax(0,1fr); align-items:baseline; column-gap:15px; row-gap:4px; padding:14px 0; margin:0; border:0; border-bottom:1px solid var(--pena-blush); }
.friending-page .seven-minut-event-card dt { padding:0; margin:0; color:var(--pena-muted); font:650 10px/1.6 Manrope,sans-serif; text-transform:uppercase; letter-spacing:.08em; }
.friending-page .seven-minut-event-card dd { padding:0; margin:0; color:var(--sf-ink); font:650 14px/1.6 Manrope,sans-serif; overflow-wrap:anywhere; }
.friending-page .seven-minut-card-actions { margin-top:auto; }
.friending-page .seven-minut-card-cta { display:inline-flex; align-items:center; justify-content:space-between; width:100%; gap:20px; min-height:53px; padding:15px 19px !important; border:1px solid var(--sf-blue) !important; border-radius:2px !important; background:var(--sf-blue) !important; color:white !important; box-shadow:none !important; font:750 14px/1.4 Manrope,sans-serif; text-transform:none; }
.friending-page .seven-minut-card-cta[aria-disabled="true"] { background:#e9e7df !important; color:var(--pena-muted) !important; border-color:#d1cbbf !important; transform:none; }
.friending-page .seven-minut-event-card-note { margin-top:14px; font-size:11px; line-height:1.6; color:var(--pena-muted); }.friending-page .seven-minut-event-card--empty > p { font-size:14px; margin-bottom:20px; }
.friending-page .seven-minut-event-card:is(.is-full,.is-empty,.is-registration-disabled) .seven-minut-event-status { color:#74665c; }.friending-page .seven-minut-event-card:is(.is-full,.is-empty,.is-registration-disabled) .seven-minut-event-status span { background:#a5937b; }
.friending-page .seven-minut-event-list > .pena-subscribe { grid-column:1/-1; justify-self:start; }.friending-page .seven-minut-checkout-message { background:var(--sf-paper); }.friending-page [data-booking-cta].is-checkout-loading { cursor:wait; opacity:.7; }
.friending-page .sf-booking-help { font-size:13px; margin-top:32px; }.sf-booking-help a { text-underline-offset:4px; }
.friending-page .seven-minut-footer { background:#f5f4f2; border-top:1px solid #293e4930; color:var(--sf-ink); }.friending-page .seven-minut-footer-inner > a img { filter:none; }.friending-page .seven-minut-footer :is(p,nav a,nav button) { color:#596970; }
@media (hover:hover) {
 .friending-page .sf-button:hover { background:#234657; transform:translateY(-2px); }.friending-page .seven-minut-card-cta:hover { background:#234657 !important; }
 .sf-steps li:hover .sf-step-art { transform:rotate(-4deg); }
}
@media (max-width:1000px) {
 .sf-wrap { width:calc(100% - 64px); }.sf-hero-grid { gap:12px; min-height:550px; }
 .sf-recognition-grid,.sf-section-heading,.sf-host,.sf-faq { gap:40px; }.sf-section { padding-block:65px; }.sf-steps { gap:16px; }.sf-steps li { padding:18px 20px 24px; }.sf-deck-controls > span { display:none; }
}
@media (max-width:700px) {
 .friending-page .seven-minut-event-intro { min-height:0; }
 .sf-wrap { width:calc(100% - 40px); }.sf-section { padding-block:52px; }.sf-header-inner { height:68px; gap:12px; }.sf-brand img { width:63px; height:45px; }.sf-partner { width:32px; height:32px; }.sf-header nav > a:first-child { display:none; }
 .friending-page .sf-header .sf-button-small { min-height:43px; padding:9px 12px; gap:18px; font-size:11px; white-space:nowrap; }.friending-page :is(section,main,aside)[id] { scroll-margin-top:68px; }
 .sf-hero { padding-top:24px; }.sf-hero-topline { display:block; }.sf-hero-topline .sf-eyebrow { font-size:9px; }.sf-hero-topline > span { display:block; font-size:9px; margin-top:5px; }.sf-hero-grid { grid-template-columns:1fr; min-height:0; gap:10px; }
 .sf-hero-sample { padding-block:27px 25px; }.friending-page .sf-sample-caption { font-size:19px; }.sf-hero-copy { padding-block:29px 0; }.friending-page .sf-hero h1 { font-size:clamp(3.35rem,12.3vw,5rem); line-height:.99; }.friending-page .sf-lead { font-size:17px; margin-top:24px; }.friending-page .sf-intro { font-size:14px; margin-top:15px; }.sf-hero-actions { margin-top:23px; }.friending-page .sf-hero .sf-button { font-size:12px; padding:14px 17px; min-height:52px; gap:20px; }.friending-page .sf-solo-note { margin-top:16px; font-size:11px; }

 .sf-hero-bottom { display:grid; gap:10px; padding-block:21px 17px; }.sf-summary { gap:25px; }.sf-summary > span + span { padding-left:25px; }.sf-summary small { font-size:8px; }.sf-summary strong { font-size:12px; }.sf-hero-bottom > a { font-size:11px; }
 .sf-recognition-grid,.sf-section-heading,.sf-host,.sf-faq { grid-template-columns:1fr; gap:32px; }.sf-recognition-grid > div > p:not(.sf-eyebrow) { font-size:14px; }.sf-recognition-note { padding:28px 25px; width:calc(100% - 10px); justify-self:center; }.friending-page .sf-recognition-note h3 { font-size:29px; }.sf-recognition-note a { font-size:10px; }
 .sf-section-heading { gap:24px; margin-bottom:30px; }.sf-section-heading > p,.sf-section-heading > div > p:not(.sf-eyebrow) { font-size:14px; }
 .sf-steps { grid-template-columns:1fr; gap:18px; }.sf-steps li { padding:22px 22px 25px 103px; }.sf-step-art { position:absolute; width:95px; height:95px; top:28px; left:0; }.sf-step-number { position:static; display:block; font-size:9px; margin-bottom:12px; }.friending-page .sf-steps h3 { font-size:25px; }.sf-steps p { font-size:13px; }
 .sf-card-game { width:calc(100% - 26px); max-width:360px; }.sf-question-card { min-height:325px; padding:23px; }.sf-card-top { font-size:8px; }.friending-page .sf-question { font-size:30px; }.sf-card-symbol { font-size:64px; height:55px; }.sf-card-foot { font-size:6px; }.sf-deck-controls button { font-size:11px; }
 .sf-host-photo { width:calc(100% - 18px); max-width:410px; justify-self:center; }.sf-host-photo figcaption { padding:14px 3px; font-size:10px; }.sf-host-photo figcaption span { font-size:12px; }.sf-host-copy h2 { font-size:39px; }.sf-host-copy > p:not(.sf-eyebrow) { font-size:14px; }.sf-venue { gap:15px; }.friending-page .sf-venue h3 { font-size:26px; }
 .sf-accordion summary { min-height:66px; font-size:13px; }.sf-accordion p { font-size:13px; }
 .sf-offer-includes { margin-bottom:27px; }.sf-offer-includes ul { display:grid; gap:10px; font-size:12px; }.sf-offer-includes > p { font-size:10px; }.friending-page .seven-minut-event-list { grid-template-columns:1fr; gap:23px; }.friending-page .seven-minut-event-card { padding:23px; }.friending-page .seven-minut-event-card h3 { font-size:30px; }.friending-page .seven-minut-event-card dl > div { grid-template-columns:57px minmax(0,1fr); column-gap:12px; padding:13px 0; }.friending-page .seven-minut-event-card dd { font-size:13px; }.friending-page .seven-minut-event-card dt { font-size:9px; }.friending-page .seven-minut-card-cta { font-size:13px; }.friending-page .sf-booking-help { font-size:12px; }
}
@media (max-width:360px) {
 .sf-header-inner { gap:8px; }.sf-brand img { width:54px; }.sf-partner { width:29px; height:29px; }.friending-page .sf-header .sf-button-small { font-size:10px; }.friending-page .sf-hero .sf-button { gap:11px; font-size:11px; }.sf-steps li { padding-left:87px; }.sf-step-art { width:81px; height:81px; }.sf-card-game { width:calc(100% - 20px); }.sf-question-card { padding:20px; }.sf-summary { gap:20px; }.sf-summary > span + span { padding-left:20px; }
}
@media (prefers-reduced-motion: reduce) {
 .friending-page *, .friending-page *::before, .friending-page *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}
