:root {
  --bg:#f4f1ea; --card:#fff; --text:#161a1d; --muted:#666b6f; --line:#ddd8cf;
  --accent:#f0b429; --dark:#1d2428; --soft:#ebe7de;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);line-height:1.55}
a{color:inherit;text-decoration:none}.site-header{position:sticky;top:0;z-index:20;background:rgba(244,241,234,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:9px max(5vw,24px)}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-logo{width:74px;height:62px;object-fit:contain;display:block;flex:0 0 auto}.brand-copy{display:flex;flex-direction:column;line-height:1}.brand-title{font-size:.92rem;font-weight:950;letter-spacing:.025em;white-space:nowrap}.brand-title span{color:#a86a00}.brand-subtitle{margin-top:5px;font-size:.68rem;font-weight:850;letter-spacing:.09em;color:#61666a;white-space:nowrap}.site-header nav{display:flex;gap:26px;align-items:center;font-weight:650}.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--dark);color:#fff;border:0;border-radius:12px;padding:14px 20px;font-weight:800;cursor:pointer}.btn-small{padding:10px 14px}.btn-ghost{background:transparent;color:var(--dark);border:1px solid var(--dark)}
.hero{min-height:640px;padding:80px max(5vw,24px);display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:center;max-width:1500px;margin:auto}.eyebrow{font-size:.78rem;font-weight:900;letter-spacing:.14em;color:#9a6700;margin-bottom:12px}.hero h1,.page-hero h1,.detail-hero h1{font-size:clamp(3rem,6vw,6.2rem);line-height:.95;letter-spacing:-.06em;margin:0 0 24px}.hero h1 span{display:block;color:#986100}.hero p,.page-hero p,.detail-hero p{font-size:1.15rem;color:var(--muted);max-width:760px}.hero-actions{display:flex;gap:12px;margin:32px 0}.stats{display:flex;gap:34px;margin-top:36px}.stats div{display:flex;flex-direction:column}.stats strong{font-size:1.8rem}.stats span{font-size:.85rem;color:var(--muted)}.hero-visual{position:relative;height:480px}.machine-card{position:absolute;background:var(--card);border:1px solid var(--line);box-shadow:0 20px 60px rgba(0,0,0,.10);border-radius:28px;display:grid;place-items:center;font-size:6rem}.machine-card.big{inset:40px 50px 30px 20px;font-size:10rem;transform:rotate(-2deg)}.machine-card.one{width:120px;height:120px;right:0;top:0}.machine-card.two{width:110px;height:110px;right:10px;bottom:0}.machine-card.three{width:100px;height:100px;left:0;top:0}
.section{max-width:1400px;margin:0 auto;padding:90px max(5vw,24px)}.section-head{margin-bottom:32px}.section-head.row{display:flex;align-items:end;justify-content:space-between;gap:20px}.section h2{font-size:clamp(2rem,4vw,4rem);line-height:1.02;letter-spacing:-.045em;margin:0 0 16px}.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.step-card{background:var(--card);padding:26px;border-radius:18px;border:1px solid var(--line);min-height:220px}.step-card span{font-weight:900;color:#a86a00}.step-card h3{font-size:1.2rem;margin:26px 0 10px}.step-card p{color:var(--muted);font-size:.95rem}.model-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.model-card{background:var(--card);border:1px solid var(--line);border-radius:22px;overflow:hidden;transition:.2s}.model-card:hover{transform:translateY(-4px);box-shadow:0 18px 50px rgba(0,0,0,.08)}.model-img{height:220px;background:#e8e3d8;display:grid;place-items:center;font-size:6rem}.model-body{padding:22px}.chips,.skills{display:flex;gap:7px;flex-wrap:wrap}.chips span,.skills span{background:var(--soft);border-radius:999px;padding:5px 10px;font-size:.75rem;font-weight:800}.model-body h3{font-size:1.5rem;margin:16px 0 8px}.model-body p{color:var(--muted);min-height:72px}.model-meta{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:16px;margin-top:18px;font-size:.88rem}.workshop{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.workshop p{color:var(--muted);font-size:1.1rem}.equipment-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.equipment-grid div{background:var(--dark);color:#fff;border-radius:18px;padding:24px;display:flex;flex-direction:column;min-height:160px}.equipment-grid b{font-size:2rem}.equipment-grid strong{font-size:1.15rem;margin-top:auto}.equipment-grid span{color:#bbc1c4;font-size:.9rem}.booking-preview{background:var(--accent);max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:50px}.booking-preview>div{max-width:650px}.slot-list{display:flex;flex-direction:column;gap:10px}.slot{background:rgba(255,255,255,.65);border-radius:14px;padding:16px 18px;display:flex;justify-content:space-between;gap:20px}.slot strong{white-space:nowrap}.booking-preview .btn{align-self:flex-start}
.page-hero{padding:90px max(5vw,24px) 40px;max-width:1400px;margin:auto}.page-hero.compact h1{font-size:clamp(2.7rem,5vw,5rem);max-width:900px}.skills.large span{padding:8px 14px;font-size:.88rem}.detail-hero{max-width:1400px;margin:auto;padding:70px max(5vw,24px);display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:center}.detail-visual{background:#e8e3d8;border-radius:30px;height:520px;display:grid;place-items:center;font-size:12rem}.detail-meta{display:flex;gap:16px;margin:28px 0}.detail-meta div{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 18px;display:flex;flex-direction:column}.detail-meta span{font-size:.75rem;color:var(--muted);text-transform:uppercase;font-weight:800}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:60px}.video-placeholder{min-height:350px;background:var(--dark);color:#fff;border-radius:24px;display:grid;place-items:center;text-align:center;padding:40px}.video-placeholder div{font-size:3rem}.video-placeholder span{color:#bbc1c4}.cost-table{max-width:780px;background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden}.cost-table div{display:flex;justify-content:space-between;padding:15px 20px;border-bottom:1px solid var(--line)}.cost-table .total{background:var(--dark);color:#fff;font-size:1.1rem;border:0}.cta-box{display:flex;align-items:center;justify-content:space-between;gap:30px;background:#e7dfce;border-radius:28px;margin-bottom:80px}
.form-section{padding-top:20px;max-width:1000px}form{display:flex;flex-direction:column;gap:18px}fieldset{border:1px solid var(--line);background:var(--card);border-radius:20px;padding:28px}legend{font-weight:900;font-size:1.2rem;padding:0 8px}.slot-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.slot-option input{display:none}.slot-option span{border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;flex-direction:column;cursor:pointer}.slot-option input:checked+span{border-color:var(--dark);box-shadow:0 0 0 2px var(--dark)}.slot-option small{color:var(--muted);margin-top:6px}.counter{display:flex;align-items:center;gap:0}.counter button,.counter input{width:54px;height:48px;border:1px solid var(--line);background:#fff;font-size:1.3rem;text-align:center}.counter button{cursor:pointer;font-size:1.6rem}.hint{color:var(--muted);font-size:.9rem}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.form-grid label{font-weight:800;font-size:.85rem;display:flex;flex-direction:column;gap:7px}.form-grid input,.form-grid select{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px;background:#fff;font:inherit}.child-card{background:#f8f6f1;border:1px solid var(--line);border-radius:16px;padding:18px;margin:12px 0}.child-card h3{margin:0 0 16px}.child-grid{grid-template-columns:1fr .5fr 1.5fr}.model-link{display:inline-block;margin-top:12px;font-weight:800;color:#8d5b00}.submit-btn{font-size:1rem;padding:17px 24px}.flash-wrap{max-width:1000px;margin:20px auto;padding:0 24px}.flash{padding:14px;border-radius:12px}.flash.error{background:#ffd7d7;color:#7c2020}.success-page{max-width:900px;margin:auto;padding:100px 24px;text-align:center}.success-icon{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;margin:0 auto 24px;background:#dcebd8;font-size:2rem}.summary-card{background:#fff;border:1px solid var(--line);border-radius:18px;margin:32px auto;max-width:700px;text-align:left}.summary-card div{display:flex;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line)}footer{display:flex;justify-content:space-between;gap:20px;padding:30px max(5vw,24px);background:var(--dark);color:#fff}footer span{color:#bbc1c4}
@media(max-width:1000px){.hero,.workshop,.booking-preview,.detail-hero,.two-col{grid-template-columns:1fr}.hero-visual{height:360px}.steps{grid-template-columns:1fr 1fr}.model-grid{grid-template-columns:1fr 1fr}.slot-options,.form-grid{grid-template-columns:1fr}.child-grid{grid-template-columns:1fr}.site-header nav a:not(.btn){display:none}.detail-visual{height:350px}.cta-box{flex-direction:column;align-items:flex-start}}
@media(max-width:640px){.steps,.model-grid,.equipment-grid{grid-template-columns:1fr}.hero{padding-top:50px}.hero-visual{height:290px}.machine-card.big{font-size:7rem}.stats{gap:18px;flex-wrap:wrap}.section{padding-top:60px;padding-bottom:60px}.slot{flex-direction:column;gap:4px}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}footer{flex-direction:column}}
/* Kalendarz zapisów */
.wide-form{max-width:1180px}.field-intro{color:var(--muted);margin-top:0;max-width:820px}.calendar-fieldset{overflow:hidden}.calendar-toolbar{display:grid;grid-template-columns:52px 1fr 52px;align-items:center;gap:12px;margin-bottom:20px}.calendar-toolbar>div{text-align:center;display:flex;flex-direction:column}.calendar-toolbar strong{font-size:1.5rem;text-transform:capitalize}.calendar-toolbar small{color:var(--muted);margin-top:3px}.calendar-nav{height:46px;border:1px solid var(--line);background:#fff;border-radius:12px;font-size:1.35rem;cursor:pointer}.calendar-nav:disabled{opacity:.3;cursor:not-allowed}.calendar-weekdays,.booking-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.calendar-weekdays{margin-bottom:7px}.calendar-weekdays span{text-align:center;font-size:.75rem;color:var(--muted);font-weight:850;text-transform:uppercase}.calendar-day{min-height:112px;border:1px solid var(--line);border-radius:12px;background:#f7f5f0;padding:9px;text-align:left;display:flex;flex-direction:column;position:relative;font:inherit;color:var(--text)}button.calendar-day{cursor:pointer;transition:.16s}.calendar-day .day-number{font-weight:900;font-size:1.05rem}.calendar-day small{font-size:.68rem;color:var(--muted)}.calendar-day strong{font-size:.74rem;margin-top:auto}.calendar-day em{font-size:.72rem;font-style:normal;color:var(--muted)}.calendar-day.no-slot{opacity:.44;background:transparent}.calendar-day.empty{visibility:hidden}.calendar-day.available{background:#fff}.calendar-day.available:hover{border-color:#8e938f;transform:translateY(-1px)}.calendar-day.low{background:#fff3d2;border-color:#e4c26e}.calendar-day.full{background:#eeeae3;color:#96928c;cursor:not-allowed}.calendar-day.selected{background:var(--dark);color:#fff;border-color:var(--dark);box-shadow:0 0 0 2px var(--dark)}.calendar-day.selected small,.calendar-day.selected em{color:#cdd2d4}.calendar-legend{display:flex;flex-wrap:wrap;gap:18px;margin:18px 0 10px;color:var(--muted);font-size:.82rem}.calendar-legend span{display:flex;align-items:center;gap:7px}.legend-dot{width:12px;height:12px;border-radius:4px;border:1px solid var(--line);display:inline-block}.legend-dot.available{background:#fff}.legend-dot.low{background:#fff3d2}.legend-dot.full{background:#eeeae3}.legend-dot.chosen{background:var(--dark);border-color:var(--dark)}.selection-summary{background:#f7f5f0;border-radius:14px;padding:16px;margin-top:14px}.selection-summary>strong{display:block;margin-bottom:8px}.selection-summary #selected-dates-list{display:flex;gap:7px;flex-wrap:wrap}.selection-summary #selected-dates-list span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 8px 6px 12px;font-size:.8rem;display:inline-flex;align-items:center;gap:6px}.selection-summary button{border:0;background:var(--soft);border-radius:50%;width:22px;height:22px;cursor:pointer;font-size:1rem;line-height:1}

/* Katalog i szczegóły */
.special-model{outline:2px solid rgba(240,180,41,.7)}.media-grid{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:16px}.photo-placeholder{min-height:280px;background:#e8e3d8;border:1px solid var(--line);border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:22px}.photo-placeholder>span{font-size:5rem}.photo-placeholder strong{margin-top:12px}.photo-placeholder small{color:var(--muted)}.compact-video{min-height:280px}.process-card{background:var(--card);border:1px solid var(--line);border-radius:20px;overflow:hidden}.process-card>div{padding:18px 20px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:48px 1fr;align-items:center;gap:12px}.process-card>div:last-child{border-bottom:0}.process-card b{color:#a86a00;font-size:.85rem}.process-card span{font-weight:800}.cost-note{color:var(--muted);max-width:780px}

/* FAQ */
.faq-section{max-width:1000px;padding-top:20px}.faq-section details{background:var(--card);border:1px solid var(--line);border-radius:16px;margin-bottom:12px;overflow:hidden}.faq-section summary{list-style:none;cursor:pointer;font-weight:900;font-size:1.08rem;padding:20px 56px 20px 20px;position:relative}.faq-section summary::-webkit-details-marker{display:none}.faq-section summary:after{content:'+';position:absolute;right:20px;top:16px;font-size:1.5rem}.faq-section details[open] summary:after{content:'−'}.faq-section details p{margin:0;padding:0 20px 22px;color:var(--muted);max-width:850px}.summary-card .summary-stack{background:#f7f5f0}

@media(max-width:900px){.media-grid{grid-template-columns:1fr}.calendar-day{min-height:92px;padding:7px}.calendar-day strong{font-size:.68rem}.calendar-day em{display:none}}
@media(max-width:640px){.calendar-fieldset{padding:18px 10px}.calendar-weekdays,.booking-calendar{gap:3px}.calendar-day{min-height:72px;border-radius:8px;padding:5px}.calendar-day small{display:none}.calendar-day strong{font-size:.58rem;line-height:1.1}.calendar-day .day-number{font-size:.9rem}.calendar-toolbar strong{font-size:1.15rem}.calendar-toolbar small{font-size:.7rem}.calendar-legend{gap:10px}.selection-summary #selected-dates-list{display:flex;flex-direction:column}.selection-summary #selected-dates-list span{border-radius:10px;justify-content:space-between}}

/* Zdjęcia modeli sterowane przez data/models.json */
.model-img{overflow:hidden}.model-img img,.model-hero-image img{width:100%;height:100%;object-fit:cover;display:block}.model-hero-image{overflow:hidden;padding:0}.image-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-item{margin:0;background:var(--card);border:1px solid var(--line);border-radius:20px;overflow:hidden}.gallery-item img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}.gallery-item figcaption{padding:12px 14px;font-weight:800;font-size:.88rem}.model-video{width:100%;min-height:280px;background:var(--dark);border-radius:20px}
@media(max-width:900px){.image-gallery{grid-template-columns:1fr}}

/* Branding Akademia Techniczna „Dwie lewe ręce” */
@media(max-width:720px){.site-header{padding-top:7px;padding-bottom:7px}.brand{gap:8px}.brand-logo{width:56px;height:48px}.brand-title{font-size:.75rem}.brand-subtitle{font-size:.57rem;letter-spacing:.055em}.site-header .btn-small{padding:9px 11px;font-size:.8rem}}
@media(max-width:430px){.brand-logo{width:48px;height:42px}.brand-title{font-size:.68rem}.brand-subtitle{font-size:.52rem}.site-header .btn-small{padding:8px 9px}}

/* Duże logo na stronie głównej */
.hero-logo-visual{display:flex;align-items:center;justify-content:center;height:auto;min-height:480px;padding:20px}
.hero-main-logo{display:block;width:min(100%,620px);height:auto;object-fit:contain;filter:drop-shadow(0 22px 40px rgba(0,0,0,.12))}
@media(max-width:1000px){.hero-logo-visual{min-height:360px;height:auto;padding:10px 30px}.hero-main-logo{width:min(100%,560px)}}
@media(max-width:640px){.hero-logo-visual{min-height:260px;height:auto;padding:6px 0 10px}.hero-main-logo{width:min(100%,430px)}}
