:root{--green:#1c3029;--paper:#f8f5ef;--ink:#26372e;--gold:#ddc69c;--wine:#612f34}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit}a:focus-visible{outline:3px solid #b77a39;outline-offset:6px}header{height:94px;background:var(--green);color:var(--paper);display:flex;justify-content:space-between;align-items:center;padding:0 6vw}.brand{text-decoration:none;font-family:Georgia,serif;font-size:27px;line-height:1.15;white-space:nowrap}.brand span{display:block;font-family:Arial,sans-serif;font-size:12px;letter-spacing:2.5px;margin-top:9px}nav{display:flex;gap:35px;align-items:center}nav a{text-decoration:none;font-size:14px}nav a:hover{color:var(--gold)}.nav-cta{border:1px solid #a8b4a1;padding:10px 22px}.hero{height:min(790px,78vw);min-height:590px;position:relative;background:#302819;color:#fff;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 46%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,23,18,.91),rgba(17,24,18,.48) 48%,rgba(17,24,18,.04) 77%)}.hero-content{position:relative;padding:100px 6vw 70px;max-width:850px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:2.7px;margin:0 0 25px}.hero .eyebrow{color:#e7d6b8}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.08}h1{font-size:clamp(55px,6.5vw,98px);letter-spacing:-3.5px;margin-bottom:25px}em{font-weight:400}h1 em{color:#ecd8ae}.intro{font-size:18px;line-height:1.65;margin-bottom:35px}.button{display:inline-flex;justify-content:space-between;gap:35px;align-items:center;padding:16px 25px;text-decoration:none;font-size:15px;transition:background .2s}.cream{background:var(--paper);color:var(--green)}.cream:hover{background:#e8d3ab}.green{background:var(--green);color:white}.green:hover{background:#35513f}.hero-date{font-size:14px;margin:18px 0 0;color:#eee4d7}.hero-note{position:absolute;right:32px;bottom:28px;font-size:12px;letter-spacing:2px;writing-mode:vertical-rl}.facts{display:flex;justify-content:space-around;padding:25px 6vw;border-bottom:1px solid #d7d9cb;gap:20px;font-size:14px}.facts span+span{border-left:1px solid #cdcfc4;padding-left:6vw}.section{padding:95px 6vw}.section-top{display:grid;grid-template-columns:1.5fr 1fr;gap:70px;align-items:end;margin-bottom:42px}h2{font-size:clamp(36px,4.1vw,59px);letter-spacing:-1.7px;margin-bottom:20px}.section-top p:last-child{max-width:420px;margin-bottom:25px;color:#5e645a}.photo-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:18px}figure{margin:0;position:relative;height:420px;overflow:hidden}figure img{width:100%;height:100%;object-fit:cover;transition:transform .6s}figure:hover img{transform:scale(1.025)}figure.large img{object-position:50%}figcaption{position:absolute;bottom:0;left:0;width:100%;background:linear-gradient(transparent,#0009);padding:50px 25px 20px;color:#fff;font-family:Georgia,serif;font-style:italic;font-size:25px}.caption{font-size:13px;color:#676d62;margin:16px 0 0}.atelier{display:grid;grid-template-columns:1fr 1fr;background:var(--green);color:var(--paper)}.atelier-copy{padding:80px 7vw 75px 6vw}.atelier .eyebrow{color:var(--gold)}.atelier h2{margin-bottom:30px}.atelier-copy>p:not(.eyebrow){color:#d1d8cd;max-width:490px}.signature{margin-top:35px;font-size:14px}.signature-image{display:block;width:180px;max-width:100%;height:auto;margin-top:10px}.atelier-photo{position:relative;min-height:550px}.atelier-photo img{width:100%;height:100%;position:absolute;object-fit:cover}.atelier-photo span{position:absolute;bottom:20px;left:24px;font-size:12px;color:#fff;background:#0008;padding:4px 12px}.booking{text-align:center}.booking-intro{color:#666d61}.booking-panel{text-align:left;display:grid;grid-template-columns:1fr 1fr;max-width:1060px;margin:45px auto 0;border:1px solid #d0d3c6}.season{padding:48px;background:#edece2}.small-label{font-size:12px;letter-spacing:2px}.dates{font-family:Georgia,serif;font-size:51px;line-height:1.2;margin:22px 0 16px;white-space:nowrap}.dates span{font-size:32px;color:#87907d}.season hr{border:0;border-top:1px solid #c9cebd;margin:30px 0 22px}.season p:last-child{margin-bottom:0}.location-label{font-size:14px}.booking-action{padding:48px}h3{font-size:30px;margin-bottom:20px}.booking-action p{color:#666d61}.phone{display:block;font-size:14px;margin-top:15px;text-decoration:none}.location{padding-top:65px;padding-bottom:75px;background:#e9e8dc;display:grid;grid-template-columns:1fr 1fr;gap:100px}.text-link{text-underline-offset:6px;font-size:15px}.arrival{padding-top:12px}.step-number{font-size:12px;letter-spacing:2px;display:block;margin-bottom:30px}.arrival h3{font-size:35px}.arrival p{max-width:440px;color:#56614e}.arrival a{text-underline-offset:4px}footer{padding:38px 6vw;display:flex;justify-content:space-between;align-items:center;gap:30px;background:var(--green);color:var(--paper)}footer>a:not(.brand),footer>span{font-size:13px}footer>a:not(.brand){text-decoration:none}footer .brand span{font-size:12px;letter-spacing:1.7px}@media(min-width:1700px){.hero-content{padding-top:140px}.hero{height:850px}}@media(max-width:900px){header{padding:0 5vw}nav{gap:20px}nav a:not(.nav-cta){display:none}.hero-content{padding:85px 5vw}.hero-image{object-position:60%}.hero-shade{background:linear-gradient(90deg,#142119d9,#14211955)}h1{font-size:70px}.section{padding:70px 5vw}.section-top{grid-template-columns:1fr;gap:10px}.section-top p:last-child{max-width:600px}.photo-grid{gap:12px}figure{height:320px}.atelier-copy{padding:60px 5vw}.atelier-photo{min-height:520px}.booking-action,.season{padding:30px}.dates{font-size:40px}.location{gap:40px}.facts{font-size:12px}.facts span+span{padding-left:3vw}footer{flex-wrap:wrap}}@media(max-width:600px){header{height:80px}.brand{font-size:24px}.brand span{font-size:12px}.nav-cta{padding:8px 14px;font-size:13px}.hero{height:680px;min-height:0}.hero-image{object-position:62%}.hero-shade{background:linear-gradient(0deg,#0e1b15ee,#0e1b1550 90%)}.hero-content{padding:230px 6vw 40px}.eyebrow{font-size:12px;letter-spacing:2px;margin-bottom:20px}h1{font-size:55px;letter-spacing:-2px}.intro{font-size:16px;margin-bottom:26px}.hero-note{display:none}.facts{flex-direction:column;gap:5px;padding:20px 6vw;font-size:13px}.facts span+span{border:0;padding:0}.section{padding:58px 6vw}.section-top{margin-bottom:25px}h2{font-size:38px;letter-spacing:-1.1px}.photo-grid{grid-template-columns:1fr 1fr}.photo-grid .large{grid-column:1/-1;height:310px}figure{height:230px}.atelier{grid-template-columns:1fr}.atelier-copy{padding:55px 6vw}.atelier-photo{min-height:420px}.booking-panel{grid-template-columns:1fr;margin-top:30px}.dates{font-size:45px}.booking-action,.season{padding:30px}.location{grid-template-columns:1fr;gap:35px}.arrival{border-top:1px solid #c8cdbf;padding-top:32px}footer{padding:35px 6vw;display:grid;gap:23px}.caption{font-size:12px}.hero-date{font-size:13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

@media(max-width:380px){.dates{font-size:37px}.brand{font-size:21px}.brand span{letter-spacing:1px}.nav-cta{padding:8px 10px}}
.inquiry-form{max-width:1060px;margin:34px auto 0;padding:40px;text-align:left;border:1px solid #d0d3c6}.form-heading p,.form-notice,.form-fallback{color:#56614e}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-grid label{display:flex;flex-direction:column;gap:7px;font-size:16px}.form-grid .full{grid-column:1/-1}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{width:100%;min-width:0;border:1px solid #8b9688;border-radius:0;padding:12px;background:#fff;color:var(--ink);font:inherit}.inquiry-form input:focus-visible,.inquiry-form select:focus-visible,.inquiry-form textarea:focus-visible,.inquiry-form button:focus-visible{outline:3px solid #b77a39;outline-offset:3px}.form-grid small{font-size:14px}.form-notice{margin:25px 0 20px;font-size:14px}.inquiry-form .button{border:0;cursor:pointer;font-family:inherit}.form-fallback{font-size:14px;overflow-wrap:anywhere}.form-fallback button{font:inherit;border:0;padding:0;background:none;color:var(--green);text-decoration:underline;cursor:pointer}#form-status{margin:18px 0;font-size:15px}#form-status:empty{display:none}@media(max-width:600px){.inquiry-form{padding:25px 20px}.form-grid{grid-template-columns:1fr;gap:18px}.inquiry-form .button{width:100%;gap:12px;text-align:left}}

/* Nabídka, přístupná galerie a příjezd — navazuje na původní styl. */
[hidden]{display:none!important}.skip-link{position:absolute;top:-100px;left:20px;z-index:20;background:white;padding:12px;color:var(--green)}.skip-link:focus{top:12px}button,summary{font:inherit}button:focus-visible,summary:focus-visible{outline:3px solid #b77a39;outline-offset:4px}a,button{touch-action:manipulation}a{overflow-wrap:anywhere}.brand{white-space:normal}.gallery-link{display:block;height:100%;cursor:zoom-in}.gallery-link:focus-visible{outline-offset:-5px}figcaption{pointer-events:none}.package-section{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center;border-bottom:1px solid #d0d3c6}.package-section>div>p:last-child{max-width:430px;color:#56614e}.package-card{border-top:4px solid var(--wine);padding:38px 40px;background:#fff}.package-card h3{font-size:28px}.package-price{font-family:Georgia,serif;font-size:clamp(48px,5vw,70px);line-height:1.2;letter-spacing:-2px;margin:22px 0}.package-price span{font-size:25px;letter-spacing:0}.package-includes{padding-left:22px;margin:0 0 24px}.package-includes li{padding:8px 0}.package-extra{padding-top:20px;border-top:1px solid #d0d3c6;font-size:16px}.package-card .button{width:100%;margin-top:10px}.faq{display:grid;grid-template-columns:1fr 1.2fr;gap:7vw}.faq-list details{border-top:1px solid #c8cdbf;padding:20px 0}.faq-list details:last-child{border-bottom:1px solid #c8cdbf}.faq-list summary{cursor:pointer;font-weight:600;font-size:16px;padding-right:10px}.faq-list details p{margin:18px 0 4px;color:#56614e}.photo-open{overflow:hidden}.photo-dialog{max-width:1100px;width:92vw;max-height:94dvh;padding:20px;background:#101c16;color:white;border:1px solid #849488}.photo-dialog::backdrop{background:#07100dee}.photo-dialog[open]{display:flex;flex-direction:column;gap:12px}.photo-dialog>img{min-height:0;max-height:65dvh;object-fit:contain;width:100%;flex-shrink:1}.photo-dialog>p{font-size:14px;text-align:center;margin:0}.photo-close{align-self:flex-end}.photo-dialog button{border:1px solid #849488;background:transparent;color:white;padding:10px 16px;cursor:pointer;min-height:44px;font-size:14px}.photo-controls{display:flex;align-items:center;justify-content:space-between;gap:8px}.photo-controls span{font-size:14px}.caption{font-size:14px}.small-label,.step-number{font-size:14px}.booking-action p,.form-heading p{overflow-wrap:anywhere}.button{max-width:100%;white-space:normal}.facts{flex-wrap:wrap}.arrival a{overflow-wrap:anywhere}@media(max-width:900px){.package-section{gap:30px}.package-card{padding:30px}.faq{grid-template-columns:1fr;gap:20px}}@media(max-width:600px){.package-section{grid-template-columns:1fr;gap:24px}.package-card{padding:25px}.package-price{font-size:56px}header .brand{font-size:21px;max-width:58%}header .brand span{font-size:12px;letter-spacing:1px}header nav{flex-shrink:0}.nav-cta{font-size:14px}.hero-date{font-size:14px}.facts{font-size:14px}.photo-dialog{padding:12px}.photo-controls button{padding:10px}.photo-controls{gap:5px}.photo-dialog>img{max-height:58dvh}.caption{font-size:14px}}
.package-section{display:block}.package-heading{max-width:730px;margin-bottom:38px}.package-heading>p:last-child{max-width:620px!important}.package-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.package-options .package-card{padding:32px 26px}.package-options .button{gap:14px}.package-card{display:flex;flex-direction:column}.package-card .button{margin-top:auto}.package-tag{font-size:14px;letter-spacing:1.5px;color:#612f34;margin:0 0 18px}.package-includes{flex:1}.package-options .package-card:last-child{border-top-color:var(--green)}@media(max-width:1050px){.package-options{grid-template-columns:1fr}.package-options .package-card{padding:30px}.package-heading{margin-bottom:28px}}

/* Zvolená zelenozlatá baňka bez lístku. Výřez ponechává původní kresbu,
   název vedle ní je živý text pro čitelnost na všech šířkách. */
header,footer{background:#f6f1e7;color:var(--green)}
header{height:110px;border-bottom:1px solid #ddd3bb;gap:24px}
footer{border-top:1px solid #ddd3bb}
.brand-with-logo{display:inline-flex;align-items:center;gap:16px;flex-shrink:0}
.brand-with-logo .brand-mark{display:block;position:relative;overflow:hidden;width:56px;height:88px;flex:0 0 56px;margin:0;padding:0;letter-spacing:normal}
.brand-mark img{position:absolute;width:144px;height:144px;max-width:none;left:-46px;top:-9px;mix-blend-mode:darken}
.brand-with-logo .brand-name{display:block;font-family:Georgia,'Times New Roman',serif;font-size:27px;line-height:1.15;letter-spacing:0;margin:0}
.brand-name small{display:block;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:1.4;letter-spacing:1.8px;margin-top:8px}
header nav a:hover{color:var(--wine)}
header .nav-cta{background:var(--green);border-color:var(--green);color:var(--paper)}
header .nav-cta:hover{background:#35513f;color:white}
@media(max-width:600px){header{height:100px;padding:0 5vw;gap:12px}header .brand-with-logo{max-width:none;min-width:0;flex-shrink:1;gap:9px}.brand-with-logo .brand-mark{width:44px;height:72px;flex-basis:44px}.brand-mark img{width:116px;height:116px;left:-37px;top:-7px}.brand-with-logo .brand-name{font-size:21px;max-width:160px;line-height:1.1}.brand-name small{font-size:12px;letter-spacing:.6px;margin-top:6px}header .nav-cta{padding:10px 12px;font-size:14px;white-space:nowrap}footer .brand-name{max-width:none}footer .brand-with-logo{gap:13px}}
@media(max-width:380px){header{gap:8px;padding-inline:4vw}header .brand-with-logo{gap:7px}header .brand-name{font-size:19px}header .brand-name small{font-size:12px;letter-spacing:0}header .nav-cta{padding:10px 9px}}

footer{flex-wrap:wrap}.operator-info{flex-basis:100%;grid-column:1/-1;border-top:1px solid #ddd3bb;padding-top:22px;font-size:14px;line-height:1.8;color:#56614e}.operator-info strong{color:var(--green);font-weight:600}

.legal-page{max-width:1000px;margin:auto}.legal-page h1{font-size:clamp(38px,5vw,64px);letter-spacing:-1.5px}.legal-page h2{font-size:30px;letter-spacing:-.5px;margin-top:42px}.legal-page p{max-width:760px}.legal-page a{text-underline-offset:3px}

/* Full-frame photographs in the expanded gallery. */
.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.photo-grid figure{height:auto;aspect-ratio:2048/1365}.photo-grid figure img{display:block;width:100%;height:100%;object-fit:contain}.photo-grid figure:hover img{transform:none}@media(max-width:1050px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}@media(max-width:600px){.photo-grid{grid-template-columns:1fr;gap:18px}}

/* Osobní představení a zvolený vánoční portrét v plném poměru stran. */
.about-milan .atelier-copy{padding:64px 6vw}.about-milan h3{font-size:28px;line-height:1.2;letter-spacing:-.5px;margin:30px 0 18px}.about-milan .atelier-photo{display:flex;align-items:center;justify-content:center;min-height:0;padding:64px 0 64px 6vw}.about-milan .milan-portrait{height:auto;width:100%;max-width:480px;overflow:visible}.about-milan .milan-portrait img{display:block;position:static;width:100%;height:auto;object-fit:contain;transform:none}.about-milan .milan-portrait figcaption{position:static;background:none;padding:18px 0 0;font-family:Arial,Helvetica,sans-serif;font-size:14px;font-style:normal;line-height:1.6;color:var(--gold)}
@media(max-width:900px){.about-milan{grid-template-columns:1fr}.about-milan .atelier-copy{padding:40px 6vw 55px}.about-milan .atelier-copy>p:not(.eyebrow){max-width:620px}.about-milan .atelier-photo{justify-content:flex-start;padding:55px 6vw 0}}

/* Tmavý podpis pod osobním vzkazem nad galerií. */
.section-top .signature-image{filter:brightness(0);opacity:.8;margin-top:20px;margin-left:auto}
