
:root{--blue:#245EA8;--navy:#183A63;--light-blue:#B8DCF4;--pink:#F16B9A;--soft-pink:#FCE1EA;--bg:#F7F9FC;--white:#fff;--text:#1C2733;--muted:#596878;--line:#dce3eb;--green:#247052;--red:#ad3443;--notification-red:#cf2348;--radius:20px;--shadow:0 10px 35px #183a6309}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--blue);text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}*:focus-visible{outline:3px solid var(--blue)}button,.btn{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border-radius:11px;border:1px solid transparent;padding:10px 18px;background:var(--blue);color:white;font-weight:650}button:hover,.btn:hover{filter:brightness(.95)}.secondary{background:white;color:var(--navy);border-color:var(--line)}.quiet{background:transparent;color:var(--blue)}.danger{background:#fff0f1;color:var(--red);border-color:#edc7cc}.like{background:var(--soft-pink);color:#a52e59}.small{font-size:13px;padding:7px 12px;min-height:38px}button:disabled{opacity:.5;cursor:not-allowed}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(32px,4vw,52px);line-height:1.14;letter-spacing:-1.8px;font-weight:720;margin-bottom:20px}h2{font-size:29px;line-height:1.25;letter-spacing:-.7px}h3{font-size:20px;line-height:1.3;margin-bottom:10px}.muted,small{color:var(--muted)}.eyebrow{font-size:12px;font-weight:750;letter-spacing:2px;text-transform:uppercase;color:var(--blue);margin-bottom:15px}.header{height:88px;background:var(--white);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1240px)/2));gap:24px}.logo{font-size:32px;font-weight:800;letter-spacing:-1.6px;color:var(--navy);display:flex;align-items:center;gap:10px}.logo-mark{display:inline-block;width:30px;height:30px;border:7px solid var(--blue);border-radius:50% 50% 50% 8px;transform:rotate(-25deg)}.header nav,.actions,.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.header nav a{color:var(--muted);font-size:14px;padding:8px}.header nav a.active{color:var(--blue);font-weight:750}.header select{width:auto;padding:7px;font-size:13px}.avatar{width:42px;height:42px;border-radius:50%;object-fit:cover}.wrap{max-width:1240px;margin:auto;padding:48px 24px 72px}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;align-items:center;padding:30px 0 70px}.hero h1{font-size:clamp(42px,5vw,66px);line-height:1.08;letter-spacing:-2.8px}.hero h1 span{color:var(--blue)}.hero p{max-width:480px;font-size:18px}.hero-art{position:relative;padding:20px 0 30px 30px}.hero-art>img{width:100%;height:450px;object-fit:cover;border-radius:140px 24px 24px 24px}.floating{position:absolute;bottom:0;left:0;background:white;padding:20px 26px;border-radius:16px;box-shadow:0 12px 40px #183a631c;max-width:85%}.floating b{display:block}.trust{display:flex;justify-content:space-between;gap:20px;padding:24px 0 35px;border-top:1px solid var(--line);font-size:14px;color:var(--muted);flex-wrap:wrap}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow);overflow:hidden}.card p:last-child{margin-bottom:0}.section{margin-top:64px}.section-heading,.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.page-heading h1{font-size:38px;margin-bottom:8px}.page-heading p{margin:0;color:var(--muted)}.pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:20px;background:#eaf1f9;color:var(--blue);font-size:12px;font-weight:650;line-height:1.7}.pill.green{background:#e7f3ed;color:var(--green)}.pill.pink{background:var(--soft-pink);color:#943252}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.chips label{border:1px solid var(--line);padding:8px 12px;border-radius:24px;cursor:pointer;font-size:14px}.chips label:has(input:checked){background:#eaf1f9;border-color:var(--blue)}.chips input{width:auto;margin-right:6px}.profile-card{padding:0}.profile-card>img{width:100%;height:285px;object-fit:cover}.profile-body{padding:22px}.profile-body .actions{margin-top:18px}.profile-body h3{margin:0}.profile-body p{font-size:14px}.banner{background:#eaf1f9;color:var(--navy);padding:20px 24px;border-radius:14px;margin-bottom:25px}.banner p{margin:6px 0}.banner.warn{background:#fff2dc;color:#78571e}.filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:28px}.filters label{flex:1;min-width:140px}.filters input,.filters select{background:white}.narrow{max-width:600px;margin:auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-weight:600;font-size:14px}input,select,textarea{display:block;width:100%;border:1px solid #cbd5e0;border-radius:10px;background:white;padding:12px;margin-top:6px;color:var(--text);min-height:46px}textarea{resize:vertical;min-height:110px}form>label,form>.form-grid,form>fieldset{margin-bottom:18px}fieldset{border:0;padding:0;margin:0}legend{font-weight:650;font-size:14px}.check{display:flex;gap:10px;align-items:start;font-weight:400;margin:15px 0}.check input{width:18px;min-height:18px;flex-shrink:0}.error{color:var(--red);margin:12px 0;font-size:14px}.price{font-size:58px;font-weight:750;letter-spacing:-2px;line-height:1.2;color:var(--navy)}.price small{font-size:18px;letter-spacing:0;font-weight:450}.feature-list{list-style:none;padding:0}.feature-list li{padding:9px 0}.feature-list li:before{content:'✓';color:var(--green);margin-right:12px}.footer{border-top:1px solid var(--line);padding:32px 24px 75px;max-width:1240px;margin:auto;font-size:13px}.footer .row{justify-content:space-between}.footer a{color:var(--muted)}.demo{background:#183a63;color:white;padding:10px 24px;display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;font-size:12px}.demo select{font-size:12px;padding:5px 10px;min-height:32px;width:auto;margin:0;max-width:100%}.demo a{color:white;text-decoration:underline}.bottom-nav{display:none}.split{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,1fr);gap:28px}.cover{width:100%;height:300px;object-fit:cover;border-radius:18px}.portrait{max-height:520px;width:100%;object-fit:cover;border-radius:18px}.plan-art{height:170px;background:#e5eff1;display:flex;align-items:center;justify-content:center;font-size:60px;margin:-26px -26px 22px}.plan-art img{width:100%;height:100%;object-fit:cover}.empty{text-align:center;padding:55px 24px}.empty .symbol{font-size:48px;color:var(--blue);margin-bottom:16px}.stack>*+*{margin-top:16px}.progress{height:8px;background:#e2e9f1;border-radius:9px;overflow:hidden;margin:16px 0 24px}.progress>div{height:100%;background:var(--blue)}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.photo-grid img{width:100%;border-radius:12px}.photo-grid .card{padding:12px}.chat-log{min-height:280px;display:flex;flex-direction:column;gap:16px;margin:25px 0}.bubble{max-width:80%;background:#edf2f7;border-radius:14px 14px 14px 3px;padding:12px 16px;align-self:start}.bubble.mine{background:#e3edfa;align-self:end;border-radius:14px 14px 3px 14px}.bubble small{display:block;font-size:11px}.chat-form{display:flex;gap:10px}.chat-form input{margin:0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px;white-space:nowrap}th,td{text-align:left;padding:14px 12px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-size:12px}details{border-bottom:1px solid var(--line);padding:16px 0}summary{cursor:pointer;font-weight:650;min-height:30px}details p{margin-top:12px}.admin-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:35px}.admin-nav a{display:block;padding:11px 16px;border-radius:10px;color:var(--navy)}.admin-nav a.active{background:#e3edfa;font-weight:700}.stat b{font-size:32px;display:block;color:var(--navy)}dialog{border:1px solid var(--line);border-radius:22px;padding:30px;width:calc(100% - 36px);max-width:510px;box-shadow:0 25px 100px #183a6340}dialog::backdrop{background:#142d4b66}#toast{position:fixed;bottom:90px;left:50%;transform:translateX(-50%);background:var(--navy);color:white;border-radius:12px;padding:14px 22px;z-index:20;display:none;max-width:90%;box-shadow:var(--shadow)}.skip{position:fixed;left:12px;top:-80px;z-index:99;background:white;padding:14px}.skip:focus{top:12px}.legal h2{margin-top:28px;font-size:22px}.full{grid-column:1/-1}.step{font-size:13px;color:var(--blue);margin-bottom:20px}.inline-link{text-decoration:underline}.status-line{font-size:12px;color:var(--muted);margin-top:20px}.mobile-hide{display:initial}@media(min-width:1500px){.wrap{padding-top:65px}}@media(max-width:1000px){.header{padding:0 24px}.header nav{gap:0}.header nav a{padding:7px;font-size:12px}.hero{gap:30px}.grid.four{grid-template-columns:repeat(2,1fr)}.grid{gap:16px}.profile-card>img{height:230px}.admin-layout{grid-template-columns:170px minmax(0,1fr)}}@media(max-width:700px){.header{height:72px;padding:0 18px}.header nav{display:none}.logo{font-size:28px}.wrap{padding:30px 18px 70px}.hero{grid-template-columns:1fr;gap:20px;padding:10px 0 40px}.hero h1{font-size:44px}.hero-art{padding:0 0 25px 16px}.hero-art>img{height:300px;border-radius:80px 20px 20px 20px}.hero p{font-size:16px}.trust{gap:14px;font-size:12px}.grid,.grid.two{grid-template-columns:1fr}.grid.four{grid-template-columns:1fr 1fr}.section{margin-top:44px}.section-heading,.page-heading{align-items:start;flex-direction:column;gap:14px}.page-heading h1{font-size:33px}.profile-card>img{height:310px;object-position:50% 35%}.split{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.card{padding:22px}.profile-card{padding:0}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:white;border-top:1px solid var(--line);justify-content:space-around;z-index:10;padding:8px 3px max(8px,env(safe-area-inset-bottom))}.bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:1px;font-size:10px;color:var(--muted);min-width:55px;padding:4px}.bottom-nav b{font-size:20px;line-height:1.2}.bottom-nav .active{color:var(--blue)}.demo{padding:8px 12px;gap:8px}.demo .hint{display:none}.admin-layout{grid-template-columns:1fr;gap:22px}.admin-nav{display:flex;overflow:auto}.admin-nav a{white-space:nowrap}.photo-grid{grid-template-columns:1fr 1fr}.mobile-hide{display:none}.cover{height:220px}.plan-art{margin:-22px -22px 22px}.footer .row{justify-content:start}.chat-form{flex-wrap:wrap}.chat-form input{flex:1;min-width:160px}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mobile-menu{display:none}@media(max-width:700px){.mobile-menu{display:block;margin:0;border:0;padding:0}.mobile-menu summary{font-size:13px;color:var(--blue);min-height:44px;display:flex;align-items:center}.mobile-menu[open]>div{position:absolute;right:18px;top:145px;background:white;box-shadow:var(--shadow);border:1px solid var(--line);border-radius:14px;padding:14px;z-index:15;min-width:200px}.mobile-menu a{display:block;padding:10px}}
.admin-layout>*{min-width:0}.admin-nav{max-width:100%}.table-wrap{max-width:100%}
.profile-gallery{min-width:0}.gallery-stage{background:var(--light-blue);border-radius:18px;overflow:hidden}.gallery-stage .portrait{display:block;width:100%;height:480px;object-fit:contain}.gallery-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:12px 0}.gallery-count{font-size:14px;color:var(--muted)}.gallery-thumbs{display:flex;gap:10px;overflow-x:auto;padding:5px}.gallery-thumb{flex:0 0 72px;padding:3px;border:2px solid transparent;background:var(--white);border-radius:12px}.gallery-thumb[aria-pressed=true]{border-color:var(--blue)}.gallery-thumb img{display:block;width:62px;height:76px;object-fit:cover;border-radius:7px}@media(max-width:700px){.gallery-stage .portrait{height:380px}.gallery-thumbs{gap:6px}.gallery-thumb{flex-basis:56px}.gallery-thumb img{width:46px;height:60px}}
.gallery-thumb{position:relative}.gallery-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--white);font-size:24px;text-shadow:0 2px 6px var(--navy);pointer-events:none}.gallery-video{position:relative}.gallery-video-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#183a6340;padding:20px;text-align:center}.gallery-video-overlay span{background:var(--navy);color:var(--white);padding:5px 10px;border-radius:8px;font-size:12px}
.split>*{min-width:0}.gallery-thumbs{max-width:100%}
/* Landing hero based on the owner's visual reference. */
.wrap:has(.hero-reference){max-width:1480px}.hero-reference{grid-template-columns:minmax(0,.95fr) minmax(0,1.1fr);gap:32px;padding:30px 0 65px;align-items:center}.hero-reference .hero-copy{min-width:0}.hero-reference h1{font-size:clamp(42px,4.7vw,72px);letter-spacing:-3px;line-height:1.09}.hero-reference .hero-copy>p.muted{font-size:20px;max-width:570px;margin:30px 0}.hero-reference .hero-copy>.actions{gap:16px}.hero-reference .hero-copy>.actions .btn{min-height:56px}.hero-reference .hero-copy>.status-line{font-size:15px;margin-top:22px}.hero-reference .hero-art{height:650px;padding:0 0 42px;isolation:isolate;min-width:0}.hero-reference .hero-art:before{content:'';position:absolute;inset:-24px 0 75px 22%;background:#e3effb;border-radius:60% 12% 20% 10%;transform:rotate(-3deg);z-index:-1}.hero-reference .hero-photo{width:100%;height:100%;object-fit:cover;object-position:50% 50%;border-radius:190px 30px 55px 65px}.hero-image-missing{height:100%;background:var(--light-blue);border-radius:190px 30px 55px 65px;padding:240px 45px 100px;text-align:center;color:var(--navy);overflow-wrap:anywhere}.hero-image-missing strong{display:block;font-size:14px;margin-top:12px}.hero-tag{position:absolute;display:flex;align-items:center;gap:14px;background:#fffffff2;border-radius:18px;padding:15px 20px;font-size:14px;line-height:1.4;box-shadow:0 8px 25px #183a6309}.hero-tag>span:first-child{font-size:32px;color:var(--blue)}.hero-tag-dating{left:13%;top:60px}.hero-tag-dating>span:first-child{color:var(--pink)}.hero-tag-plans{right:4%;top:90px}.hero-speech{position:absolute;right:3%;top:235px;background:white;border-radius:16px;padding:14px 18px;transform:rotate(-5deg);font-size:14px;line-height:1.4}.hero-speech:after{content:'';position:absolute;bottom:-10px;left:22px;border-top:13px solid white;border-right:13px solid transparent}.hero-reference .floating{left:6%;right:4%;bottom:0;max-width:none;display:flex;align-items:center;gap:18px;padding:25px;border-radius:26px}.hero-reference .floating .eyebrow{font-size:11px;letter-spacing:1.5px;display:block;margin-bottom:5px}.hero-reference .floating b{font-size:19px;line-height:1.4}.hero-community{background:#eaf1f9;border-radius:50%;min-width:58px;height:58px;display:flex;align-items:center;justify-content:center;font-size:25px;color:var(--blue)}.hero-arrow{display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:auto;width:48px;height:48px;background:var(--pink);color:var(--navy);border-radius:50%;font-size:30px}.hero-benefits{display:flex;flex-wrap:wrap;gap:20px;margin-top:65px}.hero-benefits>div{display:flex;gap:10px;align-items:start}.hero-benefits>div>span{font-size:28px;color:var(--blue);line-height:1.2}.hero-benefits p{font-size:12px;margin:0}.hero-benefits strong,.hero-benefits small{display:block}.hero-benefits strong{font-weight:650}.hero-benefits small{font-size:11px}@media(max-width:1100px){.hero-reference h1{font-size:48px}.hero-reference .hero-art{height:560px}.hero-tag{padding:12px;font-size:12px;gap:8px}.hero-tag-dating{left:6%;top:60px}.hero-tag-plans{top:150px}.hero-reference .floating{padding:18px;gap:10px}.hero-community{display:none}.hero-reference .floating b{font-size:16px}.hero-reference .hero-copy>p.muted{font-size:17px}.hero-benefits{margin-top:35px;gap:14px}}@media(max-width:700px){.hero-reference{grid-template-columns:minmax(0,1fr);gap:35px;padding:10px 0 40px}.hero-reference h1{font-size:clamp(38px,9.8vw,58px);letter-spacing:-2px}.hero-reference .hero-copy>p.muted{margin:22px 0}.hero-reference .hero-copy>.eyebrow{font-size:11px;letter-spacing:1.5px}.hero-reference .hero-art{height:470px}.hero-reference .hero-photo,.hero-image-missing{border-radius:100px 22px 35px 35px}.hero-tag-dating{top:30px;left:7%}.hero-tag-plans{top:110px;right:3%}.hero-speech{top:225px;font-size:12px;padding:10px 14px}.hero-reference .floating{left:3%;right:3%;padding:18px;border-radius:20px}.hero-reference .floating .eyebrow{font-size:9px}.hero-reference .floating b{font-size:15px}.hero-arrow{width:40px;height:40px}.hero-image-missing{padding:215px 35px 70px;font-size:13px}.hero-benefits{margin-top:28px;gap:12px}}

/* Refined visual system: brand palette, consistent spacing and restrained depth. */
:root {
  --blue: #245EA8;
  --navy: #183A63;
  --light-blue: #B8DCF4;
  --pink: #F16B9A;
  --soft-pink: #FCE1EA;
  --bg: #F7F9FC;
  --text: #1C2733;
  --muted: #596878;
  --line: #e1e7ef;
  --radius: 24px;
  --shadow: 0 5px 24px #183a6306;
}
body { font-family: "Inter", "Avenir Next", system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
h1,h2,h3 { color: var(--navy); }
h1 { font-weight: 700; letter-spacing: -1.8px; }
h2 { font-weight: 650; letter-spacing: -.9px; }
h3 { font-weight: 650; letter-spacing: -.35px; }
p { text-wrap: pretty; }
.icon { width: 24px; height: 24px; display: inline-block; flex-shrink: 0; vertical-align: middle; }
button,.btn { border-radius: 12px; font-size: 14px; min-height: 48px; padding: 12px 20px; transition: background .15s, box-shadow .15s; }
button:hover,.btn:hover { filter: none; box-shadow: 0 4px 14px #183a6312; }
button:disabled:hover { box-shadow: none; }
.secondary { background: var(--white); border-color: var(--line); }
.quiet { background: transparent; }
.small { min-height: 40px; font-size: 12px; padding: 8px 13px; }
.like { background: var(--soft-pink); color: #8e2b50; }
.demo { min-height: 43px; padding: 6px 24px; background: #eef3f9; color: var(--muted); gap: 16px; border-bottom: 1px solid var(--line); font-size: 11px; }
.demo strong { color: var(--navy); font-size: 10px; letter-spacing: 1px; }
.demo select { min-height: 28px; border: 0; background: white; color: var(--navy); font-size: 11px; }
.demo .small { min-height: 28px; padding: 3px 10px; font-size: 11px; background: transparent; border: 0; }
.demo a { color: var(--blue); text-decoration: none; }
.header { height: 88px; padding: 0 max(28px,calc((100vw - 1280px)/2)); gap: 22px; background: #fff; border-bottom: 1px solid #edf1f6; }
.logo { gap: 9px; font-size: 32px; letter-spacing: -1.8px; }
.logo-mark { width: 27px; height: 31px; border-width: 6px; }
.header nav { gap: 12px; }
.header nav a { font-size: 13px; padding: 10px 7px; }
.header nav a.active { background: #edf3fa; border-radius: 9px; padding: 10px 14px; }
.header select { margin: 0; padding: 7px 10px; min-height: 40px; border-color: transparent; background: var(--bg); }
.wrap { max-width: 1280px; padding: 48px 28px 80px; }
.wrap:has(.hero-reference) { max-width: 1336px; padding-top: 44px; }
.hero-reference { grid-template-columns: minmax(0,1fr) minmax(0,1.03fr); gap: 50px; padding: 20px 0 60px; }
.hero-reference h1 { font-size: clamp(44px,4.4vw,64px); line-height: 1.08; letter-spacing: -2.9px; margin: 24px 0 0; color: #152d4d; }
.hero-reference h1 span { color: var(--blue); }
.hero-kicker { display: flex; align-items: center; gap: 9px; font-size: 10px; letter-spacing: 1.7px; margin-bottom: 0; }
.kicker-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--pink); flex-shrink: 0; }
.hero-reference .hero-copy>p.muted { max-width: 465px; font-size: 17px; line-height: 1.75; margin: 24px 0 28px; }
.hero-reference .hero-copy>.actions { gap: 10px; }
.hero-reference .hero-copy>.actions .btn { min-height: 53px; padding: 14px 22px; }
.hero-reference .hero-copy>.status-line { margin-top: 17px; font-size: 12px; color: var(--muted); }
.hero-reference .hero-art { height: 564px; padding: 0 0 48px; }
.hero-reference .hero-art:before { inset: -13px -12px 73px 15%; border-radius: 32px; background: #e5f0fa; transform: rotate(3deg); }
.hero-reference .hero-photo { border-radius: 100px 28px 28px 28px; object-position: 49% 50%; }
.hero-tag { box-shadow: 0 8px 26px #183a6310; border: 1px solid #ffffffa8; font-size: 12px; border-radius: 14px; padding: 13px 16px; gap: 12px; background: #fffffff5; }
.hero-tag .icon { width: 25px; height: 25px; color: var(--blue); }
.hero-tag-dating { top: 28px; left: 8%; }
.hero-tag-dating .icon { color: var(--pink); fill: var(--soft-pink); }
.hero-tag-plans { top: 70px; right: -12px; }
.hero-reference .floating { padding: 21px 23px; left: 5%; right: 5%; bottom: 0; border-radius: 20px; gap: 16px; box-shadow: 0 14px 45px #183a6310; border: 1px solid #eef2f7; }
.hero-reference .floating .eyebrow { font-size: 9px; letter-spacing: 1.5px; }
.hero-reference .floating b { font-size: 16px; letter-spacing: -.25px; line-height: 1.5; }
.hero-community { display: flex; height: 48px; min-width: 48px; background: #edf4fb; }
.hero-community .icon { width: 25px; height: 25px; }
.hero-arrow { width: 42px; height: 42px; font-size: 24px; color: var(--navy); background: var(--soft-pink); }
.hero-arrow:hover { background: var(--pink); }
.hero-benefits { margin-top: 36px; gap: 21px; }
.hero-benefits>div { gap: 8px; }
.hero-benefits .icon { color: var(--blue); width: 21px; height: 21px; margin-top: 1px; }
.hero-benefits p { font-size: 10px; line-height: 1.6; }
.hero-benefits small { font-size: 10px; }
.trust { justify-content: center; gap: 44px; padding: 22px 16px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: 12px; }
.section { margin-top: 76px; }
.section-heading { align-items: end; margin-bottom: 30px; }
.section-heading h2 { font-size: 34px; margin-bottom: 0; }
.section-heading>p { font-size: 14px; margin-bottom: 3px; }
.eyebrow { font-size: 10px; letter-spacing: 1.7px; }
.card { border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); padding: 28px; }
.concept-section .card { padding: 34px; position: relative; background: white; }
.concept-section .card:first-child { background: #fffbfc; border-color: #f0e2e8; }
.concept-section .card:last-child { background: #f3f8fd; border-color: #dae7f5; }
.concept-icon { display: flex; width: 52px; height: 52px; align-items: center; justify-content: center; color: var(--blue); background: #e2effa; border-radius: 15px; margin-bottom: 25px; }
.concept-icon.dating-icon { background: var(--soft-pink); color: #a3325a; }
.concept-section .card h2 { margin-top: 12px!important; font-size: 30px; }
.concept-section .card p { font-size: 15px; max-width: 470px; }
.concept-section .card .btn { padding-left: 0; margin-top: 8px; }
.how-section h2 { font-size: 34px; }
.how-section .card { box-shadow: none; border: 0; border-top: 1px solid #cddbed; border-radius: 0; padding: 26px 15px 8px 0; background: transparent; }
.how-section .card>.eyebrow { display: inline-flex; width: 38px; height: 38px; align-items: center; justify-content: center; background: #e8f0fa; border-radius: 50%; margin-bottom: 22px; }
.how-section .card h3 { font-size: 20px; }
.how-section .card p { font-size: 14px; }
.price-section { background: var(--navy); border-radius: 30px; padding: 44px; gap: 55px; align-items: center; }
.price-section>div:first-child { color: #e7effa; }
.price-section>div:first-child h2 { color: white; font-size: 37px; }
.price-section>div:first-child .eyebrow { color: var(--light-blue); }
.price-section>div:first-child p { font-size: 15px; line-height: 1.8; }
.price-section>div:first-child .btn { color: white; padding-left: 0; }
.price-section .card { border: none; padding: 34px; }
.price { font-size: 58px; font-weight: 700; }
.feature-list li { font-size: 14px; padding: 8px 0; }
.page-heading { margin-bottom: 32px; }
.page-heading h1 { font-size: 38px; letter-spacing: -1.3px; }
.page-heading p { font-size: 15px; }
.banner { background: #eaf2fb; border: 1px solid #dbe7f5; border-radius: 16px; padding: 20px 24px; font-size: 14px; }
.banner.warn { border-color: #efdfc0; }
.filters { padding: 18px; background: white; border: 1px solid var(--line); border-radius: 18px; gap: 14px; }
.filters label { font-size: 12px; }
input,select,textarea { border-color: #d6dfe9; border-radius: 11px; padding: 12px 14px; font-size: 14px; background: #fff; }
input[readonly] { background: #f0f3f7; color: var(--muted); }
input:focus,select:focus,textarea:focus { border-color: var(--blue); }
label,legend { font-size: 13px; }
form.card { padding: 32px; }
.chips label { background: white; font-size: 13px; }
.pill { background: #edf3fa; font-size: 11px; padding: 5px 11px; font-weight: 600; }
.pill.pink { background: var(--soft-pink); }
.profile-card { padding: 0; transition: box-shadow .2s; }
.profile-card:hover { box-shadow: 0 12px 30px #183a6310; }
.profile-card>img { height: 310px; }
.profile-body { padding: 24px; }
.profile-body h3 { font-size: 21px; }
.profile-body>.muted { font-size: 12px; margin-top: 5px; }
.profile-body .chips .pill { background: #f4f6f9; color: var(--muted); }
.profile-body .actions { border-top: 1px solid #edf1f6; padding-top: 18px; }
.plan-art { margin: -28px -28px 24px; height: 190px; background: #e7f1fa; }
.card:has(.plan-art)>h3 { font-size: 22px; }
.card:has(.plan-art)>p { font-size: 13px; }
.card:has(.plan-art)>.actions .btn { width: 100%; }
.gallery-stage { background: #eaf1f8; border-radius: 24px; }
.gallery-stage .portrait { border-radius: 0; height: 510px; }
.gallery-count { font-size: 12px; }
.gallery-thumb { border-radius: 13px; }
.gallery-thumb[aria-pressed=true] { border-color: var(--blue); box-shadow: 0 0 0 2px #dce9f9; }
.admin-nav a { font-size: 13px; margin-bottom: 4px; }
.admin-nav a.active { background: var(--navy); color: white; }
.admin-layout .stat { border-radius: 17px; padding: 20px; }
.stat span { font-size: 12px; }
.stat b { font-size: 30px; margin-top: 8px; }
th { background: #f5f8fc; font-size: 11px; text-transform: uppercase; letter-spacing: .6px; }
td { padding: 16px 12px; font-size: 13px; }
.table-wrap { padding: 8px; border-radius: 18px; }
.footer { max-width: 1280px; padding-top: 34px; }
.footer strong { font-size: 14px; color: var(--navy); }
.footer a { font-size: 12px; }
.bottom-nav .icon { width: 22px; height: 22px; }
@media (max-width:1100px) {
  .header { padding: 0 24px; }
  .header nav { gap: 2px; }
  .hero-reference { gap: 32px; }
  .hero-reference h1 { font-size: 47px; }
  .hero-reference .hero-art { height: 530px; }
  .hero-reference .floating { gap: 10px; padding: 18px; left: 0; right: 0; }
  .hero-reference .floating b { font-size: 14px; }
  .hero-community { display: none; }
  .hero-benefits { gap: 12px; }
  .hero-tag-plans { right: -4px; top: 118px; }
  .trust { gap: 22px; }
  .price-section { padding: 32px; gap: 30px; }
  .profile-card>img { height: 260px; }
}
@media (max-width:700px) {
  .demo { padding: 6px 12px; gap: 7px; }
  .demo strong { font-size: 9px; }
  .demo select { max-width: 180px; font-size: 10px; }
  .demo .small { font-size: 10px; padding: 2px 5px; }
  .demo a { font-size: 10px; }
  .header { height: 72px; padding: 0 18px; gap: 12px; }
  .logo { font-size: 29px; }
  .logo-mark { width: 23px; height: 27px; border-width: 5px; }
  .header>.row { gap: 6px; }
  .header .small { font-size: 11px; padding: 8px 11px; }
  .header select { font-size: 11px; padding: 6px; }
  .mobile-menu[open]>div { top: 134px; }
  .wrap,.wrap:has(.hero-reference) { padding: 28px 18px 65px; }
  .hero-reference { grid-template-columns: minmax(0,1fr); gap: 30px; padding: 10px 0 35px; }
  .hero-reference h1 { font-size: clamp(39px,10.8vw,60px); letter-spacing: -2px; margin-top: 18px; line-height: 1.07; }
  .hero-reference .hero-copy>.eyebrow { font-size: 9px; letter-spacing: 1px; }
  .hero-reference .hero-copy>p.muted { font-size: 15px; margin: 21px 0 23px; line-height: 1.7; }
  .hero-reference .hero-copy>.actions { gap: 6px; }
  .hero-reference .hero-copy>.actions .btn { padding: 12px 15px; font-size: 12px; min-height: 48px; }
  .hero-reference .hero-copy>.status-line { font-size: 11px; margin-top: 15px; }
  .hero-benefits { gap: 13px; margin-top: 26px; }
  .hero-benefits>div { gap: 7px; }
  .hero-benefits p,.hero-benefits small { font-size: 9px; }
  .hero-benefits .icon { width: 18px; height: 18px; }
  .hero-reference .hero-art { height: 432px; margin: 8px 0 0; padding-bottom: 43px; }
  .hero-reference .hero-art:before { inset: -8px -4px 62px 15%; border-radius: 22px; }
  .hero-reference .hero-photo { border-radius: 70px 22px 22px 22px; }
  .hero-tag { padding: 10px 12px; font-size: 10px; border-radius: 12px; gap: 8px; }
  .hero-tag .icon { width: 21px; height: 21px; }
  .hero-tag-dating { top: 17px; left: 10%; }
  .hero-tag-plans { top: 90px; right: -2px; }
  .hero-reference .floating { padding: 17px; border-radius: 17px; left: 3%; right: 3%; gap: 10px; }
  .hero-reference .floating .eyebrow { font-size: 8px; letter-spacing: 1px; }
  .hero-reference .floating b { font-size: 13px; }
  .hero-arrow { width: 37px; height: 37px; font-size: 22px; }
  .trust { justify-content: start; gap: 12px 22px; padding: 20px 0; font-size: 10px; }
  .section { margin-top: 52px; }
  .section-heading { gap: 12px; }
  .section-heading h2,.how-section h2 { font-size: 29px; }
  .section-heading>p { font-size: 13px; }
  .card { padding: 24px; border-radius: 20px; }
  .concept-section .card { padding: 26px; }
  .concept-section .card h2 { font-size: 27px; }
  .concept-section .card p { font-size: 14px; }
  .how-section .grid { gap: 26px; }
  .how-section .card { padding-top: 22px; }
  .price-section { padding: 27px 22px; gap: 26px; border-radius: 24px; }
  .price-section>div:first-child h2 { font-size: 31px; }
  .price-section .card { padding: 24px; }
  .price { font-size: 48px; }
  .price small { font-size: 16px; }
  .page-heading h1 { font-size: 31px; }
  .page-heading p { font-size: 14px; }
  .filters { padding: 15px; gap: 12px; }
  .filters label { min-width: 120px; }
  .profile-card { padding: 0; }
  .profile-card>img { height: 335px; }
  .profile-body { padding: 23px; }
  .plan-art { margin: -24px -24px 22px; height: 190px; }
  form.card { padding: 24px; }
  .gallery-stage .portrait { height: 390px; }
  .bottom-nav { box-shadow: 0 -5px 24px #183a6306; padding-top: 10px; }
  .bottom-nav a { gap: 5px; font-size: 9px; }
  .bottom-nav .active { color: var(--blue); }
  .bottom-nav .active b { background: #eaf2fb; border-radius: 10px; padding: 2px 13px; }
  .footer .row { gap: 16px; }
}
@media (prefers-reduced-motion:reduce) { button,.btn,.profile-card { transition: none; } }
/* Paarus identity exploration: two rounded parts form an open P. */
.logo { letter-spacing: -1.3px; font-weight: 750; gap: 8px; }
.brand-mark { width: 38px; height: 38px; display: block; flex-shrink: 0; }
@media(max-width:700px) { .logo { font-size: 28px; gap: 6px; } .brand-mark { width: 32px; height: 32px; } }
/* Owner-provided logo: display crop removes image margins without editing the PNG. */
.brand-logo-frame { display: block; position: relative; overflow: hidden; width: 174px; height: 60px; flex-shrink: 0; }
.brand-logo-image { display: block; position: absolute; width: 144%; max-width: none; height: auto; left: -22%; top: -20%; }
@media(max-width:700px) { .brand-logo-frame { width: 126px; height: 44px; } }
html[lang="ru"] .header nav { gap: 4px; }
html[lang="ru"] .hero-reference h1 { font-size: clamp(39px,4vw,60px); letter-spacing: -1.8px; }
html[lang="ru"] .hero-reference .hero-copy>.actions .btn { padding-inline: 16px; }
html[lang="ru"] .hero-tag { max-width: 220px; }
html[lang="ru"] .hero-reference .floating b { font-size: 15px; }
html[lang="ru"] .page-heading h1 { overflow-wrap: anywhere; }
html[lang="ru"] .filters>button { flex-shrink: 0; }
@media(max-width:1000px) and (min-width:701px) { html[lang="ru"] .header { gap: 12px; } html[lang="ru"] .header nav a { font-size: 11px; padding: 8px 5px; } }
@media(max-width:700px) {
  html[lang="ru"] .header>.row>.btn { max-width: 100px; font-size: 10px; padding: 8px; }
  html[lang="ru"] .header { gap: 8px; }
  html[lang="ru"] .hero-reference h1 { font-size: clamp(35px,9.3vw,54px); letter-spacing: -1.3px; }
  html[lang="ru"] .hero-reference .hero-copy>.actions { align-items: stretch; }
  html[lang="ru"] .hero-reference .hero-copy>.actions .btn { font-size: 12px; }
  html[lang="ru"] .hero-reference .floating .eyebrow { font-size: 7px; }
  html[lang="ru"] .hero-reference .floating b { font-size: 12px; }
  html[lang="ru"] .bottom-nav a { font-size: 8px; }
}
.hero-tag>span { max-width: 116px; }
html[lang="ru"] .hero-tag>span { max-width: 135px; }
.fixed-value { display: block; margin-top: 6px; border: 1px solid var(--line); border-radius: 11px; padding: 12px 14px; min-height: 46px; font-size: 14px; font-weight: 400; background: #f0f3f7; color: var(--muted); }

/* Shared visual refresh: public pages, community, forms and administration. */
:root { --radius:18px; --line:#e3e8ef; --bg:#f5f7fa; --shadow:0 4px 18px #183a6305; }
body { font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:15px; line-height:1.65; }
h1,h2,h3 { color:#15243a; }
h1 { font-weight:750; }
h2 { font-size:26px; letter-spacing:-.7px; }
h3 { font-size:19px; }
button,.btn { border-radius:12px; font-size:14px; font-weight:650; min-height:46px; padding:11px 18px; }
button:hover,.btn:hover { box-shadow:0 5px 16px #183a6314; }
.quiet:hover { background:#edf2f8; box-shadow:none; }
.secondary { border-color:#dce3ec; }
.small { min-height:36px; font-size:12px; padding:7px 12px; }
.demo { min-height:35px; font-size:10px; padding-block:3px; border:0; background:#eaf0f7; }
.header { height:84px; border-bottom:1px solid var(--line); }
.header nav a { font-size:14px; font-weight:550; color:#586679; border-radius:12px; padding:10px 13px; }
.header nav a.active { color:var(--blue); background:#eaf1fb; }
.header>.row { flex-wrap:nowrap; }
.wrap { padding-top:38px; }
.page-heading { align-items:flex-end; margin-bottom:26px; }
.page-heading h1 { font-size:34px; letter-spacing:-1.2px; margin-bottom:10px; }
.page-heading .eyebrow { font-size:10px; letter-spacing:1.8px; margin-bottom:12px; }
body[data-section="app"] .page-heading .eyebrow,
body[data-section="admin"] .page-heading .eyebrow { display:none; }
.page-heading p { max-width:640px; line-height:1.65; }
.card { border-radius:18px; padding:26px; box-shadow:var(--shadow); }
.banner { border:0; border-left:3px solid #90b4e1; border-radius:0 12px 12px 0; padding:16px 20px; background:#edf3fb; }
.banner strong { font-size:15px; }
.banner.warn { border-left-color:#d0a355; }
.filters { border-radius:16px; padding:18px; gap:12px; box-shadow:var(--shadow); }
.filters label { font-size:12px; }
.filters select,.filters input { border:0; background:#f3f6fa; }
input,select,textarea,.fixed-value { border-radius:10px; border-color:#dce3ec; min-height:48px; font-size:15px; padding:12px 14px; }
input:focus,select:focus,textarea:focus { box-shadow:0 0 0 3px #245ea80d; }
input[type="checkbox"],input[type="radio"] { accent-color:var(--blue); min-height:18px; width:18px; height:18px; }
input[readonly],.fixed-value { background:#f3f5f8; color:#596878; }
label,legend { font-size:13px; color:#35445a; }
form.card { padding:28px; }
form>label,form>.form-grid,form>fieldset { margin-bottom:22px; }
.chips label { display:inline-flex; align-items:center; gap:8px; padding:9px 13px; border-radius:10px; }
.chips input { margin:0; flex-shrink:0; }
.form-grid { gap:20px; }
.error:empty { display:none; }
.pill { font-size:11px; padding:5px 10px; letter-spacing:.1px; }
.empty { padding:52px 28px; background:linear-gradient(145deg,#fff,#f8faff); border-style:dashed; }
.empty .symbol { display:grid; place-items:center; width:72px; height:72px; border-radius:22px; background:#eaf1fb; margin:0 auto 22px; font-size:34px; }
.empty p { max-width:480px; margin-inline:auto; }
.empty h2 { font-size:25px; }
.profile-card { padding:0; border:0; box-shadow:0 5px 25px #183a630a; }
.profile-card>img { display:block; height:320px; object-position:50% 32%; }
.profile-body { padding:23px; }
.profile-body h3 { font-size:24px; letter-spacing:-.6px; }
.profile-body>.muted { font-size:13px; }
.profile-body .actions { gap:8px; margin-top:18px; }
.profile-body .actions .btn { flex:1; }
#profile-results { grid-template-columns:repeat(2,minmax(0,1fr)); }
#profile-results .profile-card>img { height:350px; }
#plan-results>.card,.grid>.card:has(.plan-art) { display:flex; flex-direction:column; }
.card:has(.plan-art)>.actions { margin-top:auto!important; padding-top:20px; }
.plan-art { margin:-26px -26px 22px; height:180px; flex-shrink:0; }
.card:has(.plan-art)>h3 { font-size:22px; }
.card:has(.plan-art)>p { font-size:14px; }
.card.row { padding:20px 24px; gap:18px; }
.card.row>div { flex:1; min-width:160px; }
.card.row .avatar { width:54px; height:54px; }
.card.row h3 { margin-bottom:5px; }
.card.row p { margin-bottom:0; }
.split { align-items:start; }
.split>aside.card { position:sticky; top:24px; }
hr { border:0; border-top:1px solid var(--line); margin-block:22px; }
.gallery-stage { border-radius:20px; }
.gallery-controls { padding:4px 0; }
.chat-log { min-height:360px; padding:20px 0; }
.bubble { padding:14px 18px; border-radius:18px 18px 18px 5px; max-width:86%; }
.bubble.mine { border-radius:18px 18px 5px 18px; background:#e7effb; }
.bubble small { margin-top:7px; color:#637188; }
.chat-form { border-top:1px solid var(--line); padding-top:20px; }
.profile-menu { padding:12px; }
.profile-menu>div+div { margin-top:0; border-top:1px solid #edf1f5; }
.profile-menu .btn { justify-content:space-between; width:100%; padding:17px 14px; text-align:left; }
.settings-page { max-width:100%; }
.settings-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; align-items:start; }
.settings-panel h2,.settings-panel h3 { font-size:21px; margin-bottom:16px; }
.settings-panel p { font-size:14px; }
.settings-panel>.btn { margin-bottom:12px; }
.settings-panel:has([data-action="delete-account"]) { border-color:#eedce1; }
.admin-layout { grid-template-columns:200px minmax(0,1fr); gap:30px; align-items:start; }
.admin-layout>aside { position:sticky; top:24px; background:#fff; border:1px solid var(--line); border-radius:18px; padding:22px 12px 14px; }
.admin-layout>aside>.eyebrow { padding-inline:12px; font-size:10px; }
.admin-layout>aside>.status-line { padding-inline:12px; }
.admin-nav a { padding:10px 12px; font-size:13px; border-radius:10px; }
.admin-nav a.active { background:#eaf1fb; color:var(--blue); box-shadow:inset 3px 0 var(--blue); }
.admin-content>.section { margin-top:28px; }
.admin-content .page-heading h1 { font-size:32px; }
.settings-panels { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.settings-panels>.page-heading { grid-column:1/-1; margin-bottom:4px; }
.settings-panels>.card { padding:24px; margin:0; height:100%; }
.settings-panels h2 { font-size:21px; line-height:1.35; }
.settings-panels p { font-size:13px; line-height:1.7; }
.settings-panels form>button { margin-top:10px; }
.settings-panels #membership-price-settings { border-top:3px solid var(--blue); }
.admin-layout .stat { padding:20px; min-height:116px; border-radius:15px; }
.stat span { font-size:12px; line-height:1.4; display:block; }
.stat b { font-size:32px; font-weight:700; }
.table-wrap { padding:0; border-radius:16px; }
th { font-size:11px; letter-spacing:.3px; text-transform:none; padding:16px; background:#f0f4f9; }
td { padding:16px; font-size:13px; }
tbody tr:last-child td { border-bottom:0; }
tbody tr:hover { background:#f8faff; }
.table-wrap>p { padding:24px; }
.auth-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1fr); gap:60px; align-items:start; }
.auth-panel { min-width:0; }
.auth-story { position:sticky; top:30px; overflow:hidden; border-radius:28px; min-height:620px; background:var(--navy); color:white; }
.auth-story>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:48% center; opacity:.75; }
.auth-story:after { content:""; position:absolute; inset:0; background:linear-gradient(transparent 25%,#102743ee); }
.auth-story>div { position:relative; z-index:1; padding:40px; margin-top:330px; }
.auth-story h2 { color:#fff; font-size:38px; line-height:1.13; letter-spacing:-1.3px; }
.auth-story .eyebrow { color:#d6e9ff; }
.auth-story p { font-size:13px; margin-bottom:0; color:#e6edf6; }
.auth-panel .page-heading h1 { font-size:34px; }
.auth-panel .section { margin-top:24px; }
.legal { max-width:800px; }
.legal .card { padding:36px; }
.legal h2 { font-size:22px; padding-top:20px; border-top:1px solid var(--line); }
.legal .card>h2:first-child { margin-top:0; padding-top:0; border:0; }
dl { display:grid; grid-template-columns:1fr 1.5fr; gap:12px; padding:22px; background:#f4f7fb; border-radius:14px; }
dt { color:var(--muted); }
dd { margin:0; overflow-wrap:anywhere; font-weight:600; }
.footer { margin-top:20px; }
body[data-page="index.html"] { background:#fff; }
.wrap:has(.hero-reference) { max-width:1376px; padding-top:34px; }
.hero-reference { gap:48px; padding:22px 0 64px; align-items:center; }
.hero-reference h1 { font-size:clamp(44px,4.5vw,66px); letter-spacing:-3px; line-height:1.03; }
.hero-reference .hero-copy>p.muted { font-size:18px; line-height:1.7; }
.hero-reference .hero-copy>.actions .btn { border-radius:14px; min-height:54px; }
.hero-reference .hero-art { height:580px; padding:0 0 42px; }
.hero-reference .hero-art:before { inset:20px -10px 22px 30px; background:#eaf1fb; border-radius:32px; transform:rotate(3deg); }
.hero-reference .hero-photo { border-radius:28px; object-position:48% center; }
.hero-reference .floating { border-radius:18px; border:1px solid var(--line); box-shadow:0 12px 40px #183a6310; left:20px; right:20px; padding:22px; }
.hero-tag { border:1px solid #ffffff70; box-shadow:0 8px 25px #1027430c; }
.hero-tag-dating { left:20px; top:22px; }
.hero-tag-plans { right:16px; top:112px; }
.hero-benefits { padding-top:22px; border-top:1px solid var(--line); gap:18px; }
.trust { padding:25px 0; border-block:1px solid var(--line); }
.concept-section .card { border:0; border-radius:22px; padding:34px; }
.concept-section .card:first-child { background:#fff2f6; }
.concept-section .card:last-child { background:#edf4fd; }
.section-heading h2,.how-section h2 { font-size:36px; letter-spacing:-1.1px; }
.price-section { border-radius:24px; background:#132c4b; }
.price-section .card { border-radius:18px; }
body[data-page="index.html"] .section.narrow { max-width:860px; }
body[data-page="index.html"] details { padding:22px 0; }
@media(max-width:1100px) {
  .settings-panels { grid-template-columns:1fr; }
  .auth-layout { gap:32px; }
  .auth-story>div { padding:28px; }
  .auth-story h2 { font-size:32px; }
  .header nav { gap:0; }
  .header nav a { padding:9px; font-size:12px; }
}
@media(max-width:700px) {
  .demo { gap:6px; padding:5px 10px; }
  .header { height:72px; padding-inline:16px; gap:10px; }
  .header .brand-logo-frame { width:112px; height:39px; }
  .header>.row>.btn { max-width:106px; padding:8px 10px; font-size:11px; }
  .wrap,.wrap:has(.hero-reference) { padding:26px 16px 65px; }
  .page-heading { align-items:start; margin-bottom:22px; }
  .page-heading h1,.admin-content .page-heading h1,.auth-panel .page-heading h1 { font-size:29px; letter-spacing:-1px; }
  .page-heading p { font-size:14px; }
  .card,form.card { padding:22px; border-radius:16px; }
  .filters { padding:14px; gap:12px; }
  .filters label { min-width:125px; }
  .filters>button { flex:1; }
  .profile-card { padding:0; }
  #profile-results { grid-template-columns:1fr; }
  #profile-results .profile-card>img { height:340px; }
  .profile-body { padding:22px; }
  .plan-art { margin:-22px -22px 20px; }
  .settings-grid { grid-template-columns:1fr; gap:16px; }
  .settings-panels { gap:16px; }
  .admin-layout { grid-template-columns:1fr; gap:24px; }
  .admin-layout>aside { position:static; padding:10px; border-radius:14px; }
  .admin-layout>aside>.eyebrow,.admin-layout>aside>.status-line,.admin-layout>aside>.btn { display:none; }
  .admin-nav { gap:4px; padding-bottom:3px; }
  .admin-nav a { margin:0; min-height:44px; }
  .admin-nav a.active { box-shadow:inset 0 -2px var(--blue); }
  .settings-panels>.card { padding:22px; }
  .split>aside.card { position:static; }
  .card.row { padding:18px; gap:12px; }
  .card.row>div { min-width:140px; }
  .auth-layout { grid-template-columns:1fr; gap:22px; }
  .auth-story { position:relative; min-height:180px; border-radius:20px; }
  .auth-story>div { margin-top:0; padding:26px; max-width:290px; }
  .auth-story h2 { font-size:27px; margin-bottom:12px; }
  .auth-story .eyebrow { margin-bottom:10px; }
  .auth-story p { display:none; }
  .auth-story>img { object-position:50% 45%; opacity:.45; }
  .legal .card { padding:24px; }
  dl { grid-template-columns:1fr; gap:6px; padding:18px; }
  dd { margin-bottom:10px; }
  .empty { padding:38px 22px; }
  .chat-log { min-height:300px; }
  .chat-form button { width:100%; }
  .bottom-nav { padding-bottom:max(10px,env(safe-area-inset-bottom)); }
  .hero-reference { gap:28px; padding-bottom:34px; }
  .hero-reference h1 { font-size:clamp(39px,10.6vw,56px); letter-spacing:-2px; }
  .hero-reference .hero-copy>p.muted { font-size:16px; }
  .hero-reference .hero-art { height:440px; }
  .hero-reference .hero-photo { border-radius:22px; }
  .hero-reference .hero-art:before { inset:10px -3px 35px 16px; border-radius:22px; }
  .hero-reference .floating { left:10px; right:10px; padding:17px; }
  .hero-benefits { gap:12px; }
  .hero-tag-dating { top:16px; left:14px; }
  .hero-tag-plans { top:90px; right:12px; }
  .concept-section .card { padding:28px; }
  .section-heading h2,.how-section h2 { font-size:29px; }
}
.filters>label { margin-bottom:0; }
body[data-page="discover.html"] main>.banner { display:flex; align-items:center; flex-wrap:wrap; gap:6px 18px; padding:14px 18px; }
body[data-page="discover.html"] main>.banner p { margin:0; font-size:13px; }
#profile-results .profile-card>img { height:310px; }
@media(max-width:700px) { #profile-results .profile-card>img { height:320px; } }
.card:has(.plan-art)>.pill { align-self:flex-start; }
@media(max-width:700px) { .auth-story { top:auto; } }

/* Photo-first profile cards, based on the owner's mobile reference. */
.grid:has(>.profile-card),#profile-results { grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.profile-card { position:relative; padding:0; border:0; border-radius:20px; overflow:hidden; background:#dce5ef; box-shadow:none; isolation:isolate; }
.profile-card-link { display:block; position:relative; aspect-ratio:3/4; color:#fff; }
.profile-card-link>img { display:block; position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 35%; }
.profile-card-link:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,#00000005 35%,#00000024 58%,#000000d6 100%); pointer-events:none; }
.profile-card .profile-body { position:absolute; z-index:1; bottom:0; left:0; right:0; padding:22px 20px; }
.profile-card h3 { display:block; color:white; font-size:20px; line-height:1.3; font-weight:700; letter-spacing:-.35px; margin:0 0 6px; overflow-wrap:anywhere; }
.profile-age { font-weight:450; white-space:nowrap; }
.profile-card .profile-city { font-size:17px; color:#fff; margin:0; line-height:1.4; }
.profile-online { display:inline-block; width:9px; height:9px; border-radius:50%; background:#64d9b2; margin-left:6px; vertical-align:middle; }
.profile-video { position:absolute; top:12px; left:12px; z-index:2; display:grid; place-items:center; width:32px; height:32px; border:1px solid #ffffff50; border-radius:50%; background:#13243a55; color:white; font-size:22px; }
.profile-like { position:absolute; z-index:3; top:10px; right:10px; display:grid; place-items:center; width:44px; height:44px; min-height:44px; padding:0; border-radius:50%; background:#13243a66; border:1px solid #ffffff60; color:#fff; box-shadow:none; }
.profile-like>span[aria-hidden] { font-size:26px; line-height:1; }
.profile-like:hover,.profile-like.is-liked { background:#fff; color:#bc3462; border-color:#fff; }
.profile-card:focus-within { outline:3px solid var(--blue); outline-offset:4px; }
.profile-card-link:focus-visible { outline-offset:-4px; }
.profile-card:hover { box-shadow:0 8px 22px #183a631c; }
@media(max-width:1100px) { .grid:has(>.profile-card),#profile-results { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; } }
@media(max-width:800px) { .grid:has(>.profile-card),#profile-results { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) {
  .grid:has(>.profile-card),#profile-results { gap:12px; }
  .profile-card { border-radius:15px; padding:0; }
  .profile-card .profile-body { padding:15px 12px; }
  .profile-card h3 { font-size:15px; letter-spacing:-.2px; margin-bottom:4px; }
  .profile-card .profile-city { font-size:14px; }
  .profile-online { width:7px; height:7px; margin-left:4px; }
  .profile-like { top:7px; right:7px; }
  .profile-video { top:10px; left:10px; width:28px; height:28px; }
}

/* Matches: photo identity, conversation preview and a clear message action. */
.match-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.match-card { padding:0; border-radius:20px; overflow:hidden; display:flex; flex-direction:column; }
.match-photo { display:block; position:relative; aspect-ratio:1.15; isolation:isolate; background:#e4ebf3; color:#fff; }
.match-photo>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 32%; }
.match-photo:after { content:""; position:absolute; z-index:0; inset:0; background:linear-gradient(transparent 35%,#101c2bba); pointer-events:none; }
.match-heart { display:grid; place-items:center; position:absolute; z-index:1; top:16px; right:16px; width:42px; height:42px; border-radius:50%; color:#b73764; background:#fff0f5; box-shadow:0 3px 14px #15243a12; }
.match-heart .icon { width:22px; height:22px; }
.match-identity { position:absolute; z-index:1; bottom:0; left:0; right:0; padding:24px; }
.match-identity h2 { color:#fff; font-size:24px; line-height:1.3; margin:0 0 5px; overflow-wrap:anywhere; }
.match-identity h2>span:not([translate]) { font-weight:400; }
.match-identity p { margin:0; font-size:15px; }
.match-body { padding:22px; display:flex; flex-direction:column; flex:1; }
.match-status { display:flex; flex-wrap:wrap; gap:7px; }
.match-preview { color:var(--muted); font-size:14px; line-height:1.65; min-height:46px; margin:17px 0 22px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; }
.match-message { width:100%; margin-top:auto; gap:10px; }
.match-message .icon { width:19px; height:19px; }
.match-profile { width:100%; margin-top:7px; min-height:40px; font-size:13px; }
.match-photo:focus-visible { outline-offset:-4px; z-index:2; }
body[data-page="matches.html"] main>.empty { max-width:720px; margin:34px auto; }
@media(max-width:1100px) { .match-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; } }
@media(max-width:700px) {
  .match-grid { gap:12px; }
  .match-card { padding:0; border-radius:16px; }
  .match-photo { aspect-ratio:3/4; }
  .match-heart { width:32px; height:32px; top:10px; right:10px; }
  .match-heart .icon { width:18px; height:18px; }
  .match-identity { padding:15px 12px; }
  .match-identity h2 { font-size:16px; letter-spacing:-.25px; }
  .match-identity p { font-size:14px; }
  .match-body { padding:14px 12px; }
  .match-status .pill { font-size:10px; padding:4px 7px; }
  .match-preview { font-size:12px; min-height:40px; margin:13px 0 16px; }
  .match-message { font-size:12px; padding:10px 8px; min-height:48px; }
  .match-message .icon { display:none; }
  .match-profile { font-size:12px; padding:8px 4px; min-height:44px; }
}

/* Inbox: the whole conversation row is a single accessible link. */
.inbox-list { max-width:900px; margin-inline:auto; background:#fff; border:1px solid var(--line); border-radius:22px; overflow:hidden; box-shadow:var(--shadow); }
.conversation-row { display:flex; align-items:center; gap:20px; padding:25px 28px; color:var(--text); border-bottom:1px solid #edf1f6; transition:background .15s; }
.conversation-row:last-child { border-bottom:0; }
.conversation-row:hover { background:#f5f8fd; }
.conversation-row:focus-visible { outline-offset:-4px; }
.conversation-row.has-unread { background:#f3f7ff; }
.conversation-avatar { position:relative; flex:0 0 68px; width:68px; height:68px; }
.conversation-avatar>img { width:100%; height:100%; object-fit:cover; border-radius:22px; display:block; }
.conversation-online { position:absolute; right:-1px; bottom:1px; width:14px; height:14px; background:#57cba5; border:3px solid white; border-radius:50%; }
.conversation-copy { flex:1; min-width:0; display:block; }
.conversation-top { display:flex; gap:14px; align-items:baseline; justify-content:space-between; margin-bottom:6px; }
.conversation-top strong { font-size:18px; line-height:1.3; color:#15243a; overflow-wrap:anywhere; }
.conversation-time { font-size:12px; white-space:nowrap; color:var(--muted); }
.conversation-preview { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; font-size:14px; line-height:1.6; color:var(--muted); }
.has-unread .conversation-preview { color:#334766; font-weight:550; }
.conversation-unread { display:grid; place-items:center; min-width:25px; height:25px; padding:0 7px; border-radius:14px; background:var(--blue); color:white; font-size:12px; font-weight:700; flex-shrink:0; }
.conversation-arrow { color:#8b99ad; font-size:26px; padding-left:5px; }
.conversation-panel { max-width:850px; padding:0; border-radius:22px; }
.conversation-header { padding:22px 26px; border-bottom:1px solid var(--line); background:#fff; }
.conversation-header .avatar { width:48px; height:48px; border-radius:16px; }
.conversation-header strong { font-size:16px; overflow-wrap:anywhere; }
.conversation-panel .chat-log { margin:0; min-height:380px; padding:26px; background:#f5f8fc; }
.conversation-panel .bubble { background:#fff; border:1px solid #e5ebf2; box-shadow:0 2px 4px #183a6303; }
.conversation-panel .bubble.mine { background:#e6effd; border-color:#dce7f6; }
.conversation-panel .chat-form { margin:0; padding:18px 26px; background:#fff; }
.conversation-panel .chat-form input { background:#f3f6fa; border-color:transparent; min-width:0; }
.conversation-panel>.actions { margin:0; padding:14px 26px; border-top:1px solid #edf1f6; gap:8px; }
.conversation-panel>.actions .btn,.conversation-panel>.actions button { font-size:12px; min-height:38px; padding:8px 12px; }
@media(max-width:700px) {
  .inbox-list { border-radius:18px; }
  .conversation-row { padding:18px 15px; gap:12px; }
  .conversation-avatar { flex-basis:54px; width:54px; height:54px; }
  .conversation-avatar>img { border-radius:18px; }
  .conversation-top { gap:8px; }
  .conversation-top strong { font-size:16px; }
  .conversation-time { font-size:11px; }
  .conversation-preview { font-size:13px; }
  .conversation-unread { min-width:22px; height:22px; font-size:11px; }
  .conversation-panel { padding:0; }
  .conversation-header { padding:18px; }
  .conversation-panel .chat-log { padding:18px 14px; min-height:320px; }
  .conversation-panel .bubble { max-width:92%; }
  .conversation-panel .chat-form { padding:15px; flex-wrap:nowrap; gap:8px; }
  .conversation-panel .chat-form input { flex:1; width:0; }
  .conversation-panel .chat-form button { width:auto; flex-shrink:0; font-size:12px; padding:10px 13px; }
  .conversation-panel>.actions { padding:12px; }
}
@media(prefers-reduced-motion:reduce) { .conversation-row { transition:none; } }

/* Remaining page families: plans, profile details, onboarding and management. */
.plan-card { padding:0!important; display:flex; flex-direction:column; border-radius:20px; }
.plan-cover { display:block; position:relative; overflow:hidden; background:#e9f2fc; }
.plan-cover .plan-art { margin:0; height:190px; background:linear-gradient(135deg,#e5effb,#c9ddf4); position:relative; isolation:isolate; }
.plan-cover .plan-art:before { content:""; position:absolute; z-index:-1; width:170px; height:170px; border:32px solid #ffffff50; border-radius:50%; right:-35px; top:-55px; }
.plan-cover .plan-art>span { font-size:60px; filter:drop-shadow(0 8px 10px #183a6312); }
.plan-card[data-category="Kaffee"] .plan-art { background:linear-gradient(135deg,#f7ede4,#e6cfc1); }
.plan-card[data-category="Spaziergang"] .plan-art { background:linear-gradient(135deg,#e7f2ed,#c8dfd4); }
.plan-card[data-category="Konzert"] .plan-art { background:linear-gradient(135deg,#f6e8f2,#d9cde9); }
.plan-cover-category { position:absolute; bottom:14px; left:18px; background:#fff; border-radius:9px; padding:5px 10px; font-size:12px; font-weight:650; color:#344762; }
.plan-card-body { display:flex; flex-direction:column; flex:1; padding:23px; }
.plan-card-body h3 { font-size:22px; line-height:1.3; margin:0 0 18px; letter-spacing:-.5px; }
.plan-card-body h3 a { color:#15243a; }
.plan-when,.plan-location { display:flex; align-items:start; gap:10px; font-size:13px; color:#52647b; margin:0 0 10px; }
.plan-when .icon,.plan-location .icon { width:17px; height:17px; margin-top:3px; }
.plan-description { font-size:14px; color:var(--muted); margin:8px 0 20px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; }
.plan-attendance { display:flex; flex-wrap:wrap; gap:8px 12px; align-items:center; margin-top:auto; font-size:12px; color:var(--muted); }
.plan-owner { display:flex; align-items:center; gap:10px; border-top:1px solid var(--line); margin-top:19px; padding-top:17px; }
.plan-owner small { font-size:12px; }
.plan-owner .avatar { width:32px; height:32px; }
.plan-open { margin-top:18px; width:100%; }
.plan-detail { grid-template-columns:minmax(0,1.6fr) minmax(290px,1fr); }
.plan-detail .cover { height:320px; border-radius:22px; }
.plan-detail>.stack>.card { padding:30px; }
.plan-facts { gap:12px; margin-block:24px; }
.plan-facts>div { background:#f3f6fa; border-radius:12px; padding:16px; }
.plan-facts strong { font-size:12px; color:#61728a; }
.plan-facts p { margin:6px 0 0; font-size:14px; }
.plan-detail>aside { padding:26px; border-top:3px solid var(--blue); }
.plan-detail>aside .stack.section { margin-top:28px; }
.plan-detail>aside .stack>.btn,.plan-detail>aside .stack>button { width:100%; }
body[data-page="my-plans.html"] main>.section { margin-top:34px; }
body[data-page="my-plans.html"] main>.section>h2 { font-size:23px; padding-bottom:14px; border-bottom:1px solid var(--line); }
body[data-page="my-plans.html"] .empty { display:flex; flex-wrap:wrap; align-items:center; text-align:left; gap:12px 20px; padding:24px; }
body[data-page="my-plans.html"] .empty .symbol { width:46px; height:46px; margin:0; font-size:25px; border-radius:14px; }
body[data-page="my-plans.html"] .empty h2 { margin:0; font-size:19px; }
body[data-page="my-plans.html"] .empty p { margin:0; font-size:14px; }
body[data-page="my-plans.html"] .empty>.btn { margin-left:auto; }
.profile-detail { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:30px; }
.profile-detail .gallery-stage { background:#eaf0f7; }
.profile-detail .gallery-stage .portrait { height:540px; }
.profile-about { position:sticky; top:24px; padding:32px; }
.profile-about h2 { font-size:32px; }
.profile-about h3 { font-size:19px; }
.profile-about .chips { padding-block:14px; border-block:1px solid var(--line); }
.profile-about>.actions { margin-top:28px; padding-top:8px; gap:10px; }
.profile-about>.actions .like { flex:1; min-width:140px; }
.profile-summary { padding:0!important; }
.profile-summary-cover { height:220px; display:flex; align-items:center; justify-content:center; background:linear-gradient(125deg,#e1ecfb,#f9e7ee); border-bottom:1px solid var(--line); overflow:hidden; }
.profile-summary-cover>img { width:100%; height:100%; object-fit:cover; object-position:50% 28%; }
.profile-summary-cover>.icon { width:66px; height:66px; color:#6086b7; }
.profile-summary>.row { padding:26px 28px 0; gap:10px; }
.profile-summary>.row>.avatar { display:none; }
.profile-summary>.row h2 { width:100%; margin:0 0 5px; font-size:30px; overflow-wrap:anywhere; }
.profile-summary>p { margin:18px 28px; }
.profile-summary>.actions { margin:24px 28px; }
.profile-summary #edit-profile:not(:empty) { border-top:1px solid var(--line); padding:26px; }
.profile-menu { position:sticky; top:24px; border-radius:18px; }
.profile-menu .btn { gap:14px; }
.profile-menu .btn:after { content:'›'; color:#8b99ad; font-size:23px; }
.onboarding-workspace,.editor-workspace { max-width:840px; }
.media-workspace { max-width:980px; }
.onboarding-steps { list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:0 0 30px; padding:0; }
.onboarding-steps li { display:flex; align-items:center; gap:10px; background:#edf1f7; border:1px solid #e1e7ef; border-radius:12px; padding:13px; color:#64748b; }
.onboarding-steps li>span { display:grid; place-items:center; width:28px; height:28px; flex-shrink:0; background:#fff; border-radius:50%; font-size:12px; font-weight:700; }
.onboarding-steps strong { font-size:12px; line-height:1.4; }
.onboarding-steps li[aria-current] { background:#e9f1ff; border-color:#b8cdeb; color:var(--blue); }
.onboarding-steps li[aria-current]>span { background:var(--blue); color:white; }
.onboarding-workspace form.card,.editor-workspace form.card { padding:32px; }
.onboarding-workspace fieldset,.editor-workspace fieldset { border-top:1px solid var(--line); padding-top:20px; }
.onboarding-workspace legend { padding-top:18px; }
.media-workspace .progress { height:6px; }
.media-workspace .photo-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:24px; }
.media-workspace .photo-grid>.card { padding:12px; border-radius:16px; box-shadow:none; }
.media-workspace .photo-grid img { aspect-ratio:3/4; object-fit:cover; border-radius:10px; margin-bottom:12px; }
.media-workspace .photo-grid p { margin:12px 0; font-size:14px; }
.media-workspace .photo-grid .stack>* { width:100%; }
.media-workspace>.card.section { margin-top:24px; border-left:3px solid #ef9fbb; }
.notification-list { max-width:900px; margin-inline:auto; }
.notification-list>.card { border:0; box-shadow:inset 3px 0 #c4d7f1; }
.notification-list h3 { font-size:17px; }
body[data-page="plan-manage.html"] main>h2 { font-size:22px; margin-top:30px; }
body[data-page="plan-manage.html"] main>.actions { padding:18px; background:#fff; border:1px solid var(--line); border-radius:16px; }
body[data-page="membership.html"] main>.grid.two { gap:24px; align-items:start; }
body[data-page="membership.html"] main>.grid.two>.card:last-child { border-top:3px solid var(--blue); background:linear-gradient(#f1f6ff,#fff 40%); }
body[data-page="payment.html"] main>.narrow>.card { border-top:3px solid var(--blue); }
body[data-page="payment.html"] .price { padding:18px 0; }
.settings-panel { box-shadow:none; border-top:3px solid #e2eafa; }
.settings-panel:has([data-action="delete-account"]) { border-top-color:#e9b8c8; }
.admin-content>.grid.four>.stat { border:0; border-top:3px solid #b8d1f2; background:#fff; }
.admin-content>.grid.four>.stat:nth-child(3n) { border-top-color:#b6d9cb; }
.admin-content>.grid.four>.stat:nth-child(4n) { border-top-color:#efc1d0; }
.admin-content>.card>.row { padding-bottom:18px; margin-bottom:20px; border-bottom:1px solid var(--line); }
.admin-content>.card>.row .avatar { width:70px; height:70px; border-radius:18px; }
.admin-content>form.card { max-width:860px; }
.admin-content .table-wrap .actions { gap:6px; }
.admin-content .table-wrap td .btn { margin:3px; }
.legal-navigation { display:flex; flex-wrap:wrap; gap:7px; padding:12px; margin-bottom:30px; border:1px solid var(--line); border-radius:16px; background:#fff; }
.legal-navigation a { font-size:12px; color:#5d6c81; padding:8px 12px; border-radius:9px; }
.legal-navigation a.active { background:#eaf1fb; color:var(--blue); font-weight:650; }
.legal .card { box-shadow:none; }
.auth-panel .card { border-radius:20px; }
.auth-panel .page-heading .eyebrow { display:none; }
body[data-section="auth"] .auth-panel .card>h2 { font-size:24px; }
@media(max-width:1000px) {
  .profile-detail { gap:22px; }
  .profile-about { padding:24px; }
  .profile-about h2 { font-size:27px; }
  .plan-detail { grid-template-columns:minmax(0,1.2fr) minmax(250px,1fr); gap:20px; }
  .plan-detail>.stack>.card { padding:24px; }
}
@media(max-width:700px) {
  .plan-card { border-radius:18px; }
  .plan-cover .plan-art { height:175px; }
  .plan-card-body { padding:22px; }
  .plan-card-body h3 { font-size:22px; }
  .plan-detail,.profile-detail { grid-template-columns:1fr; }
  .plan-detail .cover { height:220px; border-radius:18px; }
  .plan-detail>.stack>.card,.plan-detail>aside { padding:22px; }
  .plan-facts { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:10px; }
  .plan-facts>div { padding:13px; }
  .plan-facts p { font-size:13px; overflow-wrap:anywhere; }
  .profile-detail .gallery-stage .portrait { height:420px; }
  .profile-about,.profile-menu { position:static; }
  .profile-summary-cover { height:230px; }
  .profile-summary>.row { padding:22px 22px 0; }
  .profile-summary>p { margin:16px 22px; }
  .profile-summary>.actions { margin:22px; }
  .profile-summary #edit-profile:not(:empty) { padding:20px; }
  .profile-about h2 { font-size:28px; }
  .onboarding-steps { gap:7px; margin-bottom:26px; }
  .onboarding-steps li { flex-direction:column; align-items:start; padding:10px; gap:8px; }
  .onboarding-steps strong { font-size:11px; overflow-wrap:anywhere; }
  .onboarding-workspace form.card,.editor-workspace form.card { padding:22px; }
  .media-workspace .photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .media-workspace .photo-grid>.card { padding:9px; }
  .media-workspace .photo-grid .small { font-size:11px; padding:8px; }
  .notification-list>.card { padding:20px; }
  .notification-list h3 { font-size:16px; }
  .legal-navigation { flex-wrap:nowrap; overflow:auto; padding:8px; margin-bottom:24px; }
  .legal-navigation a { flex-shrink:0; min-height:44px; display:flex; align-items:center; }
  body[data-page="my-plans.html"] .empty { gap:12px; padding:22px; }
  body[data-page="my-plans.html"] .empty>.btn { margin-left:0; }
}
.profile-summary-cover { height:260px; padding:22px; }
.profile-summary-cover>img { width:auto; max-width:100%; height:100%; object-fit:contain; border-radius:18px; box-shadow:0 5px 20px #183a6310; }
.plan-detail-art { border-radius:22px; }
.plan-detail-art .plan-art { height:320px; }
.plan-detail-art .plan-art>span { font-size:100px; }
.plan-detail-art[data-category="Kaffee"] .plan-art { background:linear-gradient(135deg,#f7ede4,#e6cfc1); }
.plan-detail-art[data-category="Spaziergang"] .plan-art { background:linear-gradient(135deg,#e7f2ed,#c8dfd4); }
.plan-detail-art[data-category="Konzert"] .plan-art { background:linear-gradient(135deg,#f6e8f2,#d9cde9); }
@media(max-width:700px) { .profile-summary-cover { height:240px; padding:20px; } .plan-detail-art { border-radius:18px; } .plan-detail-art .plan-art { height:220px; } .plan-detail-art .plan-art>span { font-size:76px; } }

/* The profile is opened before sending a like. Keep the complete card photo visible. */
.profile-card-link>img{object-fit:contain;object-position:center;background:#182b40}
.profile-heart{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;min-height:48px;padding:0;border:0;border-radius:50%;background:#fff;color:#df2870;box-shadow:0 3px 12px #182b4020}
.profile-heart .icon{width:24px;height:24px}
.profile-heart.is-liked .icon{fill:currentColor}
.profile-heart:hover{background:#fff0f5;color:#bf185a}
.profile-heart:focus-visible{outline:3px solid var(--blue);outline-offset:3px}

/* Photo WOW and shared navigation in the HTML design reference. */
.header nav .desktop-icon-link{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:12px;white-space:normal;text-align:center}
.desktop-icon-link .icon{width:25px;height:25px}
.photo-wow-action{display:flex;justify-content:center;margin:18px 0}
.photo-wow{display:inline-flex;align-items:center;gap:10px;border-radius:999px;padding:12px 22px;background:#c44920;color:#fff;border:2px solid transparent}
.photo-wow[aria-pressed="true"]{background:#fff1e9;color:#9b3516;border-color:#c44920}
#own-photos{margin-top:28px;scroll-margin-top:24px}

/* Shared layout corrections: retain the existing visual theme. */
main :is(h1,h2,h3,h4,p,legend), .card, .panel, dialog { overflow-wrap:anywhere; }
:is(.grid,.form-grid,.row,.actions,.split)>* { min-width:0; }
.form-grid { align-items:end; }
.form-grid>label { margin-bottom:0; }
input:not([type=checkbox]):not([type=radio]):not([type=hidden]), select, textarea { min-width:0; max-width:100%; box-sizing:border-box; }
textarea { resize:vertical; }
button,.btn { max-width:100%; }
.chat-form { display:flex; align-items:center; flex-wrap:wrap; }
.chat-form input:not([type=hidden]) { flex:1 1 160px; width:0; min-height:48px; margin:0; }
.chat-form button { flex:0 0 auto; min-height:48px; margin:0; }
dialog { max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px); overflow-y:auto; overflow-wrap:anywhere; }
dialog form, dialog :is(p,h2,h3,label) { min-width:0; max-width:100%; }
@media(max-width:520px) { dialog { padding:20px; } }

/* Quiet match status sits below the photograph. */
.match-card .match-identity :is(h2,h3,p,span){color:#fff}
.match-status{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;width:fit-content;padding:5px 10px;border-radius:999px;background:#f4f0f5;color:var(--notification-red);font-size:12px;font-weight:600;line-height:1.4}
.match-status>span{font-size:17px;line-height:1}

.photo-open{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in;border-radius:inherit}
.photo-modal-open{overflow:hidden}
dialog.photo-modal{width:min(1000px,calc(100% - 28px));max-width:1000px;max-height:calc(100dvh - 28px);padding:0;border:0;border-radius:22px;background:#fff;color:#18263d;overflow:auto}
.photo-modal::backdrop{background:rgba(12,20,35,.82);backdrop-filter:blur(5px)}
.photo-modal-stage{position:relative;background:#101725;display:flex;align-items:center;justify-content:center;height:min(65dvh,680px);min-height:160px;touch-action:pan-y}
.photo-modal-image{width:100%;height:100%;object-fit:contain;display:block}
.photo-modal .photo-close,.photo-modal .photo-prev,.photo-modal .photo-next{position:absolute;z-index:2;display:grid;place-items:center;padding:0;width:44px;height:44px;min-height:44px;border:1px solid #ffffff70;border-radius:50%;color:#fff;background:#152135b8;font-size:30px;line-height:1}
.photo-close{top:12px;right:12px}.photo-prev{left:12px;top:calc(50% - 22px)}.photo-next{right:12px;top:calc(50% - 22px)}
.photo-modal-info{padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.photo-modal-info h2{font-size:22px;margin:0;overflow-wrap:anywhere}.photo-modal-info p{margin:4px 0;color:#64738a}.photo-modal-info [data-photo-counter]{font-size:12px;color:#64738a}
.photo-modal-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.photo-modal-actions form{margin:0}.photo-modal-actions .beta-wow{margin:0}
.photo-modal [data-photo-feedback]{flex-basis:100%;font-size:13px;margin:0}.photo-modal [data-photo-feedback]:empty{display:none}
@media(max-width:600px){dialog.photo-modal{width:calc(100% - 16px);max-height:calc(100dvh - 16px);border-radius:16px}.photo-modal-stage{height:55dvh}.photo-modal-info{padding:16px;gap:14px}.photo-modal-info h2{font-size:18px}}

/* Match cards: photo, status, invitation, primary action. */
.match-card .match-body{padding:24px;gap:18px}
.match-card .match-status{margin:0;background:var(--bg);color:var(--notification-red);border:1px solid var(--line);padding:6px 11px;max-width:100%}
.match-card .match-intro{margin:0;color:var(--muted);font-size:14px;line-height:1.65;overflow-wrap:anywhere}
.match-card .match-message{margin:4px 0 0;background:var(--blue);color:var(--white);border-color:transparent;min-height:48px}
.match-card .match-profile{margin:0}
@media(max-width:600px){.match-card .match-body{padding:16px;gap:14px}.match-card .match-intro{font-size:13px}.match-card .match-status{font-size:11px;padding:5px 9px}}
