* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:95px; }
body.demo-body { margin:0; color:#203126; background:#fbfaf6; font:400 15px/1.65 'Manrope',Arial,sans-serif; -webkit-font-smoothing:antialiased; }
.demo-body img { display:block; max-width:100%; }
.demo-ribbon { min-height:27px; display:flex; align-items:center; justify-content:space-between; gap:15px; padding:4px max(22px,calc((100vw - 1260px)/2)); color:#dfe8dc; background:#1b2920; font:8px 'DM Mono',monospace; letter-spacing:.11em; text-transform:uppercase; }
.demo-ribbon a { color:#d9ed8b; text-decoration:none; white-space:nowrap; }
.demo-header { max-width:1260px; min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:24px; margin:auto; padding:0 28px; background:#fbfaf6; }
.demo-header nav { display:flex; align-items:center; gap:28px; }
.demo-header nav a,.demo-header>a:not([class]) { color:#39483d; text-decoration:none; font-size:11px; }
.demo-header nav a:hover { color:#9aa946; }
.demo-menu { display:none; }
.demo-button { display:inline-flex; align-items:center; gap:22px; padding:14px 18px; text-decoration:none; font:600 10px 'DM Mono',monospace; letter-spacing:.06em; text-transform:uppercase; transition:transform .2s,background .2s; }
.demo-button:hover { transform:translateY(-2px); }
.demo-kicker { display:block; font:9px 'DM Mono',monospace; letter-spacing:.14em; text-transform:uppercase; }
.demo-section { max-width:1200px; margin:auto; padding:96px 28px; }
.demo-section-heading { display:flex; align-items:end; justify-content:space-between; gap:35px; margin-bottom:42px; }
.demo-section-heading h2 { margin:13px 0 0; font:500 clamp(43px,5vw,68px)/.98 'Space Grotesk',Arial,sans-serif; letter-spacing:-.065em; }
.demo-section-heading>p { max-width:410px; margin:0 0 4px; color:#6a746b; font-size:13px; line-height:1.8; }
.demo-footer { min-height:90px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px max(28px,calc((100vw - 1200px)/2)); color:#dbe2d8; background:#1b2920; font:9px 'DM Mono',monospace; letter-spacing:.04em; }
.demo-footer>a:last-child { color:#d9ed8b; text-decoration:none; }

/* Dobry Fach: warm, practical local-service business card. */
.demo-fach { --green:#264632; --green-soft:#e8ede4; --acid:#d7eb78; }
.demo-fach .demo-header { max-width:1320px; }
.fach-logo { flex:none; color:#243c2c; text-decoration:none; font:800 17px/1 'Manrope',Arial,sans-serif; letter-spacing:-.08em; }
.fach-logo b { color:#738e43; }
.fach-logo small { display:block; margin-top:6px; font:7px 'DM Mono',monospace; letter-spacing:.11em; }
.fach-phone { padding:11px 15px; color:white!important; background:var(--green); text-decoration:none; font-size:10px!important; }
.fach-phone span { margin-left:10px; color:var(--acid); }
.fach-hero { max-width:1320px; min-height:530px; position:relative; display:grid; grid-template-columns:.86fr 1.14fr; align-items:stretch; margin:auto; padding:0 28px; background:#f0efe7; }
.fach-hero-copy { position:relative; z-index:2; align-self:center; padding:50px 0 60px 4%; }
.fach-hero-copy .demo-kicker,.demo-fach .demo-section .demo-kicker { color:#6f8746; }
.fach-hero h1 { margin:22px 0 19px; color:#233d2d; font:700 clamp(48px,6vw,76px)/.96 'Manrope',Arial,sans-serif; letter-spacing:-.08em; }
.fach-hero h1 em { color:#718b4c; font-style:normal; }
.fach-hero-copy>p { max-width:405px; color:#5f6a60; font-size:14px; line-height:1.8; }
.fach-button { color:#fff; background:#294a35; }.fach-button b { color:#d7eb78; font-size:15px; }
.demo-text-link { margin-left:15px; color:#50634f; font-size:10px; text-decoration:none; border-bottom:1px solid #a8b29d; padding-bottom:3px; }
.fach-checks { display:flex; flex-wrap:wrap; gap:18px; margin-top:24px; color:#647260; font:8px 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.05em; }
.fach-hero-photo { position:relative; min-height:500px; margin:20px 0 20px 20px; overflow:hidden; }
.fach-hero-photo:after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,rgba(13,25,17,.24),transparent 45%); }
.fach-hero-photo img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; object-position:62% center; }
.fach-photo-note { position:absolute; right:18px; bottom:30px; z-index:1; color:white; font:7px 'DM Mono',monospace; letter-spacing:.12em; writing-mode:vertical-rl; }
.fach-strip { min-height:50px; display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:20px; padding:12px; color:white; background:#294a35; font:8px 'DM Mono',monospace; letter-spacing:.08em; }
.fach-strip i { color:#d7eb78; font-style:normal; }
.fach-services { padding-top:100px; padding-bottom:105px; }
.demo-fach .demo-section-heading .demo-kicker,.demo-fach .fach-contact .demo-kicker { color:#718b4c; }
.fach-service-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #d7ddd2; }
.fach-service-grid article { padding:23px 24px 18px 0; border-right:1px solid #d7ddd2; }
.fach-service-grid article+article { padding-left:24px; }
.fach-service-grid article:last-child { border:0; }
.fach-service-grid article>span,.fach-steps article>b { color:#91a268; font:9px 'DM Mono',monospace; }
.fach-service-grid h3,.fach-steps h3 { margin:19px 0 7px; color:#274431; font:600 23px 'Manrope',Arial,sans-serif; letter-spacing:-.04em; }
.fach-service-grid p,.fach-steps p { min-height:60px; color:#69736a; font-size:11px; line-height:1.8; }
.fach-service-grid a { color:#496748; text-decoration:none; font:8px 'DM Mono',monospace; text-transform:uppercase; }
.fach-process { background:#e9ede5; }
.fach-process .demo-section { padding-top:90px; padding-bottom:90px; }
.fach-steps { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #cbd4c7; }
.fach-steps article { padding:20px 25px 5px 0; border-right:1px solid #cbd4c7; }
.fach-steps article+article { padding-left:25px; }
.fach-steps article:last-child { border:0; }
.fach-contact { display:flex; align-items:end; justify-content:space-between; gap:25px; padding:75px max(28px,calc((100vw - 1200px)/2)); color:white; background:#274632; }
.fach-contact h2 { margin:16px 0 12px; font:700 clamp(48px,6vw,74px)/.94 'Manrope',sans-serif; letter-spacing:-.08em; }
.fach-contact p { color:#c8d4c7; font-size:11px; }
.fach-contact>a { color:#e4f39c; font:500 15px 'Manrope',sans-serif; text-decoration:none; border-bottom:1px solid #779174; padding-bottom:9px; }

/* Rytm Studio: editorial, soft, women-led movement brand. */
.demo-rytm { color:#443833!important; background:#f8f5ef!important; }
.demo-rytm .demo-ribbon { color:#f5eee6; background:#443632; }
.demo-rytm .demo-ribbon a { color:#f1cdbb; }
.demo-rytm .demo-header { max-width:1300px; background:#f8f5ef; }
.rytm-logo { color:#54443c; text-decoration:none; font:500 25px/1 'Space Grotesk',sans-serif; letter-spacing:.12em; }
.rytm-logo span { display:block; margin-top:6px; color:#a77d6c; font:7px 'DM Mono',monospace; letter-spacing:.2em; }
.demo-rytm .demo-header nav a { color:#64554c; }
.rytm-header-cta { padding:11px 15px; color:#fff!important; background:#8d6253; text-decoration:none; font-size:9px!important; }
.rytm-header-cta b { margin-left:10px; color:#f0d3c2; }
.rytm-hero { max-width:1300px; min-height:550px; position:relative; display:flex; align-items:center; margin:auto; padding:55px 7%; overflow:hidden; background:#e9ddd1; }
.rytm-hero-photo { position:absolute; inset:0 0 0 37%; }
.rytm-hero-photo:after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#e9ddd1 0%,rgba(233,221,209,.75) 18%,rgba(55,39,33,.04) 65%,rgba(42,30,26,.28)); }
.rytm-hero-photo img { width:100%; height:100%; object-fit:cover; object-position:61% center; }
.rytm-hero-content { position:relative; z-index:1; width:53%; padding:26px 0; }
.demo-rytm .demo-kicker { color:#986d5d; }
.rytm-hero h1,.rytm-intro h2,.rytm-schedule h2,.rytm-contact h2 { margin:21px 0 17px; color:#443632; font:500 clamp(50px,6.5vw,81px)/.92 Georgia,'Times New Roman',serif; letter-spacing:-.055em; }
.rytm-hero h1 em,.rytm-intro h2 em { color:#956c5d; font-weight:400; }
.rytm-hero-content>p { max-width:390px; color:#665750; font-size:13px; line-height:1.85; }
.rytm-button { color:white; background:#82594d; }.rytm-button b { color:#f0d5c2; font-size:15px; }
.rytm-side-note { position:absolute; right:-30%; bottom:5px; color:#fff; font:7px 'DM Mono',monospace; letter-spacing:.14em; writing-mode:vertical-rl; }
.rytm-roundel { position:absolute; right:7%; top:12%; width:94px; height:94px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.8); border-radius:50%; color:white; text-align:center; font:7px/1.7 'DM Mono',monospace; letter-spacing:.1em; transform:rotate(11deg); }
.rytm-intro { max-width:900px; padding-top:110px; padding-bottom:112px; text-align:center; }
.rytm-intro h2 { font-size:clamp(45px,6vw,72px); }
.rytm-intro>p { max-width:620px; margin:22px auto 35px; color:#75655c; font-size:13px; line-height:1.9; }
.rytm-facts { display:flex; justify-content:center; flex-wrap:wrap; gap:12px 35px; padding-top:21px; border-top:1px solid #e3d8d0; color:#936e60; font:8px 'DM Mono',monospace; letter-spacing:.12em; }
.rytm-classes { background:#eee7df; }
.rytm-classes .demo-section { padding-top:94px; padding-bottom:100px; }
.rytm-classes .demo-section-heading .demo-kicker,.rytm-classes .rytm-class-grid article>span { color:#9b7060; }
.rytm-classes .demo-section-heading h2 { color:#483a34; font-family:Georgia,'Times New Roman',serif; font-weight:400; }
.rytm-classes .demo-section-heading>p { color:#796a60; }
.rytm-class-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.rytm-class-grid article { min-height:235px; padding:22px 22px 20px; background:#f8f5ef; border:1px solid #e4d8cf; }
.rytm-class-grid article>span { font:7px 'DM Mono',monospace; letter-spacing:.12em; }
.rytm-class-grid h3 { margin:27px 0 8px; color:#503e37; font:500 24px Georgia,serif; }
.rytm-class-grid p { min-height:58px; color:#786a62; font-size:10px; line-height:1.8; }
.rytm-class-grid a,.las-stay-copy a { color:#885e50; text-decoration:none; font:8px 'DM Mono',monospace; text-transform:uppercase; }
.rytm-schedule { max-width:1300px; min-height:430px; display:grid; grid-template-columns:1fr 1fr; margin:auto; background:#dfcabc; }
.rytm-schedule-photo { min-height:400px; overflow:hidden; }.rytm-schedule-photo img { width:100%; height:100%; object-fit:cover; object-position:30% center; }
.rytm-schedule-copy { align-self:center; padding:55px clamp(28px,6vw,78px); }.rytm-schedule h2 { font-size:clamp(44px,5vw,65px); }
.rytm-schedule-copy>p { max-width:400px; color:#6c574d; font-size:11px; line-height:1.85; }
.rytm-contact { display:flex; align-items:end; justify-content:space-between; gap:25px; padding:80px max(28px,calc((100vw - 1100px)/2)); color:#f7f1eb; background:#51413b; }
.rytm-contact .demo-kicker { color:#e0bda8; }.rytm-contact h2 { color:#fff8f1; font-size:clamp(44px,5vw,66px); }.rytm-contact p { color:#d4c6bc; font-size:10px; }
.rytm-contact>a { color:#f3d8c5; font:14px 'Space Grotesk',sans-serif; text-decoration:none; border-bottom:1px solid #a58c7e; padding-bottom:9px; }
.rytm-footer { color:#eee6df; background:#3e322e; }.rytm-footer .rytm-logo { color:#f7eee8; }.rytm-footer .rytm-logo span { color:#c8a997; }

/* Las / Woda: nature-led accommodation landing page with a booking path. */
.demo-las { color:#263c30!important; background:#f5f2e9!important; }
.demo-las .demo-ribbon { color:#e3eade; background:#1d3328; }.demo-las .demo-ribbon a { color:#dfd3a8; }
.demo-las .demo-header { max-width:1360px; background:#f5f2e9; }
.las-logo { color:#264132; text-decoration:none; font:600 21px/1 'Space Grotesk',sans-serif; letter-spacing:.08em; }
.las-logo i { color:#a7986f; font-style:normal; }
.las-logo small { display:block; margin-top:6px; color:#7b866f; font:7px 'DM Mono',monospace; letter-spacing:.14em; }
.demo-las .demo-header nav a { color:#536557; }
.las-header-cta { padding:11px 15px; color:#fff!important; background:#395c47; text-decoration:none; font-size:9px!important; }
.las-header-cta b { margin-left:10px; color:#e7d8aa; }
.las-hero { max-width:1360px; min-height:580px; position:relative; display:flex; align-items:center; margin:auto; padding:52px 7% 112px; color:white; overflow:hidden; background:#233a2c; }
.las-hero-image,.las-hero-shade { position:absolute; inset:0; width:100%; height:100%; }
.las-hero-image { z-index:0; object-fit:cover; object-position:center 57%; }
.las-hero-shade { z-index:1; background:linear-gradient(90deg,rgba(17,37,27,.78),rgba(17,37,27,.36) 52%,rgba(17,37,27,.04)),linear-gradient(0deg,rgba(18,35,27,.45),transparent 45%); }
.las-hero-content { position:relative; z-index:2; width:56%; }
.demo-las .demo-kicker { color:#e9dba9; }
.las-hero h1 { margin:20px 0 16px; color:white; font:500 clamp(57px,7vw,91px)/.9 Georgia,'Times New Roman',serif; letter-spacing:-.06em; }
.las-hero h1 em { color:#e5d7a7; font-weight:400; }
.las-hero-content>p { max-width:440px; color:rgba(255,255,255,.88); font-size:14px; line-height:1.8; }
.las-button { color:#233b2e; background:#f0e6c8; }.las-button b { color:#597158; font-size:15px; }
.las-hero-coordinate { position:absolute; z-index:2; top:30px; right:30px; color:rgba(255,255,255,.8); font:8px 'DM Mono',monospace; letter-spacing:.12em; writing-mode:vertical-rl; }
.las-booking-bar { position:absolute; z-index:3; right:5%; bottom:0; left:5%; display:grid; grid-template-columns:1fr 1fr auto; align-items:center; gap:20px; min-height:78px; padding:12px 18px; color:#283e31; background:#f5f2e9; box-shadow:0 10px 35px rgba(0,0,0,.18); }
.las-booking-bar div small { display:block; margin-bottom:5px; color:#88917e; font:7px 'DM Mono',monospace; letter-spacing:.12em; }.las-booking-bar div b { font:500 11px 'Manrope',sans-serif; }
.las-booking-bar>a { padding:13px 16px; color:white; background:#395c47; text-decoration:none; font:8px 'DM Mono',monospace; letter-spacing:.06em; text-transform:uppercase; }.las-booking-bar>a span { margin-left:10px; color:#e9dba9; }
.las-intro { display:grid; grid-template-columns:1fr .85fr; align-items:end; gap:10%; padding-top:120px; padding-bottom:110px; }
.las-intro .demo-kicker,.las-stays .demo-kicker,.las-amenities .demo-kicker { color:#8c8a61; }
.las-intro h2,.las-amenities h2,.las-contact h2 { margin:16px 0 0; color:#2c4837; font:500 clamp(47px,6vw,76px)/.95 Georgia,'Times New Roman',serif; letter-spacing:-.055em; }
.las-intro>div+div>p { color:#667368; font-size:13px; line-height:1.9; }.las-inline-link { color:#42624b; text-decoration:none; font:9px 'DM Mono',monospace; text-transform:uppercase; }.las-inline-link b { margin-left:9px; color:#9a986b; }
.las-stays { background:#ebece2; }.las-stays .demo-section { padding-top:90px; padding-bottom:100px; }.las-stays .demo-section-heading h2 { color:#2c4837; font-family:Georgia,serif; font-weight:400; }
.las-stay-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.las-stay-grid article { overflow:hidden; background:#f8f6ef; }.las-stay-photo { min-height:220px; background-size:cover; background-position:center; }.stay-birch { background-image:linear-gradient(0deg,rgba(17,43,29,.12),transparent),url('../assets/demo-las-i-woda.jpg'); background-position:38% 55%; }.stay-pine { background-image:linear-gradient(0deg,rgba(17,43,29,.12),transparent),url('../assets/demo-las-i-woda.jpg'); background-position:85% 55%; }
.las-stay-copy { padding:20px 22px 23px; }.las-stay-copy>span { color:#858a69; font:7px 'DM Mono',monospace; letter-spacing:.12em; }.las-stay-copy h3 { margin:7px 0; color:#324b3a; font:500 27px Georgia,serif; }.las-stay-copy p { min-height:43px; color:#69766a; font-size:10px; line-height:1.75; }.las-stay-copy>div { display:flex; gap:14px; padding:11px 0; border-top:1px solid #e1e2d8; color:#687566; font:7px 'DM Mono',monospace; }.las-stay-copy a { display:inline-block; margin-top:8px; }
.las-amenities { padding:15px 0 95px; }.las-amenity-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:15px; margin-top:42px; }.las-amenity-grid article { padding:18px 16px; border-top:1px solid #cfd6cb; }.las-amenity-grid article>b { color:#92936b; font:8px 'DM Mono',monospace; }.las-amenity-grid h3 { margin:16px 0 7px; color:#34503c; font:500 18px Georgia,serif; }.las-amenity-grid p { margin:0; color:#748074; font-size:9px; line-height:1.75; }
.las-contact { max-width:1360px; display:grid; grid-template-columns:1fr .8fr; margin:auto; color:white; background:#253c2e; }.las-contact-photo { min-height:360px; overflow:hidden; }.las-contact-photo img { width:100%;height:100%;object-fit:cover;object-position:40% 70%; }.las-contact-copy { align-self:center; padding:40px clamp(28px,5vw,65px); }.las-contact h2 { color:#fff; font-size:clamp(44px,5vw,65px); }.las-contact-copy>p { max-width:420px; color:#d4ddd2; font-size:10px; line-height:1.8; }.las-contact .demo-kicker { color:#e9dba9; }.las-footer { background:#1d3328; }.las-footer .las-logo { color:#f0f0e7; }.las-footer .las-logo small { color:#b9c4b2; }

@media(max-width:850px) { .demo-header { gap:12px; padding-inline:20px; }.demo-header nav { gap:15px; }.demo-header nav a { font-size:10px; }.fach-hero { grid-template-columns:.95fr 1.05fr; }.fach-hero-copy { padding-left:0; }.fach-checks { gap:9px; flex-direction:column; }.project-mini-copy strong { font-size:30px; } }
@media(max-width:680px) {
  html { scroll-padding-top:70px; }
  .demo-ribbon { padding-inline:14px; font-size:6px; letter-spacing:.06em; }
  .demo-header { min-height:68px; position:relative; padding-inline:16px; }
  .demo-header nav { display:none; position:absolute; z-index:10; top:68px; right:0; left:0; padding:10px 18px 18px; background:#fbfaf6; box-shadow:0 12px 22px rgba(0,0,0,.1); }
  .demo-header.menu-open nav { display:grid; gap:0; }
  .demo-header nav a { padding:12px 0; border-bottom:1px solid rgba(0,0,0,.08); }
  .demo-menu { display:block; width:38px;height:36px; border:1px solid #d8ddd4; color:#274632; background:transparent; }
  .demo-section { padding:70px 19px; }
  .demo-section-heading { display:block; }.demo-section-heading>p { margin-top:16px; }
  .demo-footer { min-height:0; flex-wrap:wrap; padding:22px 19px; font-size:7px; }
  .demo-footer>a:last-child { width:100%; }
  .fach-hero { display:flex; flex-direction:column; padding:0 18px 18px; }
  .fach-hero-copy { order:2; padding:31px 0 19px; }.fach-hero h1 { font-size:55px; }
  .fach-hero-photo { order:1; min-height:270px; margin:12px 0 0; }.fach-photo-note { bottom:320px; }
  .fach-strip { gap:9px; font-size:6px; }.fach-strip span:last-child,.fach-strip i:last-of-type { display:none; }
  .fach-service-grid,.fach-steps { grid-template-columns:1fr; }.fach-service-grid article,.fach-service-grid article+article,.fach-steps article,.fach-steps article+article { padding:18px 0; border-right:0; border-bottom:1px solid #d7ddd2; }.fach-service-grid article:last-child,.fach-steps article:last-child { border-bottom:0; }.fach-service-grid h3,.fach-steps h3 { margin:10px 0 6px; }.fach-service-grid p,.fach-steps p { min-height:0; }
  .fach-contact,.rytm-contact { align-items:flex-start; flex-direction:column; padding:55px 20px; }
  .fach-contact h2 { font-size:56px; }
  .rytm-hero { min-height:660px; align-items:flex-end; padding:30px 21px; }
  .rytm-hero-photo { inset:0 0 31% 0; }.rytm-hero-photo:after { background:linear-gradient(0deg,#e9ddd1 0%,rgba(233,221,209,.7) 24%,rgba(42,30,26,.08) 75%); }
  .rytm-hero-content { width:100%; padding:20px 0; }.rytm-hero h1 { font-size:57px; }.rytm-roundel { top:25px;right:20px;width:74px;height:74px;font-size:6px; }.rytm-side-note { display:none; }
  .rytm-intro { padding-inline:22px; }.rytm-intro h2 { font-size:51px; }.rytm-facts { gap:10px 17px; font-size:7px; }
  .rytm-class-grid { grid-template-columns:1fr; }.rytm-class-grid article { min-height:0; }.rytm-class-grid h3 { margin-top:17px; }.rytm-class-grid p { min-height:0; }
  .rytm-schedule { grid-template-columns:1fr; }.rytm-schedule-photo { min-height:250px; }.rytm-schedule-copy { padding:42px 21px; }.rytm-contact h2 { font-size:52px; }
  .las-header .las-header-cta { display:none; }
  .las-hero { min-height:660px; padding:35px 20px 130px; align-items:center; }.las-hero-image { object-position:62% center; }.las-hero-content { width:100%; }.las-hero h1 { font-size:68px; }.las-hero-coordinate { right:14px;top:17px;font-size:6px; }
  .las-booking-bar { right:12px;left:12px;grid-template-columns:1fr 1fr;gap:8px;padding:11px; }.las-booking-bar>a { grid-column:1/-1;text-align:center; }.las-booking-bar div b { font-size:9px; }
  .las-intro { grid-template-columns:1fr; gap:17px; padding-top:84px; }.las-intro h2,.las-amenities h2 { font-size:54px; }
  .las-stay-grid { grid-template-columns:1fr; }.las-stay-photo { min-height:220px; }.las-amenity-grid { grid-template-columns:1fr 1fr; gap:9px; }.las-amenity-grid article { padding:14px 10px; }
  .las-contact { grid-template-columns:1fr; }.las-contact-photo { min-height:240px; }.las-contact-copy { padding:39px 21px 48px; }.las-contact h2 { font-size:53px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important;transition-duration:.01ms!important; } }

/* Finish pass: sharper hierarchy, more breathing room and clear interactive states. */
.demo-header { position:sticky; top:0; z-index:12; border-bottom:1px solid rgba(34,53,40,.09); box-shadow:0 5px 22px rgba(26,37,28,.035); }
.demo-header nav a { transition:color .18s; }
.demo-button,.fach-phone,.rytm-header-cta,.las-header-cta { border-radius:3px; box-shadow:0 8px 20px rgba(31,48,36,.12); }
.demo-section-heading h2 { line-height:.94; }
.demo-footer { min-height:98px; }

.demo-fach { background:#f7f6f0; }
.demo-fach .demo-ribbon { background:#18271e; }
.demo-fach .demo-header { max-width:none; padding-inline:max(28px,calc((100vw - 1260px)/2)); }
.demo-fach .fach-hero { max-width:1360px; min-height:590px; grid-template-columns:.9fr 1.1fr; padding:0 25px; background:linear-gradient(112deg,#f2f1e9 0%,#eeefe6 66%,#e3e9dc 100%); }
.fach-hero-copy { padding-left:5%; }
.fach-hero h1 { max-width:530px; font-size:clamp(57px,6.4vw,84px); line-height:.91; }
.fach-hero-copy>p { max-width:380px; font-size:13px; }
.fach-hero-photo { min-height:540px; margin:19px 0; border-radius:4px; box-shadow:0 22px 50px rgba(35,55,40,.16); }
.fach-hero-photo img { object-position:64% center; }
.fach-hero-photo:after { background:linear-gradient(0deg,rgba(12,29,18,.33),transparent 45%); }
.fach-photo-note { right:13px; bottom:30px; padding:10px 7px; border:1px solid rgba(255,255,255,.65); border-radius:99px; background:rgba(26,52,35,.36); backdrop-filter:blur(8px); }
.fach-checks span { display:inline-flex; align-items:center; gap:7px; }
.fach-checks span:first-letter { color:#6f8b46; }
.fach-strip { min-height:55px; gap:25px; background:#203d2b; }
.fach-strip i { font-size:12px; }
.fach-services { padding-top:115px; padding-bottom:118px; }
.fach-service-grid { gap:14px; border:0; }
.fach-service-grid article,.fach-service-grid article+article { min-height:245px; padding:23px 23px 21px; border:1px solid #e0e5da; border-radius:4px; background:#fffefa; box-shadow:0 9px 30px rgba(36,58,40,.045); transition:transform .2s,box-shadow .2s,border-color .2s; }
.fach-service-grid article:hover { transform:translateY(-4px); border-color:#bdcba9; box-shadow:0 15px 35px rgba(36,58,40,.1); }
.fach-service-grid article>span { display:grid; width:34px;height:34px; place-items:center; border:1px solid #dce5d4; border-radius:50%; color:#698346; background:#f2f5ec; }
.fach-service-grid h3 { margin-top:26px; }
.fach-service-grid p { min-height:64px; }
.fach-service-grid a { display:inline-flex; align-items:center; gap:7px; padding-bottom:4px; border-bottom:1px solid #bdcbb9; }
.fach-process { background:#e7ece2; }
.fach-steps { gap:12px; border:0; }
.fach-steps article,.fach-steps article+article { padding:22px 20px; border:1px solid #d5ded0; border-radius:4px; background:rgba(255,255,255,.46); }
.fach-steps article>b { display:grid; width:31px;height:31px; place-items:center; border:1px solid #d1dcc8; border-radius:50%; background:#f8faf4; }
.fach-steps h3 { margin-top:20px; }
.fach-contact { position:relative; overflow:hidden; background:linear-gradient(120deg,#213f2c,#182d20); }
.fach-contact:after { content:'✳'; position:absolute; right:7%; top:-75px; color:rgba(219,239,158,.09); font:340px/1 Georgia,serif; pointer-events:none; }
.fach-contact>div,.fach-contact>a { position:relative; z-index:1; }
.fach-contact>a { padding:16px 18px; border:1px solid rgba(230,243,194,.35); border-radius:3px; transition:background .2s; }
.fach-contact>a:hover { background:rgba(255,255,255,.08); }

.demo-rytm .demo-ribbon { background:#3d302c; }
.demo-rytm .demo-header { max-width:none; padding-inline:max(28px,calc((100vw - 1240px)/2)); }
.rytm-logo { font-size:27px; letter-spacing:.15em; }
.rytm-hero { max-width:1360px; min-height:610px; background:#e9ddd1; }
.rytm-hero-photo { inset:0 0 0 35%; }
.rytm-hero-photo:after { background:linear-gradient(90deg,#e9ddd1 0%,rgba(233,221,209,.9) 14%,rgba(68,48,41,.05) 58%,rgba(37,27,23,.35)),linear-gradient(0deg,rgba(47,33,28,.3),transparent 38%); }
.rytm-hero-content { width:55%; }
.rytm-hero h1 { font-size:clamp(58px,7vw,88px); }
.rytm-hero-content>p { max-width:370px; }
.rytm-roundel { right:6%; top:11%; width:108px;height:108px; background:rgba(70,51,44,.13); backdrop-filter:blur(4px); }
.rytm-intro { position:relative; max-width:980px; padding-top:125px; padding-bottom:120px; }
.rytm-intro:before,.rytm-intro:after { content:''; position:absolute; top:50%; width:55px;height:1px; background:#d4b9a9; }
.rytm-intro:before { left:4%; }.rytm-intro:after { right:4%; }
.rytm-intro>p { font-size:14px; }
.rytm-facts { width:min(700px,100%); margin:auto; }
.rytm-classes { background:#eee6de; }
.rytm-class-grid { gap:16px; }
.rytm-class-grid article { position:relative; min-height:258px; padding:25px 24px; border:0; border-top:2px solid #bd9b88; box-shadow:0 12px 30px rgba(70,51,44,.055); transition:transform .2s,box-shadow .2s; }
.rytm-class-grid article:hover { transform:translateY(-4px); box-shadow:0 17px 38px rgba(70,51,44,.11); }
.rytm-class-grid h3 { font-size:27px; }
.rytm-class-grid a { display:inline-flex; gap:8px; padding-bottom:4px; border-bottom:1px solid #d3b8a8; }
.rytm-schedule { max-width:1360px; grid-template-columns:1.05fr .95fr; background:#e3d0c3; }
.rytm-schedule-photo { min-height:475px; }
.rytm-schedule-photo img { object-position:36% center; }
.rytm-schedule-copy { padding-inline:clamp(35px,6vw,88px); }
.rytm-contact { position:relative; overflow:hidden; background:linear-gradient(112deg,#51403a,#392d2a); }
.rytm-contact:after { content:'R'; position:absolute; right:8%; bottom:-150px; color:rgba(245,222,203,.06); font:500 440px/.9 Georgia,serif; pointer-events:none; }
.rytm-contact>div,.rytm-contact>a { position:relative; z-index:1; }
.rytm-contact>a { padding:16px 19px; border:1px solid rgba(243,216,197,.35); border-radius:3px; transition:background .2s; }
.rytm-contact>a:hover { background:rgba(255,255,255,.08); }

.demo-las .demo-ribbon { background:#1a2f24; }
.demo-las .demo-header { max-width:none; padding-inline:max(28px,calc((100vw - 1300px)/2)); }
.las-logo { font-size:23px; letter-spacing:.11em; }
.las-hero { max-width:1400px; min-height:660px; padding-left:8%; }
.las-hero-image { object-position:center 61%; }
.las-hero-shade { background:linear-gradient(90deg,rgba(13,33,23,.75),rgba(13,33,23,.25) 53%,rgba(13,33,23,.02)),linear-gradient(0deg,rgba(13,33,23,.58),transparent 48%); }
.las-hero-content { width:54%; }
.las-hero h1 { font-size:clamp(68px,8vw,104px); }
.las-hero-coordinate { top:34px;right:32px; }
.las-booking-bar { right:7%;left:7%; bottom:18px; border-radius:4px; box-shadow:0 17px 42px rgba(10,26,17,.26); }
.las-booking-bar>a { border-radius:2px; transition:background .2s; }.las-booking-bar>a:hover { background:#294b38; }
.las-intro { padding-top:130px; padding-bottom:130px; }
.las-intro>div+div { padding-left:20px; border-left:1px solid #d3d8c8; }
.las-inline-link { display:inline-flex; align-items:center; gap:10px; margin-top:8px; padding-bottom:5px; border-bottom:1px solid #c4cdb9; }
.las-stay-grid { gap:22px; }
.las-stay-grid article { box-shadow:0 14px 34px rgba(31,53,38,.08); transition:transform .2s,box-shadow .2s; }
.las-stay-grid article:hover { transform:translateY(-4px); box-shadow:0 20px 45px rgba(31,53,38,.13); }
.las-stay-photo { min-height:250px; }
.las-stay-copy { padding:24px 25px 25px; }
.las-stay-copy a { display:inline-flex; gap:8px; padding-bottom:4px; border-bottom:1px solid #c7cdbb; }
.las-amenities { padding-top:30px; padding-bottom:115px; }
.las-amenity-grid { gap:0; border-block:1px solid #d2d8cb; }
.las-amenity-grid article { min-height:180px; padding:22px 18px; border:0; border-right:1px solid #d2d8cb; }
.las-amenity-grid article:first-child { padding-left:0; }.las-amenity-grid article:last-child { border:0; }
.las-amenity-grid h3 { font-size:21px; }
.las-contact { max-width:1400px; grid-template-columns:1.05fr .95fr; }
.las-contact-photo { min-height:430px; }.las-contact-copy { padding-left:clamp(35px,5vw,82px); }
.las-contact .demo-button { margin-top:10px; }

@media(max-width:850px) {
  .demo-fach .fach-hero { min-height:500px; }.fach-hero-photo { min-height:460px; }
  .rytm-hero { min-height:540px; }.rytm-hero-content { width:58%; }
  .las-hero { min-height:590px; }.las-booking-bar { right:4%;left:4%; }
}
@media(max-width:680px) {
  .demo-fach .demo-header,.demo-rytm .demo-header,.demo-las .demo-header { padding-inline:17px; }
  .demo-fach .fach-hero { min-height:0; padding:0 16px 16px; }
  .fach-hero-photo { min-height:280px; margin:12px 0 0; border-radius:3px; }
  .fach-hero-copy { padding:30px 2px 17px; }.fach-hero h1 { font-size:55px; }
  .fach-photo-note { right:13px; bottom:322px; }
  .fach-service-grid article,.fach-service-grid article+article { min-height:0; }
  .fach-contact:after { right:-20px; top:auto; bottom:-65px; font-size:220px; }
  .rytm-hero { min-height:690px; }.rytm-hero-content { width:100%; }
  .rytm-hero h1 { font-size:59px; }.rytm-roundel { width:78px;height:78px;top:20px;right:17px; }
  .rytm-intro:before,.rytm-intro:after { display:none; }
  .rytm-class-grid article { min-height:0; padding:21px; }.rytm-class-grid p { min-height:0; }
  .rytm-schedule { grid-template-columns:1fr; }.rytm-schedule-photo { min-height:280px; }
  .rytm-contact:after { right:-15px;bottom:-110px;font-size:300px; }
  .las-hero { min-height:680px; }.las-hero h1 { font-size:72px; }
  .las-booking-bar { right:12px;left:12px;bottom:12px; }
  .las-intro { padding-top:90px;padding-bottom:90px; }.las-intro>div+div { padding-left:0;border-left:0; }
  .las-amenities { padding-bottom:80px; }.las-amenity-grid { border-bottom:0; }
  .las-amenity-grid article { min-height:150px;padding:18px 12px;border-bottom:1px solid #d2d8cb; }
  .las-amenity-grid article:nth-child(odd) { border-right:1px solid #d2d8cb; }
  .las-amenity-grid article:nth-child(even) { border-right:0; }
  .las-contact-photo { min-height:270px; }
}

/* Art direction pass: distinct editorial layouts and real supporting imagery. */
.demo-body { overflow-x:hidden; }
.demo-ribbon { position:relative; z-index:13; }
.demo-header nav a { padding-block:10px; }
.demo-header nav a:focus-visible,.demo-button:focus-visible,.demo-header a:focus-visible,.demo-footer a:focus-visible { outline:2px solid #b1c878; outline-offset:4px; }
.fach-work { max-width:1260px; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:clamp(45px,8vw,115px); margin:0 auto; padding:100px 28px 120px; }
.fach-work-photo { position:relative; isolation:isolate; min-height:470px; }
.fach-work-photo:before { content:''; position:absolute; z-index:-1; top:-20px; right:-20px; bottom:20px; left:20px; background:#dce4d4; }
.fach-work-photo img { width:100%; height:470px; object-fit:cover; object-position:60% center; }
.fach-work-photo>span { position:absolute; right:0; bottom:0; display:flex; justify-content:space-between; gap:20px; width:min(330px,90%); padding:15px 17px; color:#eef2e8; background:#223a2a; font:8px 'DM Mono',monospace; letter-spacing:.08em; }
.fach-work-photo>span b { color:#d7eb78; font-weight:400; }
.fach-work-copy .demo-kicker { color:#718b4c; }
.fach-work-copy h2 { margin:18px 0; color:#233d2d; font:700 clamp(42px,5vw,65px)/.98 'Manrope',Arial,sans-serif; letter-spacing:-.075em; }
.fach-work-copy h2 em { color:#718b4c; font-style:normal; }
.fach-work-copy>p { max-width:450px; color:#667167; font-size:13px; line-height:1.9; }
.fach-work-copy ul { display:grid; gap:0; margin:26px 0; padding:0; list-style:none; border-top:1px solid #dce2d7; }
.fach-work-copy li { display:flex; gap:15px; padding:12px 0; color:#3d5141; border-bottom:1px solid #dce2d7; font-size:11px; }
.fach-work-copy li span { color:#849667; font:9px 'DM Mono',monospace; }
.fach-work-copy>a { display:inline-flex; align-items:center; gap:20px; padding:14px 16px; color:#fff; background:#294a35; text-decoration:none; font:9px 'DM Mono',monospace; text-transform:uppercase; }
.fach-work-copy>a b { color:#d7eb78; font-size:14px; }
.fach-work-copy>small { display:block; margin-top:15px; color:#899188; font-size:9px; }
.fach-service-grid article { background-image:linear-gradient(145deg,rgba(232,237,228,.4),transparent 48%); }
.fach-process .demo-section { padding-top:105px; padding-bottom:108px; }
.fach-contact { padding:90px max(28px,calc((100vw - 1200px)/2)); }
.fach-contact .demo-kicker { color:#d7eb78; }
.fach-contact h2 { font-size:clamp(55px,7vw,88px); }

.demo-rytm { background:#f6f0e9!important; }
.rytm-header { min-height:88px; }
.rytm-hero { border-radius:0 0 2px 2px; }
.rytm-hero-content { padding:30px 0 30px 3%; }
.rytm-hero-content .demo-kicker { color:#8e6c5b; }
.rytm-hero h1 { font-size:clamp(66px,8vw,105px); line-height:.88; }
.rytm-hero h1 em { color:#997361; }
.rytm-button { color:#fff7f1; background:#61473e; box-shadow:0 12px 25px rgba(75,52,44,.2); }
.rytm-button b { color:#e6c9b4; }
.rytm-roundel { border:1px solid rgba(255,255,255,.65); box-shadow:0 8px 40px rgba(52,35,29,.14); }
.rytm-intro { max-width:1120px; text-align:center; }
.rytm-intro>.demo-kicker { color:#987463; }
.rytm-intro h2 { font-size:clamp(58px,7vw,88px); }
.rytm-intro h2 em { color:#a77f6b; }
.rytm-intro>p { max-width:570px; margin:0 auto 25px; color:#75685f; line-height:2; }
.rytm-facts { justify-content:center; padding-top:22px; border-top:1px solid #d9c7bb; }
.rytm-classes { position:relative; }
.rytm-classes:before { content:'RYTM / 01'; position:absolute; top:31px; right:max(28px,calc((100vw - 1200px)/2)); color:#a78b7d; font:8px 'DM Mono',monospace; letter-spacing:.1em; }
.rytm-class-grid article { min-height:275px; padding:26px; background:#faf7f1; }
.rytm-class-grid article:nth-child(2) { background:#e0d0c4; }
.rytm-class-grid article:nth-child(2) h3 { color:#493a34; }
.rytm-class-grid article:nth-child(2) p { color:#65564e; }
.rytm-class-grid article:nth-child(3) { background:#e8e8df; }
.rytm-class-grid article:before { content:'↗'; position:absolute; top:23px; right:24px; color:#987563; font-size:18px; }
.rytm-class-grid h3 { margin-top:44px; font-size:30px; }
.rytm-schedule { margin:34px auto 90px; box-shadow:0 22px 65px rgba(65,48,40,.1); }
.rytm-schedule-photo { position:relative; }
.rytm-schedule-photo:after { content:'DETAL / PRZYGOTOWANIE DO ZAJĘĆ'; position:absolute; bottom:18px; left:20px; padding:9px 11px; color:#fff7f0; background:rgba(63,46,39,.66); backdrop-filter:blur(8px); font:8px 'DM Mono',monospace; letter-spacing:.06em; }
.rytm-schedule-copy { padding-top:55px; padding-bottom:55px; }
.rytm-schedule-copy h2 { margin-bottom:23px; font-size:clamp(48px,5.5vw,69px); }
.rytm-times { display:grid; margin:0 0 15px; border-top:1px solid rgba(93,67,55,.22); }
.rytm-times>div { display:grid; grid-template-columns:78px 1fr auto; align-items:center; gap:10px; padding:11px 0; border-bottom:1px solid rgba(93,67,55,.22); }
.rytm-times span,.rytm-times time { color:#8a6b5c; font:8px 'DM Mono',monospace; }
.rytm-times b { color:#493a34; font:500 12px 'Manrope',sans-serif; }
.rytm-schedule-note { margin:12px 0 19px!important; font-size:9px!important; }
.rytm-contact { padding:88px max(28px,calc((100vw - 1200px)/2)); }
.rytm-contact .demo-kicker { color:#e6c9b4; }
.rytm-contact h2 { font-size:clamp(52px,6vw,78px); }

.demo-las { background:#f5f4ec!important; }
.las-header { min-height:88px; }
.las-hero { border-radius:0 0 2px 2px; }
.las-hero-shade { background:linear-gradient(90deg,rgba(13,33,23,.82),rgba(13,33,23,.35) 52%,rgba(13,33,23,.02)),linear-gradient(0deg,rgba(13,33,23,.64),transparent 50%); }
.las-hero-content { width:58%; }
.las-hero-content .demo-kicker { color:#e7dba9; }
.las-hero h1 { font-size:clamp(76px,9vw,116px); }
.las-hero-content>p { max-width:390px; font-size:15px; }
.las-booking-bar { min-height:88px; padding:15px 20px; }
.las-booking-bar div small { letter-spacing:.16em; }
.las-booking-bar>a { padding:15px 20px; }
.las-intro { max-width:1120px; }
.las-intro h2 { font-size:clamp(55px,6.5vw,82px); }
.las-intro>div+div>p { font-size:14px; line-height:2; }
.las-stays { background:#e6e9de; }
.las-stays .demo-section-heading h2 { font-size:clamp(54px,6vw,76px); }
.las-stay-grid { gap:24px; }
.las-stay-grid article { background:#f8f7f0; }
.las-stay-photo { position:relative; min-height:310px; overflow:hidden; }
.las-stay-photo:after { content:''; position:absolute; inset:45% 0 0; background:linear-gradient(0deg,rgba(17,39,27,.38),transparent); pointer-events:none; }
.las-stay-photo img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; transition:transform .45s; }
.las-stay-grid article:hover .las-stay-photo img { transform:scale(1.035); }
.stay-birch img { object-position:50% 53%; }
.stay-pine img { object-position:68% 57%; }
.las-stay-copy { padding:25px 27px 27px; }
.las-stay-copy>span { letter-spacing:.15em; }
.las-stay-copy h3 { margin:9px 0; font-size:34px; }
.las-stay-copy p { min-height:48px; font-size:11px; }
.las-stay-copy>div { justify-content:space-between; font-size:8px; }
.las-stay-copy a { margin-top:13px; color:#3d6049; }
.las-amenities h2 { font-size:clamp(54px,6vw,76px); }
.las-amenity-grid article { padding-top:24px; }
.las-amenity-grid article>b { display:grid; width:29px; height:29px; place-items:center; border:1px solid #cbd2c5; border-radius:50%; }
.las-amenity-grid h3 { margin-top:20px; font-size:20px; }
.las-amenity-grid p { font-size:10px; line-height:1.9; }
.las-contact { margin-bottom:80px; box-shadow:0 22px 60px rgba(29,52,37,.12); }
.las-contact-photo img { object-position:50% 61%; }
.las-contact-copy { padding-top:55px; padding-bottom:55px; }
.las-contact-copy>small { display:block; margin-top:16px; color:#b7c4b5; font-size:9px; }

@media(max-width:850px) {
  .fach-work { grid-template-columns:1fr 1fr; gap:35px; }
  .fach-work-photo,.fach-work-photo img { min-height:410px; height:410px; }
  .rytm-times>div { grid-template-columns:65px 1fr auto; }
}
@media(max-width:680px) {
  .fach-work { grid-template-columns:1fr; gap:35px; padding:75px 20px 82px; }
  .fach-work-photo,.fach-work-photo img { min-height:300px; height:300px; }
  .fach-work-photo:before { top:-10px;right:-9px;bottom:10px;left:9px; }
  .fach-work-copy h2 { font-size:49px; }
  .fach-contact { padding:70px 20px; }
  .rytm-header { min-height:70px; }
  .rytm-hero { min-height:690px; }
  .rytm-hero-photo { inset:0 0 28% 0; }
  .rytm-hero-photo:after { background:linear-gradient(0deg,#e9ddd1 0%,rgba(233,221,209,.78) 24%,rgba(42,30,26,.03) 75%); }
  .rytm-hero-content { padding:25px 0; }
  .rytm-hero h1 { font-size:59px; }
  .rytm-schedule { margin:15px 12px 65px; }
  .rytm-schedule-copy { padding:39px 22px; }
  .rytm-times>div { grid-template-columns:60px 1fr auto; }
  .rytm-contact { padding:70px 20px; }
  .las-header { min-height:70px; }
  .las-hero { min-height:700px; }
  .las-hero-content { width:100%; }
  .las-hero h1 { font-size:74px; }
  .las-booking-bar { min-height:0; }
  .las-intro { gap:20px; }
  .las-stay-photo { min-height:250px; }
  .las-contact { margin:0 12px 55px; }
}

/* Readability pass requested for Rytm and Las / Woda. */
.demo-rytm,.demo-las { font-size:16px; }
.demo-rytm .demo-header nav a,.demo-las .demo-header nav a { font-size:13px; }
.demo-rytm .demo-kicker,.demo-las .demo-kicker { font-size:10px; }
.rytm-header-cta,.las-header-cta { font-size:11px; }
.rytm-hero-content>p,.las-hero-content>p { font-size:16px; line-height:1.8; }
.rytm-intro>p,.las-intro>div+div>p { font-size:15px; line-height:1.9; }
.rytm-class-grid article>span,.las-stay-copy>span { font-size:9px; }
.rytm-class-grid p,.las-stay-copy p { min-height:0; font-size:13px; line-height:1.8; }
.rytm-class-grid a,.las-stay-copy a,.las-inline-link { font-size:10px; }
.rytm-times span,.rytm-times time { font-size:9px; }
.rytm-times b { font-size:14px; }
.rytm-schedule-note { font-size:11px!important; line-height:1.75!important; }
.las-booking-bar div small { font-size:9px; }
.las-booking-bar div b { font-size:13px; }
.las-booking-bar>a { font-size:9px; }
.las-amenity-grid h3 { font-size:22px; }
.las-amenity-grid p { font-size:12px; line-height:1.8; }
.rytm-contact>div>p,.las-contact-copy>p { font-size:13px; line-height:1.85; }
.las-contact-copy>small { font-size:10px; }
@media(max-width:680px) {
  .demo-rytm .demo-header nav a,.demo-las .demo-header nav a { font-size:14px; }
  .rytm-hero-content>p,.las-hero-content>p { font-size:15px; }
  .rytm-class-grid p,.las-stay-copy p { font-size:14px; }
  .las-amenity-grid p { font-size:13px; }
  .rytm-times b { font-size:13px; }
}

/* Clarity pass: stronger contrast, simpler labels and more legible body copy. */
.demo-rytm,.demo-las { color:#292b27; font-size:17px; line-height:1.75; }
.demo-rytm .demo-kicker,.demo-las .demo-kicker { font-size:11px; letter-spacing:.09em; }
.demo-rytm .demo-header nav a,.demo-las .demo-header nav a { color:#2e332e; font-size:14px; }
.rytm-header-cta,.las-header-cta { font-size:12px; }
.rytm-hero-content>p,.las-hero-content>p { font-size:17px; line-height:1.8; }
.rytm-intro>p,.las-intro>div+div>p { color:#4d514c; font-size:16px; line-height:1.9; }
.rytm-facts { font-size:10px; color:#574b45; }
.rytm-classes .demo-section-heading>p,.las-stays .demo-section-heading>p { color:#484c46; font-size:15px; line-height:1.85; }
.rytm-class-grid article>span,.las-stay-copy>span { color:#664b3e; font-size:10px; letter-spacing:.08em; }
.rytm-class-grid h3,.las-stay-copy h3 { color:#352b27; }
.rytm-class-grid p,.las-stay-copy p { color:#41443f; font-size:15px; line-height:1.8; }
.rytm-class-grid a,.las-stay-copy a,.las-inline-link { color:#49362d; font-size:11px; font-weight:700; }
.rytm-times { margin-block:8px 18px; }
.rytm-times>div { padding:14px 0; }
.rytm-times span,.rytm-times time { color:#5d493f; font-size:10px; }
.rytm-times b { color:#302722; font-size:15px; }
.rytm-schedule-note { color:#494640!important; font-size:12px!important; }
.las-booking-bar { gap:24px; }
.las-booking-bar div small { color:#53594f; font-size:10px; }
.las-booking-bar div b { color:#293b2e; font-size:14px; }
.las-booking-bar>a { font-size:10px; }
.las-amenity-grid article>b { color:#5c654a; font-size:10px; }
.las-amenity-grid h3 { color:#293e30; font-size:23px; }
.las-amenity-grid p { color:#414940; font-size:14px; line-height:1.8; }
.rytm-contact>div>p,.las-contact-copy>p { color:#f1e9e1; font-size:15px; line-height:1.85; }
.las-contact-copy>small { color:#e1e8de; font-size:11px; }
.demo-rytm .demo-footer,.demo-las .demo-footer { font-size:10px; }
@media(max-width:680px) {
  .demo-rytm,.demo-las { font-size:16px; }
  .rytm-hero-content>p,.las-hero-content>p { font-size:16px; }
  .rytm-intro>p,.las-intro>div+div>p { font-size:15px; }
  .rytm-class-grid p,.las-stay-copy p { font-size:15px; }
  .las-amenity-grid p { font-size:14px; }
  .rytm-contact>div>p,.las-contact-copy>p { font-size:14px; }
  .las-booking-bar { gap:8px; }
  .las-booking-bar div b { font-size:12px; }
}

/* Extra visual personality for the two concept sites. */
.rytm-hero { overflow:hidden; }
.rytm-hero:before { content:'R'; position:absolute; z-index:1; top:-.31em; left:35%; color:rgba(255,250,244,.16); font:italic 440px/.9 Georgia,serif; pointer-events:none; }
.rytm-hero-content { z-index:2; }
.rytm-hero-content .demo-kicker:before { content:''; display:inline-block; width:24px; height:1px; margin:0 10px 3px 0; background:#9a7563; }
.rytm-marquee { overflow:hidden; padding:16px 0; color:#fff8f0; background:#684d42; }
.rytm-marquee>div { display:flex; align-items:center; justify-content:space-around; gap:32px; min-width:850px; animation:rytm-drift 32s linear infinite; }
.rytm-marquee span { font:11px 'DM Mono',monospace; letter-spacing:.12em; }
.rytm-marquee i { color:#dfb99e; font-size:14px; font-style:normal; }
@keyframes rytm-drift { to { transform:translateX(-12%); } }
.rytm-class-grid article { overflow:hidden; border-radius:3px; }
.rytm-class-grid article:after { content:'01'; position:absolute; right:14px; bottom:-54px; color:rgba(115,82,66,.08); font:italic 190px/.9 Georgia,serif; pointer-events:none; }
.rytm-class-grid article:nth-child(2):after { content:'02'; }
.rytm-class-grid article:nth-child(3):after { content:'03'; }
.rytm-class-grid article>* { position:relative; z-index:1; }
.rytm-class-grid article>span { display:inline-block; padding:7px 9px; border:1px solid rgba(110,76,59,.22); border-radius:30px; background:rgba(255,255,255,.33); }
.rytm-class-grid h3 { font-size:32px; }
.rytm-schedule { border-radius:3px; overflow:hidden; }
.rytm-schedule-copy .demo-kicker { color:#725244; }
.rytm-contact { background:radial-gradient(circle at 83% 18%,rgba(197,157,132,.25),transparent 30%),linear-gradient(118deg,#51403a,#302522); }
.rytm-contact h2 { color:#fff8f0; }
.rytm-contact>a { font-size:13px; }

.las-hero { isolation:isolate; }
.las-hero:before { content:''; position:absolute; z-index:1; top:0; right:0; bottom:0; width:44%; background:linear-gradient(135deg,transparent 49.8%,rgba(237,227,197,.17) 50%,transparent 50.3%); background-size:44px 44px; opacity:.45; pointer-events:none; }
.las-hero-content { z-index:2; }
.las-hero-coordinate { padding:12px 8px; border:1px solid rgba(255,255,255,.42); border-radius:30px; background:rgba(18,39,28,.25); backdrop-filter:blur(6px); }
.las-hero h1 em { text-shadow:0 10px 40px rgba(0,0,0,.18); }
.las-booking-bar { border-radius:4px; }
.las-booking-bar div { padding-left:15px; border-left:1px solid #d7d9ce; }
.las-booking-bar div:first-child { padding-left:0; border-left:0; }
.las-booking-bar>a { box-shadow:0 6px 14px rgba(34,62,43,.16); }
.las-reel { min-height:390px; position:relative; display:grid; place-items:center; overflow:hidden; background:#294435 url('../assets/demo-las-taras.jpg') center 57%/cover no-repeat; }
.las-reel:before { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(16,39,26,.57),rgba(16,39,26,.08) 80%),linear-gradient(0deg,rgba(13,31,21,.28),transparent 58%); }
.las-reel:after { content:''; position:absolute; inset:15px; border:1px solid rgba(255,255,255,.44); pointer-events:none; }
.las-reel>div { position:relative; z-index:1; width:min(1100px,calc(100% - 70px)); color:white; }
.las-reel span,.las-reel small { display:block; font:10px 'DM Mono',monospace; letter-spacing:.13em; }
.las-reel strong { display:block; margin:18px 0 22px; font:400 clamp(55px,8vw,94px)/.92 Georgia,serif; letter-spacing:-.045em; }
.las-reel small { color:#eee2bd; }
.las-stay-grid article { border-radius:4px; }
.las-stay-photo { min-height:340px; }
.las-stay-copy>span { display:inline-flex; align-items:center; gap:8px; }
.las-stay-copy>span:before { content:''; width:7px;height:7px;border-radius:50%;background:#768964; }
.las-stay-copy h3 { font-size:38px; }
.las-stay-copy>div { padding-block:14px; }
.las-amenities { position:relative; }
.las-amenities>.demo-section>h2 { max-width:700px; }
.las-amenity-grid article { transition:transform .2s,background .2s; }
.las-amenity-grid article:hover { transform:translateY(-5px); background:#f0f2e9; }
.las-contact { border-radius:4px; overflow:hidden; }
.las-contact h2 { line-height:.96; }
.las-contact .demo-button { color:#283b2d; background:#f1e6c4; }
@media(prefers-reduced-motion:reduce) { .rytm-marquee>div { animation:none; } }
@media(max-width:680px) {
  .rytm-hero:before { left:5%; top:-.05em; font-size:300px; }
  .rytm-marquee { padding:13px 0; }
  .rytm-marquee>div { justify-content:flex-start; gap:20px; min-width:900px; }
  .rytm-marquee span { font-size:9px; }
  .rytm-class-grid h3 { font-size:29px; }
  .las-reel { min-height:310px; }
  .las-reel>div { width:calc(100% - 54px); }
  .las-reel:after { inset:10px; }
  .las-booking-bar div { padding-left:8px; }
  .las-stay-photo { min-height:265px; }
}

/* Rytm final type scale: remove the tiny editorial labels throughout the page. */
.demo-rytm { font-size:18px; }
.demo-rytm .demo-ribbon { font-size:10px; }
.demo-rytm .demo-header nav a { font-size:15px; }
.demo-rytm .rytm-logo span { font-size:10px; letter-spacing:.14em; }
.demo-rytm .rytm-header-cta { font-size:13px!important; }
.demo-rytm .demo-kicker { font-size:12px; letter-spacing:.08em; }
.demo-rytm .rytm-hero-content>p { font-size:18px; line-height:1.8; }
.demo-rytm .rytm-button { font-size:12px; }
.demo-rytm .rytm-side-note { font-size:10px; }
.demo-rytm .rytm-roundel { font-size:10px; }
.demo-rytm .rytm-facts { font-size:12px; letter-spacing:.07em; }
.demo-rytm .rytm-classes:before { font-size:10px; }
.demo-rytm .rytm-classes .demo-section-heading>p { font-size:16px; }
.demo-rytm .rytm-class-grid article>span { font-size:12px; letter-spacing:.06em; }
.demo-rytm .rytm-class-grid p { font-size:16px; line-height:1.8; }
.demo-rytm .rytm-class-grid a { font-size:12px; }
.demo-rytm .rytm-schedule-photo:after { font-size:10px; }
.demo-rytm .rytm-times span,.demo-rytm .rytm-times time { font-size:12px; }
.demo-rytm .rytm-times b { font-size:16px; }
.demo-rytm .rytm-schedule-note { font-size:13px!important; }
.demo-rytm .rytm-contact>div>p { font-size:16px; }
.demo-rytm .rytm-contact>a { font-size:16px; }
.demo-rytm .demo-footer { font-size:12px; }
.demo-rytm .demo-footer .rytm-logo span { font-size:10px; }
.demo-rytm .rytm-marquee span { font-size:12px; }
@media(max-width:680px) {
  .demo-rytm { font-size:17px; }
  .demo-rytm .demo-ribbon { font-size:8px; }
  .demo-rytm .demo-header nav a { font-size:16px; }
  .demo-rytm .rytm-hero-content>p { font-size:17px; }
  .demo-rytm .rytm-roundel { font-size:9px; }
  .demo-rytm .rytm-facts { font-size:11px; gap:12px 15px; }
  .demo-rytm .rytm-class-grid p { font-size:16px; }
  .demo-rytm .rytm-class-grid a { font-size:12px; }
  .demo-rytm .rytm-times span,.demo-rytm .rytm-times time { font-size:11px; }
  .demo-rytm .rytm-times b { font-size:15px; }
  .demo-rytm .rytm-contact>div>p { font-size:15px; }
  .demo-rytm .demo-footer { font-size:11px; }
  .demo-rytm .rytm-marquee span { font-size:11px; }
}

/* Matching larger type scale across Las / Woda. */
.demo-las { font-size:18px; }
.demo-las .demo-ribbon { font-size:10px; }
.demo-las .demo-header nav a { font-size:15px; }
.demo-las .las-logo small { font-size:10px; letter-spacing:.14em; }
.demo-las .las-header-cta { font-size:13px!important; }
.demo-las .demo-kicker { font-size:12px; letter-spacing:.08em; }
.demo-las .las-hero-content>p { font-size:18px; line-height:1.8; }
.demo-las .las-button { font-size:12px; }
.demo-las .las-hero-coordinate { font-size:10px; }
.demo-las .las-booking-bar div small { font-size:11px; }
.demo-las .las-booking-bar div b { font-size:15px; }
.demo-las .las-booking-bar>a { font-size:12px; }
.demo-las .las-intro>div+div>p { font-size:17px; line-height:1.85; }
.demo-las .las-inline-link { font-size:13px; }
.demo-las .las-stays .demo-section-heading>p { font-size:16px; }
.demo-las .las-stay-copy>span { font-size:12px; letter-spacing:.06em; }
.demo-las .las-stay-copy h3 { font-size:40px; }
.demo-las .las-stay-copy p { font-size:16px; line-height:1.8; }
.demo-las .las-stay-copy>div { font-size:11px; }
.demo-las .las-stay-copy a { font-size:13px; }
.demo-las .las-amenity-grid article>b { font-size:12px; }
.demo-las .las-amenity-grid h3 { font-size:24px; }
.demo-las .las-amenity-grid p { font-size:15px; line-height:1.8; }
.demo-las .las-reel span,.demo-las .las-reel small { font-size:12px; }
.demo-las .las-contact-copy>p { font-size:16px; }
.demo-las .las-contact-copy>small { font-size:12px; }
.demo-las .las-contact .demo-button { font-size:12px; }
.demo-las .demo-footer { font-size:12px; }
.demo-las .demo-footer .las-logo small { font-size:10px; }
@media(max-width:680px) {
  .demo-las { font-size:17px; }
  .demo-las .demo-ribbon { font-size:8px; }
  .demo-las .demo-header nav a { font-size:16px; }
  .demo-las .las-hero-content>p { font-size:17px; }
  .demo-las .las-hero-coordinate { font-size:9px; }
  .demo-las .las-booking-bar div small { font-size:10px; }
  .demo-las .las-booking-bar div b { font-size:13px; }
  .demo-las .las-booking-bar>a { font-size:11px; }
  .demo-las .las-intro>div+div>p { font-size:16px; }
  .demo-las .las-stays .demo-section-heading>p { font-size:15px; }
  .demo-las .las-stay-copy>span { font-size:11px; }
  .demo-las .las-stay-copy h3 { font-size:36px; }
  .demo-las .las-stay-copy p { font-size:16px; }
  .demo-las .las-stay-copy>div { font-size:10px; }
  .demo-las .las-stay-copy a { font-size:13px; }
  .demo-las .las-amenity-grid h3 { font-size:21px; }
  .demo-las .las-amenity-grid p { font-size:14px; }
  .demo-las .las-reel span,.demo-las .las-reel small { font-size:10px; }
  .demo-las .las-contact-copy>p { font-size:15px; }
  .demo-las .demo-footer { font-size:11px; }
}
