@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Inter+Tight:wght@400;500;600;700&family=Nunito:wght@400;600;700&display=swap');

:root { --color-paper:#f3efe5; --color-surface:#fffcf6; --color-ink:#252521; --color-muted:#68675f; --color-red:#c94f3d; --color-red-dark:#9e3b30; --color-yellow:#e4b94f; --color-green:#61785a; --color-green-light:#dce3d5; --color-blue:#477a83; --color-blue-light:#d7e6e5; --color-border:#ccc6b9; --space-xs:.5rem; --space-sm:1rem; --space-md:1.5rem; --space-lg:3rem; --space-xl:5rem; --space-2xl:8rem; --radius-sm:3px; --radius-md:7px; --container:1240px; --text-width:680px; --ink:var(--color-ink); --paper:var(--color-paper); --mint:var(--color-green-light); --yellow:var(--color-yellow); --coral:var(--color-red); --line:var(--color-border); --blue:var(--color-blue-light); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font:15px/1.55 'Nunito','DM Sans',sans-serif; }
a { color:inherit; text-decoration:none; }
h1,h2 { font-family:Fraunces,serif; font-weight:600; line-height:1.05; letter-spacing:.01em; }
h1 { font-size:clamp(3.2rem,7vw,6.8rem); margin:24px 0; }
h2 { font-size:clamp(2.3rem,4.5vw,4.5rem); margin:0 0 22px; }
h3 { font-size:1.1rem; margin:10px 0 6px; }
.site-header,.admin-header { height:88px; display:flex; align-items:center; justify-content:space-between; padding:0 5vw; }
.site-header { border-bottom:2px dotted rgba(33,70,64,.22); }
.brand { display:flex; align-items:center; gap:10px; line-height:.88; font-size:15px; letter-spacing:.02em; }
.brand b { font-weight:700; }
.site-header nav { display:flex; align-items:center; gap:32px; font-size:13px; font-weight:700; }
.site-header nav a:hover,footer a:hover { opacity:.6; }
.lang { border-bottom:1px solid var(--ink); padding-bottom:4px; }
.hero { min-height:660px; display:grid; grid-template-columns:48% 52%; background:var(--mint); color:var(--ink); }
.hero-copy { position:relative; padding:clamp(50px,8vw,125px) clamp(7vw,10vw,150px) 80px 10vw; display:flex; flex-direction:column; align-items:flex-start; overflow:hidden; }
.hero-copy p { max-width:480px; font-size:1.1rem; opacity:.85; }
.eyebrow,.section-label { font-size:11px; letter-spacing:.15em; text-transform:uppercase; font-weight:700; }
.hero .eyebrow { color:#a95348; }
.hero-image { background:url('/static/hero-daycare.png') center/cover no-repeat; min-height:500px; margin:34px 5vw 34px 0; border-radius:23% 4% 19% 5%; border:7px solid var(--paper); box-shadow:12px 12px 0 var(--yellow); }
.button { display:inline-flex; align-items:center; gap:18px; border:0; padding:15px 20px; font:700 13px 'Nunito','DM Sans',sans-serif; cursor:pointer; border-radius:8px; }
.button:disabled { cursor:wait; opacity:.65; }
.button span { font-size:18px; }
.button-light { background:var(--yellow); color:var(--ink); margin-top:26px; box-shadow:4px 4px 0 var(--ink); }
.button-dark { background:var(--ink); color:var(--paper); margin-top:20px; }
.section { display:grid; grid-template-columns:25% 1fr; gap:5vw; padding:120px 10vw; }
.section-label { padding-top:8px; opacity:.65; }
.intro { background:var(--paper); }
.lead { font-family:Fraunces,serif; font-size:1.55rem; line-height:1.3; max-width:720px; }
.pillars { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; margin-top:75px; }
.pillars>div { border-top:2px solid var(--ink); padding-top:14px; }
.pillars strong { color:var(--coral); font-size:12px; }
.pillars p { font-size:13px; max-width:220px; }
.apply { background:var(--coral); color:#fff; }
.apply-panel { position:relative; }
.apply-panel:after { content:'☼'; position:absolute; right:2%; top:0; color:var(--yellow); font-size:48px; transform:rotate(-12deg); }
.apply-panel { max-width:850px; }
.apply-panel>p { opacity:.88; }
.apply form { margin-top:40px; }
.apply form h3 { margin:34px 0 14px; color:var(--ink); font-size:1.05rem; }
.inline-check { grid-column:1/-1; align-items:center; }
.form-success { background:var(--yellow); color:var(--ink); padding:22px; border-radius:4px 12px 5px 9px; font-weight:700; }
.form-error { color:var(--yellow); font-weight:700; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.form-grid .full { grid-column:1/-1; }
label { display:block; font-size:12px; font-weight:700; }
label:not(.check) > span { color:var(--yellow); }
input,textarea,select { border:1px solid var(--line); background:rgba(255,255,255,.72); color:var(--ink); font:15px 'Nunito','DM Sans',sans-serif; padding:13px 14px; border-radius:8px; }
.date-field { display:flex; align-items:center; gap:6px; margin-top:7px; position:relative; }
.date-field input[type=text] { margin-top:0; flex:1; min-width:0; }
.date-picker-button { width:42px; height:44px; padding:0; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--ink); cursor:pointer; }
.date-picker-native { position:absolute; width:1px !important; height:1px !important; opacity:0; pointer-events:none; }
label > input,label > textarea,label > select { display:block; width:100%; margin-top:7px; }
textarea { resize:vertical; }
.apply input,.apply textarea { border-color:rgba(255,255,255,.7); background:rgba(255,255,255,.12); color:#fff; }
.apply input:focus,.apply textarea:focus { outline:2px solid var(--yellow); }
.check { display:flex; flex-direction:row; align-items:flex-start; margin-top:28px; font-weight:400; max-width:700px; }
.check input { width:auto; }
.check input { accent-color:var(--ink); margin-top:3px; }
.check a { text-decoration:underline; }
.address-copy { margin-top:0; }
.apply small { display:block; margin-top:12px; }
.contact { background:var(--blue); padding-bottom:150px; }
.contact a { text-decoration:underline; }
.contact p { font-size:1.2rem; }
footer { display:flex; gap:28px; padding:26px 10vw; font-size:12px; background:var(--ink); color:var(--paper); }
.center-page,.login-page { min-height:100vh; display:grid; place-content:center; text-align:center; padding:30px; }
.center-page h1 { max-width:650px; font-size:clamp(2.7rem,6vw,5rem); }
.thanks-mark { margin:0 auto 25px; background:var(--yellow); width:75px; height:75px; border-radius:50%; display:grid; place-items:center; font-size:42px; }
.legal { max-width:750px; margin:0 auto; padding:70px 25px 120px; }
.legal h1 { font-size:4rem; margin:70px 0 35px; }
.legal h2 { font-family:'DM Sans'; font-size:1.15rem; margin-top:40px; }
.back { font-size:13px; font-weight:700; text-decoration:underline; }
.login-page { background:var(--mint); }
.login-box { width:min(400px,100%); text-align:left; background:var(--paper); padding:42px; border-radius:4px 18px 7px 14px; box-shadow:9px 9px 0 var(--yellow); }
.login-box .brand { margin-bottom:55px; }
.login-box h1 { font-size:2.5rem; }
.login-box form { display:grid; gap:20px; }
.login-box .back { display:block; margin-top:35px; }
.flash-stack { position:fixed; z-index:5; top:20px; right:20px; }
.flash { background:var(--ink); color:#fff; padding:14px 18px; margin-bottom:8px; }
.flash.error { background:var(--coral); }
.admin-header { background:var(--ink); color:var(--paper); }
.admin-header>div { display:flex; align-items:center; gap:22px; }
.admin-caption { font-size:12px; opacity:.7; }
.admin-nav { display:flex; align-items:center; gap:18px; font-size:12px; font-weight:700; }
.admin-nav a:not(.button) { opacity:.72; }
.admin-nav a.active,.admin-nav a:not(.button):hover { opacity:1; text-decoration:underline; text-underline-offset:5px; }
.button-small { padding:9px 13px; border:1px solid rgba(255,255,255,.4); font-size:11px; }
.admin-main { padding:70px 5vw; }
.admin-title { display:flex; align-items:end; justify-content:space-between; margin-bottom:40px; }
.admin-title h1 { font-size:4rem; margin:12px 0 0; }
.admin-actions { display:flex; align-items:center; gap:12px; }
.new-entry { background:var(--yellow); padding:26px 30px; margin:-10px 0 35px; border-radius:4px 13px 5px 10px; }
.new-entry h2 { font-family:'DM Sans'; font-size:1.3rem; margin:10px 0 18px; }
.new-entry-form { max-width:800px; }
.new-entry-section { border-top:1px solid rgba(33,70,64,.25); padding-top:18px; margin-top:24px; }
.new-entry-section:first-child { border-top:0; padding-top:0; margin-top:0; }
.new-entry-section h3 { margin:0 0 14px; font-size:1rem; }
.new-entry-section h3 small { font-size:.75rem; font-weight:400; }
.field-help { margin:24px 0 0; color:#68756e; font-size:12px; font-weight:400; }
.new-entry-form .button { margin-top:18px; }
.new-entry-footer { display:flex; align-items:center; gap:12px; }
.new-entry-footer small { margin-left:0; }
.contract-actions { display:grid; gap:6px; min-width:150px; }
.contract-actions span { white-space:nowrap; }
.edit-link { border:0; padding:0; background:transparent; color:var(--ink); font:700 12px 'Nunito','DM Sans',sans-serif; text-decoration:underline; cursor:pointer; white-space:nowrap; }
.modal-backdrop { position:fixed; inset:0; z-index:10; overflow:auto; padding:5vh 20px; background:rgba(33,70,64,.58); }
.edit-modal { width:min(860px,100%); margin:0 auto; padding:32px; background:var(--paper); box-shadow:10px 10px 0 var(--yellow); }
.modal-heading { display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:20px; }
.modal-heading h2 { font-family:Fraunces,serif; font-size:2.4rem; margin:8px 0 0; }
.modal-close { border:0; background:transparent; color:var(--ink); font-size:32px; line-height:1; cursor:pointer; }
.modal-actions { display:flex; align-items:center; gap:14px; margin-top:24px; }
.button-quiet { background:transparent; color:var(--ink); text-decoration:underline; }
.button-danger { margin-left:auto; background:transparent; color:#a44335; border:1px solid #c98273; }
.admin-grid { display:grid; grid-template-columns:1fr; gap:30px; align-items:start; }
.table-wrap { overflow:auto; background:#fff; border:1px solid var(--line); }
.table-tools { display:flex; align-items:end; flex-wrap:wrap; gap:14px; padding:16px; border-bottom:1px solid var(--line); background:#f3f6ef; }
.view-switch { display:flex; align-items:center; gap:4px; margin-right:8px; }
.view-switch > span { margin-right:4px; font-size:12px; font-weight:700; }
.view-switch button { border:1px solid var(--line); padding:8px 10px; background:#fff; color:var(--ink); font:700 12px 'Nunito','DM Sans',sans-serif; cursor:pointer; }
.view-switch button:first-of-type { border-radius:8px 0 0 8px; }
.view-switch button:last-of-type { border-radius:0 8px 8px 0; margin-left:-5px; }
.view-switch button.active { background:var(--ink); color:var(--paper); }
.table-tools label { min-width:145px; }
.table-tools .search-field { flex:1; min-width:220px; }
.table-tools input,.table-tools select { margin-top:6px; padding:9px 10px; background:#fff; font-size:13px; }
.application-closed { background:#f1f3ef; color:#7b847d; }
.application-closed td:first-child { border-left:4px solid #9aa69d; padding-left:12px; }
.application-closed .table-expand,.application-closed .edit-link { color:#68756e; }
.application-test { background:#fff8df; }
.application-test td:first-child { border-left:4px solid #d3a52e; padding-left:12px; }
.application-test .table-expand,.application-test .edit-link { color:#826d28; }
table { border-collapse:collapse; width:100%; min-width:720px; text-align:left; font-size:13px; }
th { font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:#68756e; background:#eef2ea; }
th,td { padding:16px; border-bottom:1px solid #e4e9e2; }
td small,.email-item small { display:block; color:#75817a; font-size:11px; margin-top:3px; }
select { padding:7px 25px 7px 8px; font-size:12px; }
.icon-link { font-size:12px; font-weight:700; text-decoration:underline; }
.table-expand,.contract-count { border:0; padding:0; background:transparent; color:var(--ink); font:inherit; cursor:pointer; text-align:left; }
.table-expand { display:flex; align-items:center; gap:8px; font-weight:700; }
.table-expand span { display:inline-grid; place-items:center; width:18px; height:18px; border:1px solid var(--line); border-radius:50%; font-size:14px; line-height:1; }
.contract-count { color:#68756e; font-size:12px; text-decoration:underline; }
.contract-count.has-contracts { color:var(--ink); font-weight:700; }
.application-details td { padding:0; background:#f3f6ef; }
.application-detail-content { display:grid; gap:18px; padding:24px 30px 28px; }
.application-detail-content h3 { margin:6px 0 0; font:600 1.4rem Fraunces,serif; }
.application-detail-content p { margin:0; color:#68756e; font-size:13px; }
.contract-list { display:grid; gap:1px; border:1px solid var(--line); background:var(--line); }
.contract-item { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:14px 16px; background:#fff; }
.contract-item small { display:block; margin-top:4px; color:#68756e; font-size:11px; }
.contract-links { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.contract-status { margin:0; padding:6px 8px; }
.delete-link { border:0; padding:0; background:transparent; color:#a44335; font:700 12px 'Nunito','DM Sans',sans-serif; text-decoration:underline; cursor:pointer; }
.new-contract-control { display:grid; gap:7px; max-width:360px; font-size:12px; font-weight:700; }
.new-contract-control select { width:100%; }
.upload-contract-control { display:grid; gap:7px; max-width:360px; margin-top:18px; font-size:12px; font-weight:700; }
.upload-contract-control select,.upload-contract-control input { width:100%; margin-top:0; }
.file-picker { display:block; padding:16px; border:1px dashed var(--line); background:#fff; cursor:pointer; }
.file-picker input { display:block; margin-top:8px; width:100%; }
.import-modal { width:min(1180px,100%); }
.import-summary { display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin:24px 0 12px; }
.import-summary .edit-link { margin-left:auto; }
.import-preview { overflow:auto; border:1px solid var(--line); background:#fff; max-height:52vh; }
.import-preview table { min-width:900px; }
.import-preview th,.import-preview td { white-space:nowrap; }
.import-preview input[type=checkbox] { width:18px; height:18px; margin:0; }
.import-row-invalid { background:#fff0ed; color:#8c3d31; }
.family-child-list { display:grid; gap:1px; max-width:600px; background:var(--line); border:1px solid var(--line); }
.family-child-item { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:12px 14px; background:#fff; }
.family-child-item small { display:block; margin-top:3px; color:#68756e; font-size:11px; }
.admin-map { width:100%; max-width:1100px; height:min(65vh,620px); min-height:380px; border:1px solid var(--line); }
.map-marker-wrapper { display:grid; place-items:center; background:transparent; border:0; }
.map-marker { display:block; width:16px; height:16px; border:3px solid #fff; border-radius:50%; background:#a44335; box-shadow:0 1px 4px rgba(33,70,64,.55); }
.map-missing { max-width:1100px; margin-top:20px; padding:18px 20px; background:#f3f6ef; border:1px solid var(--line); }
.map-missing h2 { margin:0 0 8px; font:700 1rem 'DM Sans',sans-serif; }
.map-missing p { margin:0; font-size:13px; }
.empty { text-align:center; padding:50px; }
.settings { background:var(--mint); padding:30px; border-radius:4px 13px 5px 10px; }
.settings h2 { font-family:'DM Sans'; font-size:1.3rem; margin:16px 0 8px; }
.settings p { font-size:13px; }
.settings hr { border:0; border-top:1px solid rgba(23,61,57,.2); margin:35px 0; }
.settings form { display:grid; gap:4px; }
.settings .button { justify-self:start; }
.email-item { display:block; padding:12px 0; border-bottom:1px solid rgba(23,61,57,.15); font-size:12px; }
.email-item summary { list-style:none; display:flex; gap:10px; cursor:pointer; }
.email-item summary::-webkit-details-marker { display:none; }
.email-item pre { white-space:pre-wrap; font:12px/1.5 'DM Sans',sans-serif; margin:12px 0 0 18px; background:rgba(255,255,255,.5); padding:12px; }
.email-list { max-width:900px; background:#fff; padding:10px 24px; border:1px solid var(--line); }
.page-intro { max-width:650px; margin-bottom:24px; }
.settings-page { max-width:620px; background:var(--mint); padding:34px; border-radius:4px 13px 5px 10px; }
.settings-page h2 { font-family:'DM Sans'; font-size:1.5rem; margin:14px 0 8px; }
.settings-page form { display:grid; gap:5px; margin-top:24px; }
.stat-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; max-width:900px; margin:24px 0 36px; }
.stat-card { background:var(--mint); padding:22px; border-radius:4px 13px 5px 10px; }
.stat-card span { display:block; font-size:12px; }
.stat-card strong { display:block; font:600 2.8rem Fraunces,serif; margin-top:8px; }
.analytics-table { max-width:900px; background:#fff; border:1px solid var(--line); padding:22px; }
.analytics-table h2 { font-family:'DM Sans'; font-size:1.25rem; }
.mail-dot { width:8px; height:8px; border-radius:50%; background:var(--coral); margin-top:6px; flex:none; }
.mail-dot.sent { background:#4f9a63; }
@media(max-width:800px) {
  .site-header { height:75px; padding:0 6vw; }
  .site-header nav { gap:13px; }
  .site-header nav a:not(.lang) { display:none; }
  .hero { grid-template-columns:1fr; }
  .hero-copy { padding:70px 9vw; }
  .hero-image { min-height:330px; }
  .section { grid-template-columns:1fr; padding:75px 9vw; gap:30px; }
  .pillars { grid-template-columns:1fr; gap:22px; margin-top:45px; }
  .pillars p { max-width:none; }
  .form-grid { grid-template-columns:1fr; }
  .form-grid .full { grid-column:auto; }
  .contact { padding-bottom:90px; }
  footer { padding:22px 9vw; gap:15px; flex-wrap:wrap; }
  .admin-header { padding:0 5vw; }
  .admin-caption { display:none; }
  .admin-main { padding:45px 5vw; }
  .admin-title { align-items:start; gap:20px; flex-direction:column; }
  .admin-title h1 { font-size:3rem; }
  .admin-actions { align-items:stretch; flex-direction:column; width:100%; }
  .admin-grid { grid-template-columns:1fr; }
  .table-tools { align-items:stretch; flex-direction:column; }
  .table-tools label,.table-tools .search-field { min-width:0; width:100%; }
  .settings { order:-1; }
  .legal h1 { font-size:3rem; }
  .stat-cards { grid-template-columns:1fr; }
  .edit-modal { padding:24px 18px; }
  .modal-actions { align-items:stretch; flex-direction:column; }
  .button-danger { margin-left:0; }
  .contract-item { align-items:flex-start; flex-direction:column; }
}

/* Public onepager */
.onepager { background:#faf5e7; color:#304b43; }
.onepager main { max-width:1280px; margin:0 auto; }
.onepager .site-header { position:sticky; top:0; z-index:4; background:rgba(250,245,231,.96); backdrop-filter:blur(8px); }
.onepager-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); min-height:620px; border-bottom:1px solid #b9c7b8; background:#dcebd5; }
.onepager-hero-copy { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:clamp(48px,8vw,110px) clamp(30px,7vw,100px); }
.onepager-hero-copy h1 { max-width:600px; font-size:clamp(3rem,6vw,5.6rem); margin:22px 0; }
.onepager-hero-copy p { max-width:520px; font-size:1.08rem; }
.onepager-hero-copy .button { margin-top:20px; }
.slider { position:relative; min-height:470px; margin:48px 0 48px 24px; overflow:hidden; border:1px solid #789386; background:#f3cf63; }
.slider-track,.slider-track img { width:100%; height:100%; }
.slider-track img { position:absolute; inset:0; object-fit:cover; opacity:0; transition:opacity .5s ease; }
.slider-track img.active { opacity:1; }
.onepager-section { display:grid; grid-template-columns:22% 1fr; gap:5vw; padding:clamp(70px,10vw,130px) 8vw; border-bottom:1px solid #b9c7b8; }
.info-section { background:#faf5e7; }
.onepager-section h2 { font-size:clamp(2.5rem,5vw,4.5rem); margin:0 0 50px; }
.info-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 48px; }
.info-list article { border-top:1px solid #789386; padding:20px 0 28px; }
.info-list article:last-child { grid-column:1/-1; }
.info-list h3 { margin:0 0 8px; font-size:1rem; }
.info-list p { margin:0; max-width:650px; }
.application-section { background:#e7eee1; }
.application-section form { max-width:850px; }
.contact-section { background:#cfe1dc; }
.contact-section p { font-size:1.15rem; }
@media(max-width:800px) {
  .onepager .site-header { height:auto; min-height:72px; padding:18px 20px; gap:16px; align-items:flex-start; }
  .onepager .site-header nav { flex-wrap:wrap; justify-content:flex-end; gap:8px 14px; font-size:11px; }
  .onepager-hero { grid-template-columns:1fr; }
  .onepager-hero-copy { padding:56px 20px 42px; }
  .onepager-hero-copy h1 { font-size:clamp(2.8rem,13vw,4.5rem); }
  .slider { min-height:260px; margin:0 20px 42px; }
  .onepager-section { grid-template-columns:1fr; gap:24px; padding:56px 20px; }
  .onepager-section h2 { margin-bottom:32px; }
  .info-list { grid-template-columns:1fr; }
  .info-list article:last-child { grid-column:auto; }
  .onepager footer { padding:22px 20px; }
}

/* Slider administration */
.slide-upload { display:flex; align-items:flex-end; gap:18px; max-width:760px; padding:24px; background:#e7eee1; border:1px solid var(--line); }
.slide-upload label { flex:1; }
.slide-upload .button { margin:0; }
.form-notice { margin:18px 0; font-weight:700; }
.slide-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:20px; margin-top:32px; }
.slide-card { margin:0; border:1px solid var(--line); background:#fff; }
.slide-card img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; background:#f3cf63; }
.slide-card figcaption { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px; font-size:12px; }
.slide-card figcaption span { overflow-wrap:anywhere; }

/* Editorial public page */
.onepager { background:var(--color-paper); color:var(--color-ink); font-family:'Inter Tight','DM Sans',sans-serif; }
.onepager .site-header { max-width:var(--container); margin:0 auto; padding-inline:32px; border-bottom:1px solid var(--color-border); }
.onepager .brand { gap:14px; font-size:17px; line-height:.82; letter-spacing:.06em; }
.onepager .wordmark small { max-width:120px; font-size:10px; line-height:1.1; letter-spacing:0; color:var(--color-muted); }
.onepager .site-header nav { gap:24px; font-size:13px; font-weight:600; }
.onepager .site-header nav a { border-bottom:0; }
.onepager .site-header nav a:hover { color:var(--color-red); opacity:1; }
.onepager .site-header .lang { border-bottom:1px solid currentColor; padding-bottom:3px; }
.onepager main { max-width:var(--container); }
.editorial-hero { display:grid; grid-template-columns:5fr 7fr; min-height:min(820px,88vh); align-items:center; gap:clamp(32px,6vw,88px); padding:clamp(56px,8vw,108px) 32px; border-bottom:1px solid var(--color-border); }
.hero-copy { max-width:600px; padding:0; }
.section-label { color:var(--color-muted); font:600 .78rem/1.2 'Inter Tight',sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.hero-copy h1 { max-width:600px; margin:24px 0 28px; color:var(--color-ink); font:600 clamp(3rem,7vw,7rem)/.95 'Inter Tight',sans-serif; letter-spacing:-.045em; }
.hero-copy p { max-width:550px; margin:0; color:var(--color-muted); font-size:clamp(1.05rem,1.5vw,1.25rem); line-height:1.55; }
.hero-cta { margin-top:34px; background:var(--color-red); color:#fff; border-radius:var(--radius-sm); padding:15px 22px; }
.hero-cta:hover { background:var(--color-red-dark); transform:translateY(-1px); }
.hero-photo { position:relative; min-height:min(610px,72vh); margin-right:-32px; padding:8px; background:var(--color-surface); border:1px solid var(--color-border); transform:rotate(1deg); }
.hero-photo img { display:block; width:100%; height:100%; min-height:inherit; object-fit:cover; }
.hero-photo .slider-track { position:relative; width:100%; height:100%; min-height:inherit; }
.hero-photo .slider-track img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .5s ease; }
.hero-photo .slider-track img.active { opacity:1; }
.hero-photo span { position:absolute; right:14px; bottom:-28px; color:var(--color-muted); font-size:.75rem; transform:rotate(-1deg); }
.quick-facts { display:grid; grid-template-columns:1.2fr repeat(4,1fr); align-items:center; gap:24px; padding:30px 32px; background:var(--color-ink); color:var(--color-paper); }
.facts-label { color:var(--color-yellow); font-size:.78rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.quick-facts div { display:grid; gap:3px; border-left:1px solid rgba(243,239,229,.28); padding-left:20px; }
.quick-facts strong { font-size:1.2rem; font-weight:600; }
.quick-facts small { color:#c5c1b8; font-size:.78rem; }
.editorial-section { display:grid; grid-template-columns:22% 1fr; gap:5vw; padding:clamp(80px,9vw,140px) 32px; border-bottom:1px solid var(--color-border); }
.editorial-section h2,.parents-section h2 { max-width:750px; margin:0 0 28px; color:var(--color-ink); font:600 clamp(2.6rem,5vw,5rem)/.98 'Inter Tight',sans-serif; letter-spacing:-.04em; }
.section-lead { max-width:var(--text-width); margin:0; color:var(--color-muted); font-size:1.2rem; line-height:1.55; }
.concept-section { background:var(--color-surface); }
.value-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 54px; margin-top:72px; }
.value-grid article { position:relative; border-top:1px solid var(--color-border); padding:22px 0 36px 58px; }
.value-number { position:absolute; left:0; top:23px; color:var(--color-red); font-size:1rem; font-weight:600; }
.value-grid h3 { margin:0 0 8px; font-size:1.35rem; font-weight:600; }
.value-grid p { max-width:300px; margin:0; color:var(--color-muted); }
.everyday-section { background:var(--color-paper); }
.everyday-layout { display:grid; grid-template-columns:1fr 1fr; gap:24px 40px; align-items:start; }
.everyday-layout > div:first-child { grid-column:1/-1; }
.photo-placeholder { display:grid; place-items:center; min-height:240px; border:1px solid var(--color-border); background:var(--color-blue-light); color:var(--color-blue); text-align:center; font-size:.9rem; }
.photo-large { min-height:330px; background:var(--color-green-light); color:var(--color-green); }
.photo-small { min-height:180px; transform:rotate(-1deg); }
.everyday-notes { display:flex; flex-wrap:wrap; align-content:center; gap:10px; padding:30px 0; }
.everyday-notes span { color:var(--color-red); font-size:1.3rem; font-weight:600; }
.everyday-notes span:not(:last-child)::after { content:' /'; color:var(--color-muted); margin-left:10px; }
.parents-section { padding:clamp(80px,9vw,140px) 32px; background:var(--color-blue); color:var(--color-surface); }
.parents-section .section-label { color:#d7e6e5; }
.parents-layout { display:grid; grid-template-columns:1.15fr .85fr; gap:8vw; align-items:start; }
.parents-section h2 { color:var(--color-surface); }
.parents-section p { max-width:520px; margin:0; font-size:1.2rem; line-height:1.55; }
.fit-section { background:var(--color-green-light); }
.fit-section h2 { color:var(--color-green); font-size:clamp(4rem,9vw,9rem); }
.fit-list { max-width:650px; margin:0; padding:0; list-style:none; }
.fit-list li { display:flex; gap:16px; border-top:1px solid rgba(97,120,90,.45); padding:16px 0; font-size:1.15rem; }
.fit-list li span { color:var(--color-red); font-size:1.4rem; line-height:1; }
.application-section { background:var(--color-surface); }
.application-section form { max-width:850px; }
.application-section input,.application-section textarea,.application-section select { min-height:52px; border:1px solid var(--color-ink); border-radius:var(--radius-sm); background:transparent; color:var(--color-ink); }
.application-section input:focus,.application-section textarea:focus,.application-section select:focus { outline:3px solid var(--color-yellow); outline-offset:2px; }
.application-section .date-picker-native { min-height:1px; padding:0; border:0; }
.application-section .date-picker-button { min-height:52px; border-color:var(--color-ink); border-radius:var(--radius-sm); background:transparent; }
.application-section .button-dark { background:var(--color-red); border-radius:var(--radius-sm); }
.application-section .button-dark:hover { background:var(--color-red-dark); transform:translateY(-1px); }
.contact-section { background:var(--color-paper); }
.contact-section p { color:var(--color-muted); }
.onepager footer { max-width:none; display:flex; justify-content:space-between; align-items:flex-end; gap:40px; padding:48px max(32px,calc((100vw - var(--container)) / 2 + 32px)); background:var(--color-ink); color:var(--color-paper); }
.onepager footer strong { font-size:1.1rem; line-height:.85; letter-spacing:.06em; }
.onepager footer p { margin:22px 0 0; color:#c5c1b8; font-size:.85rem; }
.footer-links { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:22px; color:#c5c1b8; font-size:.85rem; }
.footer-links a:hover { color:var(--color-yellow); }
.mobile-apply { display:none; }
@media(max-width:900px) {
  .onepager .site-header { padding-inline:20px; }
  .editorial-hero { grid-template-columns:1fr; min-height:0; padding:72px 20px 64px; }
  .hero-photo { min-height:360px; height:52vw; max-height:520px; margin:18px 0 0; }
  .quick-facts { grid-template-columns:repeat(2,1fr); padding:28px 20px; }
  .facts-label { grid-column:1/-1; }
  .quick-facts div:nth-of-type(odd) { border-left:0; padding-left:0; }
  .editorial-section { grid-template-columns:1fr; gap:26px; padding:80px 20px; }
  .parents-section { padding-inline:20px; }
  .parents-layout { grid-template-columns:1fr; gap:0; }
}
@media(max-width:600px) {
  .onepager .site-header { align-items:flex-start; }
  .onepager .wordmark small { display:none; }
  .onepager .site-header nav { flex-wrap:wrap; justify-content:flex-end; gap:8px 13px; font-size:11px; }
  .hero-copy h1 { font-size:clamp(2.8rem,13vw,4.5rem); }
  .hero-copy p { font-size:1.05rem; }
  .hero-photo { min-height:270px; height:68vw; }
  .quick-facts { gap:0; }
  .quick-facts div { padding:14px 0 14px 14px; }
  .quick-facts strong { font-size:1.05rem; }
  .quick-facts small { font-size:.72rem; }
  .value-grid,.everyday-layout { grid-template-columns:1fr; }
  .everyday-layout > div:first-child { grid-column:auto; }
  .onepager footer { align-items:flex-start; flex-direction:column; padding:38px 20px 80px; }
  .footer-links { justify-content:flex-start; }
  .mobile-apply { position:fixed; z-index:5; right:16px; bottom:16px; left:16px; display:flex; justify-content:space-between; align-items:center; padding:14px 18px; background:var(--color-red); color:#fff; border-radius:var(--radius-sm); box-shadow:0 4px 14px rgba(37,37,33,.18); font-weight:600; transition:opacity .2s,transform .2s; }
  .mobile-apply.is-hidden { opacity:0; pointer-events:none; transform:translateY(12px); }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition-duration:.01ms !important; animation-duration:.01ms !important; } }

/* Lütje Liga reference: warm, open, hand-made colour language */
.onepager { --ll-yellow:#fff7c9; --ll-orange:#e99424; --ll-orange-dark:#c97717; --ll-white:#fffefb; --ll-footer:#545454; background:var(--ll-white); }
.onepager .site-header { position:sticky; top:0; z-index:4; max-width:none; height:76px; margin:0; padding-inline:max(32px,calc((100vw - var(--container)) / 2 + 32px)); background:rgba(255,254,251,.97); border-bottom:1px solid #ededeb; box-shadow:none; }
.onepager .brand { color:var(--ll-orange); font-size:15px; letter-spacing:.035em; }
.onepager .brand img { display:block; width:72px; height:58px; object-fit:contain; }
.onepager .wordmark small { color:var(--color-muted); font-size:10px; }
.onepager .site-header nav { gap:28px; font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
.onepager .site-header nav a:hover,.onepager .site-header .lang { color:var(--ll-orange); }
.language-form { margin:0; }
.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.language-form select { width:auto; min-height:0; margin:0; padding:2px 20px 3px 0; border:0; border-bottom:1px solid var(--ll-orange); border-radius:0; background:transparent; color:var(--ll-orange); font:600 12px 'Inter Tight','DM Sans',sans-serif; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
.language-form select:focus-visible { outline:3px solid var(--color-yellow); outline-offset:3px; }
.editorial-hero { grid-template-columns:1fr; justify-items:center; min-height:0; gap:44px; padding:clamp(72px,9vw,132px) 32px clamp(58px,7vw,92px); background:var(--ll-yellow); border-bottom:0; text-align:center; }
.hero-copy { display:flex; align-items:center; max-width:820px; }
.section-label { color:var(--ll-orange); font-size:.76rem; letter-spacing:.13em; }
.hero-copy h1 { max-width:820px; margin:20px 0; color:var(--ll-orange); font:400 clamp(2.8rem,5.6vw,5.6rem)/1.06 'Inter Tight','DM Sans',sans-serif; letter-spacing:-.035em; }
.hero-copy p { max-width:680px; color:var(--color-ink); font-size:clamp(1.05rem,1.6vw,1.3rem); }
.hero-cta { margin-top:30px; background:var(--ll-orange); border-radius:4px; font-size:14px; }
.hero-cta:hover { background:var(--ll-orange-dark); }
.hero-photo { width:min(560px,100%); min-height:330px; height:clamp(330px,42vw,560px); margin:0; padding:9px; background:var(--ll-white); border:2px solid var(--ll-orange); transform:none; }
.hero-photo .slider-track { min-height:0; }
.hero-photo span { right:12px; bottom:-24px; color:var(--ll-orange-dark); transform:none; }
.quick-facts { grid-template-columns:repeat(4,1fr); gap:0; padding:28px max(32px,calc((100vw - var(--container)) / 2 + 32px)); background:var(--ll-white); color:var(--color-ink); border-bottom:1px solid #ededeb; }
.facts-label { display:none; }
.quick-facts div { min-height:54px; align-content:center; border-left:1px solid var(--ll-orange); padding:0 24px; }
.quick-facts div:first-of-type { border-left:0; }
.quick-facts strong { color:var(--ll-orange); font-size:1rem; font-weight:500; line-height:1.25; }
.editorial-section { grid-template-columns:1fr; gap:34px; padding:clamp(76px,9vw,132px) 32px; background:var(--ll-white); border-bottom:0; text-align:center; }
.editorial-section > .section-label { justify-self:center; }
.editorial-section h2 { max-width:800px; margin-inline:auto; color:var(--ll-orange); font:400 clamp(2.35rem,4.5vw,4.6rem)/1.08 'Inter Tight','DM Sans',sans-serif; letter-spacing:-.03em; }
.info-list { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:1080px; margin:46px auto 0; gap:46px 64px; text-align:left; }
.info-list article { border-top:3px solid var(--ll-orange); padding:20px 0 0; }
.info-list article:nth-child(3),.info-list article:nth-child(4),.info-list article:nth-child(5) { grid-column:auto; }
.info-list article:last-child { grid-column:1/-1; max-width:calc(50% - 32px); }
.info-list h3 { color:var(--ll-orange); font-size:clamp(1.35rem,2vw,1.8rem); font-weight:400; }
.info-list p { max-width:none; color:var(--color-ink); font-size:1.08rem; line-height:1.58; }
.application-section { background:var(--ll-yellow); }
.application-section form { margin-inline:auto; text-align:left; }
.application-section .form-grid { text-align:left; }
.application-section form h3 { color:var(--ll-orange-dark); }
.application-section .button-dark { background:var(--ll-orange); }
.application-section .button-dark:hover { background:var(--ll-orange-dark); }
.application-form .check { display:flex; align-items:center; gap:12px; max-width:none; min-height:48px; margin-top:16px; padding:11px 13px; border:1px solid rgba(201,119,23,.45); border-radius:3px; background:transparent; cursor:pointer; font-size:.95rem; line-height:1.4; }
.application-form .check input[type=checkbox] { appearance:none; inline-size:20px; block-size:20px; min-width:20px; min-height:20px; margin:0; padding:0; border:2px solid var(--ll-orange); border-radius:3px; background:var(--ll-white); flex:0 0 20px; }
.application-form .check input[type=checkbox]:checked { border-color:var(--ll-orange); background:var(--ll-orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m4 10 4 4 8-9' fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.4'/%3E%3C/svg%3E") center/15px 15px no-repeat; }
.application-form .check input[type=checkbox]:focus-visible { outline:3px solid var(--color-yellow); outline-offset:2px; }
.application-form .inline-check { grid-column:1/-1; width:max-content; }
.application-form .address-copy { margin-top:0; }
.application-form .privacy-check { max-width:700px; }
.application-form .check span { min-width:0; }
.application-form .check a { color:var(--ll-orange-dark); font-weight:600; }
.place-options { min-width:0; margin:0; padding:0; border:0; }
.place-options legend { margin-bottom:7px; padding:0; font-size:12px; font-weight:700; }
.place-options > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.place-option { position:relative; display:flex; align-items:center; justify-content:center; min-height:52px; padding:10px 12px; border:1px solid var(--color-ink); border-radius:3px; background:transparent; color:var(--color-ink); cursor:pointer; font-size:.92rem; font-weight:600; text-align:center; }
.place-option input { position:absolute; opacity:0; pointer-events:none; }
.place-option:has(input:checked) { border-color:#63331e; background:#63331e; color:#fff; }
.place-option:has(input:focus-visible) { outline:3px solid var(--color-yellow); outline-offset:2px; }
html[dir=rtl] .place-option { text-align:center; }
html[dir=rtl] .application-form { text-align:right; }
html[dir=rtl] .application-form .check { text-align:right; }
.onepager footer { padding:48px max(32px,calc((100vw - var(--container)) / 2 + 32px)); background:var(--ll-footer); color:var(--ll-white); }
.onepager footer p,.footer-links { color:#ededed; }
.footer-links a:hover { color:var(--ll-yellow); }
@media(max-width:900px) {
  .quick-facts { grid-template-columns:repeat(2,1fr); padding-inline:20px; }
  .quick-facts div:nth-of-type(odd) { border-left:0; }
  .quick-facts div:nth-of-type(n+3) { border-top:1px solid var(--ll-orange); }
}
@media(max-width:600px) {
  .onepager .site-header { height:auto; min-height:68px; padding:15px 20px; }
  .onepager .brand img { width:62px; height:50px; }
  .onepager .site-header nav { gap:7px 13px; font-size:10px; }
  .editorial-hero { padding:62px 20px 54px; gap:34px; }
  .hero-copy h1 { font-size:clamp(2.65rem,12vw,4rem); }
  .hero-photo { min-height:255px; height:72vw; }
  .quick-facts div { padding:14px 12px; }
  .quick-facts strong { font-size:.92rem; }
  .editorial-section { padding:68px 20px; }
  .info-list { grid-template-columns:1fr; gap:38px; margin-top:36px; }
  .info-list article:last-child { grid-column:auto; max-width:none; }
  .application-form .inline-check { width:100%; }
  .place-options > div { grid-template-columns:1fr; }
}
.wireframe-page { background:#faf5e7; color:#304b43; font:14px/1.5 'Nunito',Arial,sans-serif; }
.wireframe-page a { color:inherit; text-decoration:none; }
.wireframe-header { height:72px; display:flex; justify-content:space-between; align-items:center; padding:0 6vw; border-bottom:1px solid #b9c7b8; }
.wireframe-header nav { display:flex; gap:24px; }
.wireframe-header a { border-bottom:1px solid #304b43; }
.wireframe-page main { max-width:1200px; margin:0 auto; }
.wireframe-hero { display:grid; grid-template-columns:1fr 1fr; min-height:460px; border-bottom:1px solid #b9c7b8; background:#dcebd5; }
.wireframe-copy { display:flex; flex-direction:column; justify-content:center; padding:8vw; }
.wireframe-copy h1,.wireframe-section h2 { font:600 3rem/1.05 Fraunces,serif; margin:22px 0; }
.wireframe-copy p { max-width:420px; }
.wireframe-block { border:1px solid #789386; }
.wireframe-media { display:grid; place-items:center; margin:7vw; min-height:300px; background:#f3cf63; border-radius:8px; }
.wireframe-button { display:inline-block; align-self:flex-start; border:1px solid #304b43; padding:12px 18px; background:#f3cf63; border-radius:8px; cursor:pointer; }
.wireframe-section { display:grid; grid-template-columns:22% 1fr; gap:5vw; padding:90px 8vw; border-bottom:1px solid #b9c7b8; }
.wireframe-label { font-size:12px; }
.wireframe-columns { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:50px; }
.wireframe-columns div { min-height:90px; border:1px solid #789386; padding:16px; background:#fffdf6; border-radius:8px; }
.wireframe-form-section { background:#e7eee1; color:#304b43; }
.wireframe-form-section .wireframe-block,.wireframe-form-section input,.wireframe-form-section textarea { border-color:#aebead; }
.wireframe-form-section input,.wireframe-form-section textarea { background:#fffdf6; color:#304b43; }
.wireframe-form-section select { display:block; width:100%; margin-top:7px; padding:12px; border:1px solid #aebead; border-radius:8px; background:#fffdf6; color:#304b43; font:15px 'Nunito','DM Sans',sans-serif; }
.wireframe-form-section select:focus { outline:2px solid var(--yellow); }
.wireframe-form-section select option { background:#fffdf6; color:#304b43; }
.wireframe-form-section .button-dark { background:#304b43; color:#faf5e7; }
.wireframe-form-section h3 { color:#304b43; margin-top:54px; padding-top:26px; border-top:1px solid #aebead; }
.wireframe-form-section form h3:first-child { margin-top:32px; padding-top:0; border-top:0; }
.wireframe-form { display:grid; gap:20px; max-width:700px; margin-top:35px; }
.wireframe-form label { display:block; font-weight:400; }
.wireframe-form input,.wireframe-form textarea { display:block; width:100%; border:1px solid #304b43; border-radius:8px; background:#fffdf6; color:#304b43; padding:12px; margin-top:7px; }
.wireframe-check { display:flex !important; gap:8px; align-items:center; }
.wireframe-check input { width:auto !important; margin:0 !important; }
.wireframe-footer { display:flex; gap:24px; padding:24px 6vw; border-top:0; background:#304b43; color:#faf5e7; }
@media(max-width:800px) { .wireframe-page { overflow-x:hidden; } .wireframe-header { padding:0 20px; } .wireframe-header nav { gap:10px; font-size:11px; } .wireframe-hero { grid-template-columns:1fr; } .wireframe-media { margin:30px 20px; min-height:220px; } .wireframe-section { grid-template-columns:1fr; gap:24px; padding:48px 20px; } .wireframe-section > * { min-width:0; width:100%; } .wireframe-copy h1,.wireframe-section h2 { font-size:2.2rem; overflow-wrap:anywhere; } .wireframe-columns { grid-template-columns:1fr; margin-top:30px; } .wireframe-form-section form,.wireframe-form-section .form-grid { width:100%; max-width:100%; min-width:0; } .wireframe-form-section label,.wireframe-form-section .check { min-width:0; overflow-wrap:anywhere; } .wireframe-form-section input,.wireframe-form-section textarea,.wireframe-form-section select { max-width:100%; min-width:0; } .wireframe-form-section .button { max-width:100%; white-space:normal; } }
