:root{--accent:#f6be98;--accent-ink:#9b471e;--ink:#593927;--paper:#fffdf7;--orange:#f78958;--yellow:#ffe28b;--pink:#fbe4d4;--line:#e6d9cf;--green:#76533e;--font:'Trebuchet MS',Arial,sans-serif;--display:'Trebuchet MS',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.7}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit}button,a,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #ab4923;outline-offset:5px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--display);font-weight:700}h1,h2{letter-spacing:-.055em}h2{font-size:clamp(2.3rem,3.7vw,3.6rem);line-height:1.12}h2 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.045em;color:var(--accent-ink)}p+p{margin-top:17px}img{display:block;width:100%;height:100%;object-fit:cover}section{scroll-margin-top:10px}.section-wrap{width:min(1240px,calc(100% - 104px));margin-inline:auto}.section-space{padding-block:100px}.eyebrow{font-size:.75rem;letter-spacing:.12em;line-height:1.65;font-weight:700;margin-bottom:22px}.announcement{display:flex;align-items:center;justify-content:center;gap:23px;padding:7px 20px;background:var(--pink);color:var(--ink);font-size:.8125rem;min-height:36px}.announcement>span{font-size:20px;line-height:1}.header{position:sticky;top:0;z-index:15;background:rgba(255,253,247,.97);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 52px;border-bottom:1px solid #59392710;min-height:96px}.brand{display:flex;align-items:center;gap:12px;line-height:1.2;font-size:1.3rem;font-weight:700;letter-spacing:-.06em}.brand-icon{width:53px;height:53px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--accent);color:var(--ink);border-radius:18px 18px 20px 8px;font-family:Georgia,serif;font-size:2.2rem;letter-spacing:-.1em;padding-right:4px;transform:rotate(-6deg)}.brand-icon>span{font-size:1rem;margin-inline:-3px}.brand small{display:block;margin-top:6px;font-size:.75rem;letter-spacing:.07em;font-weight:400}.header nav{display:flex;align-items:center;gap:30px;font-size:.875rem;font-weight:600}.header nav>a:not(.button){padding-block:9px}.header nav>a:not(.button):hover{color:var(--accent-ink)}.button{display:inline-flex;align-items:center;justify-content:center;padding:16px 26px;border:1px solid var(--accent);border-radius:50px;background:var(--accent);color:var(--ink);font-size:.9375rem;font-weight:700;line-height:1.45;text-align:center;transition:transform .2s,background .2s;min-height:50px}.button:hover{background:#efad80;transform:translateY(-2px)}.button-small{padding:12px 23px;min-height:46px}.button-full{width:100%}.text-link{font-size:.875rem;font-weight:700;border-bottom:1px solid currentColor;padding-block:3px;line-height:1.5}.text-link:hover{color:var(--accent-ink)}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:.93fr 1.07fr;align-items:center;gap:56px;padding-top:65px;padding-bottom:67px}.hero .eyebrow{display:flex;align-items:center;gap:10px;font-size:.75rem;letter-spacing:.08em}.label-dot{color:#b2522e;font-size:23px;line-height:1}h1{font-size:clamp(3.4rem,5.55vw,5.6rem);line-height:1.045;letter-spacing:-.065em}.hero-accent{display:block;font-family:Georgia,serif;color:var(--accent-ink);font-style:italic;font-weight:400;font-size:1.05em;letter-spacing:-.06em}.hero-description{font-size:1.0625rem;color:#6b5749;line-height:1.75;max-width:445px;margin-top:27px}.hero-description strong{font-weight:400}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:30px}.hero-facts{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-top:24px;font-size:.8125rem;color:#766153}.hero-facts>span+span{border-left:1px solid #b7a091;padding-left:15px}.hero-visual{position:relative;padding:10px 0 15px 2px}.hero-photo{position:relative;border-radius:100px 100px 24px 24px;overflow:hidden;aspect-ratio:4/3;background:var(--pink);transform:rotate(2deg);box-shadow:12px 14px 0 var(--yellow)}.hero-photo img{object-position:50% 55%}.hero-photo figcaption{position:absolute;bottom:22px;left:22px;right:22px;background:var(--paper);border-radius:40px;text-align:center;padding:12px 17px;font-size:.875rem;color:var(--ink);font-weight:600}.hero-sticker{position:absolute;left:-31px;top:-12px;background:var(--orange);border:5px solid var(--paper);border-radius:50%;width:127px;height:127px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;transform:rotate(-12deg);font-size:.75rem;line-height:1.35;color:#442b24}.hero-sticker strong{font-family:Georgia,serif;font-size:1.3rem;font-weight:400;font-style:italic;margin-top:4px}.hero-sticker>span:last-child{font-size:21px;line-height:1.1}.benefits{display:grid;grid-template-columns:repeat(3,1fr);padding-block:25px;border-block:1px solid var(--line);gap:30px}.benefits>div{display:flex;align-items:center;gap:15px}.benefit-icon{display:grid;place-items:center;font-size:26px;width:46px;height:46px;border-radius:50%;background:var(--pink);color:var(--ink);flex-shrink:0}.benefits>div:nth-child(2) .benefit-icon{background:var(--yellow)}.benefits>div:nth-child(3) .benefit-icon{background:#fbe5d3}.benefits strong{font-size:.9375rem;line-height:1.4;display:block}.benefits p>span{font-size:.8125rem;color:#766153;display:block;margin-top:3px}.concept{display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:95px}.concept-visual{position:relative;margin-bottom:25px;padding-left:8px}.concept-visual figure{aspect-ratio:1.08;border-radius:26px 100px 26px 26px;overflow:hidden;transform:rotate(-2deg);background:var(--yellow);box-shadow:-9px 10px 0 var(--pink)}.photo-label{position:absolute;bottom:-34px;right:-18px;padding:17px 24px;background:var(--yellow);border-radius:9px;transform:rotate(3deg);font-size:.875rem;line-height:1.6}.photo-label strong{font-weight:700}.concept-copy>p:not(.eyebrow){color:#6b5749;margin-top:23px;font-size:1rem}.concept-copy h2{font-size:clamp(2.2rem,3.2vw,3.05rem)}.concept-copy .concept-signoff{color:var(--ink)!important;border-top:1px solid var(--line);padding-top:23px;font-size:.9375rem}.concept-signoff strong{font-weight:700}.experience{background:#fff0e4}.section-heading{text-align:center;max-width:760px;margin:auto}.section-heading>p:last-child{font-size:1rem;color:#6b5749;margin-top:23px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}.step{padding:28px 28px 32px;border-radius:23px;background:var(--paper)}.step:nth-child(2){background:#ffe59b;transform:rotate(1.5deg)}.step:nth-child(3){background:#fbe5d3}.step-number{display:grid;place-items:center;width:49px;height:49px;border-radius:50%;border:1px solid currentColor;font-size:1rem;margin-bottom:24px;color:var(--accent-ink)}.step-tag{display:block;font-size:.75rem;font-weight:700;letter-spacing:.07em;line-height:1.65;margin-bottom:14px}.step h3{font-size:1.65rem;line-height:1.2;letter-spacing:-.05em}.step p{font-size:1rem;line-height:1.75;margin-top:19px;color:#6b5749}.experience-note{text-align:center;font-family:Georgia,serif;font-style:italic;font-size:1.2rem;margin-top:35px;line-height:1.55}.care{display:grid;grid-template-columns:1.08fr .92fr;gap:90px;align-items:center}.care-copy>p:not(.eyebrow){font-size:1rem;color:#6b5749;margin-top:24px;max-width:490px}.care-copy h2{font-size:clamp(2.2rem,3.2vw,3.05rem)}.care-list{list-style:none;padding:0;margin:30px 0 0}.care-list>li{display:flex;gap:17px;margin-top:22px}.care-list>li>span{font-size:23px;line-height:1.1;color:var(--accent-ink);flex-shrink:0}.care-list h3{font-size:1rem;line-height:1.4;margin-bottom:5px}.care-list p{color:#6b5749;font-size:1rem;line-height:1.7}.care-photo{position:relative;aspect-ratio:.93;border-radius:130px 130px 24px 24px;overflow:hidden;background:var(--yellow);box-shadow:11px 11px 0 var(--pink);transform:rotate(2deg)}.care-photo img{object-position:50% 48%}.care-photo figcaption{position:absolute;bottom:22px;left:18px;right:18px;text-align:center;background:var(--paper);border-radius:30px;padding:12px 14px;font-size:.875rem;font-weight:600}.atelier{background:var(--accent);color:var(--ink)}.atelier-grid{display:grid;grid-template-columns:1fr .87fr;gap:100px;align-items:center}.atelier h2{font-size:clamp(2.65rem,4.3vw,4.3rem);line-height:1.12}.atelier h2 em{color:#85401f}.atelier-copy>p:not(.eyebrow){font-size:1.0625rem;line-height:1.75;margin-top:25px;max-width:460px;color:#654430}.occasion-list{display:flex;gap:11px;flex-wrap:wrap;margin-top:26px}.occasion-list span{border:1px solid #ba7c53;padding:7px 13px;border-radius:30px;font-size:.8125rem}.atelier-note{display:flex;gap:17px;align-items:center;border-top:1px solid #d28f64;margin-top:36px;padding-top:27px;font-size:.9375rem}.atelier-note>span{font-size:38px;color:#85401f;line-height:1}.ticket{background:var(--paper);color:var(--ink);border-radius:24px;box-shadow:9px 10px 0 #d6956e;transform:rotate(-1.5deg);overflow:hidden}.ticket-top{background:var(--pink);display:flex;align-items:center;justify-content:space-between;padding:18px 29px;font-size:.75rem;font-weight:700;letter-spacing:.07em;gap:15px}.ticket-top>span:last-child{font-size:23px;line-height:1}.ticket-content{padding:26px 30px}.ticket-status{color:var(--accent-ink);font-size:.75rem;letter-spacing:.09em;font-weight:700;margin-bottom:13px}.ticket h3{font-size:2.3rem;line-height:1.1;letter-spacing:-.055em}.ticket h3+p{font-size:1rem;color:#6b5749;margin-top:16px}.ticket dl{margin:26px 0}.ticket dl>div{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);font-size:.875rem;line-height:1.5;padding-block:12px}.ticket dt{color:#6b5749;flex-shrink:0}.ticket dd{margin:0;font-weight:600;text-align:right}.ticket-note{font-size:.75rem;margin-top:12px;text-align:center;color:#6b5749}.ticket-end{padding:17px 27px;border-top:1px dashed #cbb5a5;font-size:.75rem;line-height:1.7;text-align:center;letter-spacing:.03em}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:85px}.faq-heading>p:last-child{font-size:1rem;color:#6b5749;max-width:275px;margin-top:23px}.faq-list details{border-top:1px solid var(--line);padding-block:22px}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:1rem;font-weight:700;line-height:1.6}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{width:18px;height:18px;position:relative;flex-shrink:0}.faq-list summary>span:before,.faq-list summary>span:after{content:'';position:absolute;width:14px;height:1px;background:var(--accent-ink);left:2px;top:8px}.faq-list summary>span:after{transform:rotate(90deg);transition:transform .2s}.faq-list details[open] summary>span:after{transform:rotate(0)}.faq-list p{font-size:1rem;color:#6b5749;padding-top:17px;padding-right:26px;line-height:1.75}.closing{position:relative;background:var(--yellow);text-align:center;border-radius:45px;padding:61px 30px;margin-bottom:77px;overflow:hidden}.closing .eyebrow{font-size:.75rem}.closing h2 em{color:var(--ink)}.closing .button{margin-top:29px;position:relative;z-index:1}.closing-star{position:absolute;right:20px;bottom:-20px;font-size:125px;line-height:1;color:#d1a63a;transform:rotate(12deg);pointer-events:none}.footer{padding-bottom:26px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:35px;border-bottom:1px solid var(--line)}.footer-brand{font-size:2rem;line-height:1.3;letter-spacing:-.06em;font-weight:700}.footer-brand>span{display:block;font-size:.75rem;letter-spacing:.04em;font-weight:400;margin-top:8px}.footer-top>p{text-align:right;font-size:.875rem}.footer-bottom{display:flex;justify-content:space-between;gap:18px;align-items:center;flex-wrap:wrap;font-size:.75rem;color:#766153;margin-top:24px}.footer-link{border:0;background:transparent;font-size:inherit;padding:5px 0}.footer-link:hover{text-decoration:underline}.skip-link{position:fixed;top:-120px;left:15px;z-index:60;padding:12px 18px;color:var(--accent-ink);background:white;border:2px solid var(--accent-ink)}.skip-link:focus{top:15px}dialog{border:0;border-radius:25px;padding:30px;width:min(510px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;color:var(--ink);background:var(--paper);box-shadow:0 25px 100px #0005}dialog::backdrop{background:#4c2e20ad;backdrop-filter:blur(5px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:24px}.dialog-top .eyebrow{font-size:.75rem;margin:0}.dialog-close{display:grid;place-items:center;border:1px solid var(--line);background:transparent;border-radius:50%;width:40px;height:40px;font-size:25px;line-height:1;flex-shrink:0}.dialog-symbol{display:block;font-size:57px;color:var(--accent-ink);line-height:1;margin-bottom:22px}dialog h2{font-size:2.65rem}dialog>p{font-size:1rem;color:#6b5749;margin-top:22px}.dialog-list{font-size:.9375rem;padding-left:20px;margin-block:22px}.dialog-list>li+li{margin-top:8px}.dialog-note{font-size:.875rem;border-radius:12px;background:var(--pink);padding:16px;margin-block:22px;line-height:1.7}#privacy .button{margin-top:24px}
@media(min-width:1600px){.header{padding-inline:max(52px,calc((100vw - 1240px)/2))}}@media(max-width:1100px){.section-wrap{width:calc(100% - 72px)}.header{padding-inline:36px}.brand{font-size:1.2rem}.header nav{gap:21px}.hero{gap:40px;padding-top:56px}.hero-photo{aspect-ratio:4/3}.hero-actions{gap:17px}.hero-sticker{left:-20px;width:110px;height:110px;top:-20px}.hero-sticker strong{font-size:1.15rem}.benefits{gap:20px}.benefits>div{gap:11px}.benefit-icon{width:40px;height:40px}.benefits strong{font-size:.875rem}.benefits p>span{font-size:.75rem}.concept,.care{gap:57px}.atelier-grid{gap:65px}.faq{gap:55px}.step{padding-inline:24px}.ticket dl>div{gap:15px}}
@media(max-width:850px){.section-wrap{width:calc(100% - 48px)}.header{padding:15px 24px;min-height:87px}.brand{font-size:1.1rem;gap:10px}.brand-icon{height:47px;width:47px;font-size:2rem}.brand small{font-size:.75rem;letter-spacing:.02em}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;background:none;border:1px solid var(--line);border-radius:13px;padding:11px}.menu-toggle span{width:20px;height:1.5px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.75px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}.header nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:5px;background:var(--paper);padding:12px 24px 24px;border-bottom:1px solid var(--line);box-shadow:0 15px 20px #5939270a}.header nav.is-open{display:flex}.header nav>a:not(.button){padding:12px 5px}.hero{gap:30px;padding-top:42px}.hero .eyebrow{font-size:.75rem;letter-spacing:.03em}h1{font-size:3.45rem}.hero-description{font-size:1rem;line-height:1.7}.hero-actions{align-items:flex-start;flex-direction:column;gap:16px}.hero-facts{font-size:.75rem;gap:8px}.hero-facts>span+span{padding-left:8px}.hero-photo{aspect-ratio:4/3;border-radius:75px 75px 20px 20px;box-shadow:8px 11px 0 var(--yellow)}.hero-photo figcaption{font-size:.75rem;padding:11px 12px;left:14px;right:14px;bottom:16px}.hero-sticker{width:98px;height:98px;left:-20px;top:-16px;font-size:.75rem}.hero-sticker strong{font-size:1rem}.hero-sticker>span:last-child{display:none}.benefits{gap:16px;align-items:start}.benefits>div{align-items:flex-start}.benefit-icon{height:34px;width:34px;font-size:23px}.benefits strong{font-size:.8125rem}.benefits p>span{font-size:.75rem;line-height:1.5}.section-space{padding-block:75px}.concept,.care{gap:39px}.concept-copy h2,.care-copy h2{font-size:2.3rem}.concept-visual figure{aspect-ratio:.82}.photo-label{right:-7px;padding:13px 17px;font-size:.8125rem}.steps{gap:16px}.step{padding:23px 20px 26px}.step h3{font-size:1.4rem}.step-tag{font-size:.75rem;letter-spacing:.02em}.step p{font-size:1rem}.care-photo{aspect-ratio:.75;border-radius:90px 90px 20px 20px}.care-photo figcaption{font-size:.75rem}.care-list>li{gap:12px}.care-list p{font-size:1rem}.atelier-grid{gap:35px}.atelier h2{font-size:3rem}.ticket-content{padding:25px 22px}.ticket h3{font-size:2rem}.ticket dl>div{font-size:.875rem}.ticket-top{padding:17px 22px}.ticket-end{padding:16px 22px}.ticket .button{padding-inline:16px}.faq{gap:40px;grid-template-columns:.7fr 1.3fr}.closing-star{font-size:95px;right:0}.footer-brand{font-size:1.65rem}}
@media(max-width:700px){html{scroll-padding-top:87px}.announcement{font-size:.75rem;gap:10px;padding:7px 15px;flex-wrap:wrap;line-height:1.45}.announcement>span{font-size:16px}.hero{grid-template-columns:1fr;gap:37px;padding-top:36px;padding-bottom:46px}.hero .eyebrow{margin-bottom:19px;font-size:.75rem}h1{font-size:clamp(3.35rem,10.5vw,4.8rem);line-height:1.015}.hero-accent{font-size:1.08em}.hero-description{margin-top:24px;font-size:1.0625rem;max-width:520px}.hero-actions{flex-direction:row;align-items:center;gap:18px;margin-top:26px}.button{font-size:.9375rem;padding:15px 22px}.hero-facts{margin-top:22px;font-size:.8125rem;gap:12px}.hero-facts>span+span{padding-left:12px}.hero-visual{padding:10px 5px 8px 3px}.hero-photo{aspect-ratio:4/3;border-radius:68px 68px 20px 20px;transform:rotate(1deg);box-shadow:8px 9px 0 var(--yellow)}.hero-photo img{object-position:50% 58%}.hero-photo figcaption{font-size:.875rem;left:18px;right:18px;padding:10px 13px}.hero-sticker{width:104px;height:104px;top:-14px;left:-9px;transform:rotate(-11deg)}.hero-sticker strong{font-size:1.1rem}.benefits{grid-template-columns:1fr;padding-block:25px;gap:22px}.benefits>div{align-items:center;gap:16px}.benefit-icon{height:42px;width:42px;font-size:27px}.benefits strong{font-size:1rem}.benefits p>span{font-size:.875rem;margin-top:2px}.section-space{padding-block:62px}.eyebrow{font-size:.75rem;margin-bottom:19px}h2{font-size:2.6rem}.concept,.care{grid-template-columns:1fr;gap:39px}.concept-visual{order:2;padding-right:8px;margin-top:6px;margin-bottom:29px}.concept-visual figure{aspect-ratio:1.25;border-radius:22px 72px 22px 22px;transform:rotate(-1deg)}.concept-copy h2,.care-copy h2{font-size:clamp(2.3rem,8.5vw,3.2rem)}.concept-copy>p:not(.eyebrow){margin-top:21px;font-size:1rem}.concept-copy .concept-signoff{font-size:1rem}.photo-label{right:0;font-size:.875rem;bottom:-27px;padding:13px 20px}.section-heading{text-align:left}.section-heading>p:last-child{font-size:1rem;margin-top:21px}.steps{grid-template-columns:1fr;gap:20px;margin-top:34px}.step{padding:26px 27px 29px;border-radius:22px}.step:nth-child(2){transform:rotate(1deg)}.step-number{width:44px;height:44px;margin-bottom:21px}.step-tag{letter-spacing:.07em}.step h3{font-size:1.65rem}.step h3 br{display:none}.step p{margin-top:14px}.experience-note{font-size:1.15rem;margin-top:28px}.care{gap:34px}.care-copy>p:not(.eyebrow){margin-top:22px}.care-list{margin-top:27px}.care-list h3{font-size:1.0625rem}.care-list p{font-size:1rem}.care-photo{aspect-ratio:1.16;border-radius:75px 75px 20px 20px;margin:0 8px 7px 0;transform:rotate(1deg);box-shadow:8px 9px 0 var(--pink)}.care-photo figcaption{font-size:.875rem;padding:10px 13px;bottom:16px}.atelier-grid{grid-template-columns:1fr;gap:36px}.atelier h2{font-size:3.1rem}.atelier-copy>p:not(.eyebrow){font-size:1rem}.atelier-note{margin-top:28px;padding-top:24px}.occasion-list{gap:8px}.occasion-list span{font-size:.8125rem}.ticket{margin:0 3px;transform:rotate(-1deg)}.ticket-content{padding:27px}.ticket h3{font-size:2.3rem}.ticket-top{padding:19px 27px}.ticket dl>div{font-size:.875rem}.ticket-end{font-size:.75rem}.faq{grid-template-columns:1fr;gap:29px}.faq-heading>p:last-child{max-width:none;margin-top:18px}.faq-list p{padding-right:14px}.faq-list details{padding-block:21px}.closing{border-radius:30px;padding:43px 23px;margin-bottom:53px}.closing h2{font-size:2.35rem}.closing .eyebrow{font-size:.75rem;letter-spacing:.06em}.closing-star{font-size:77px;right:-10px;bottom:-17px}.footer-top{align-items:flex-start;gap:23px;flex-direction:column;padding-bottom:28px}.footer-brand{font-size:1.8rem}.footer-brand>span{font-size:.75rem}.footer-top>p{font-size:.875rem;text-align:left}.footer-bottom{gap:12px;font-size:.75rem}.footer-bottom>span:nth-child(2){order:3;width:100%}dialog{padding:25px;border-radius:22px}dialog h2{font-size:2.35rem}.dialog-list{font-size:1rem}}
@media(max-width:370px){.section-wrap{width:calc(100% - 36px)}.header{padding-inline:18px}.brand{font-size:1.02rem}.brand small{font-size:.75rem;letter-spacing:0}.brand-icon{width:41px;height:44px}.hero-facts{font-size:.75rem}.hero-photo figcaption,.care-photo figcaption{font-size:.75rem}.ticket-content{padding-inline:22px}.ticket dl>div{gap:12px}.ticket dd{max-width:170px}.closing h2{font-size:2.2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.button:hover{transform:none}}

.contact{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:65px;border-top:1px solid var(--line);padding-block:65px 85px}.contact h2{font-size:clamp(2rem,3.2vw,3rem)}.contact-copy>p{color:#6b5749;font-size:1rem}.contact-status{background:#fbe5d3;border-radius:16px;padding:19px 22px;margin-top:22px}.contact-status strong{display:block;font-size:1rem;margin-bottom:5px}.contact-status p{font-size:.9375rem;color:#6b5749}.contact .text-link{display:inline-block;margin-top:20px}@media(max-width:700px){.contact{grid-template-columns:1fr;gap:25px;padding-block:48px 58px}.contact h2{font-size:2.35rem}}

/* Puppy-and-paintbrush brand and studio section */
html{scroll-padding-top:122px}.brand{gap:12px;letter-spacing:0;flex-shrink:0}.brand-emblem{display:block;width:76px;height:76px;object-fit:contain;flex-shrink:0}.brand-type{display:block}.brand-wordmark{display:block;font-family:Georgia,serif;font-size:1.68rem;font-weight:700;letter-spacing:-.065em;line-height:.98}.brand-wordmark>span{display:block;color:var(--accent-ink);font-size:.9em;margin-top:4px}.brand small{font-size:.75rem;letter-spacing:.035em;margin-top:9px;font-weight:600;line-height:1.25}.brand-footer .brand-emblem{width:86px;height:86px}.brand-footer .brand-wordmark{font-size:2rem}.studio{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px;align-items:center;padding-bottom:0}.studio-place{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;min-height:365px;border:1px solid #e6bd9e;border-radius:110px 110px 25px 25px;background:var(--pink);padding:35px 25px}.studio-place>.eyebrow{margin-bottom:30px;font-size:.75rem}.studio-place>strong{font-family:Georgia,serif;font-weight:400;font-style:italic;font-size:5.3rem;line-height:1.05;letter-spacing:-.065em;color:var(--accent-ink)}.studio-place>strong>span{font-family:var(--font);display:block;letter-spacing:.08em;font-size:.875rem;line-height:1.4;font-weight:400;font-style:normal;margin-top:16px;color:var(--ink)}.studio-status{font-size:.8125rem;border-top:1px solid #d5aa89;padding-top:23px;margin-top:30px}.studio-copy h2{font-size:clamp(2.2rem,3.2vw,3.05rem)}.studio-copy>p:not(.eyebrow){font-size:1rem;color:#6b5749;margin-top:22px}.studio-info{padding-top:20px;margin-top:23px;border-top:1px solid var(--line)}.studio-info strong{font-size:1rem}.studio-info p{font-size:1rem;color:#6b5749;margin-top:6px}.studio-copy .text-link{display:inline-block;margin-top:20px}@media(max-width:1100px){.header nav{gap:23px}.brand-emblem{width:66px;height:66px}.brand-wordmark{font-size:1.55rem}.brand small{font-size:.75rem;letter-spacing:0}.studio{gap:55px}}@media(max-width:850px){.brand-emblem{width:59px;height:59px}.brand-wordmark{font-size:1.45rem}.brand small{margin-top:7px}.studio{gap:35px}.studio-place{min-height:340px;padding-inline:19px}.studio-place>strong{font-size:4.4rem}}@media(max-width:700px){html{scroll-padding-top:113px}.brand{gap:9px;min-width:0}.brand-emblem{width:57px;height:57px}.brand-wordmark{font-size:1.4rem}.brand small{font-size:.75rem;letter-spacing:0;max-width:158px;line-height:1.3}.header{gap:12px}.menu-toggle{flex-shrink:0}.studio{grid-template-columns:1fr;gap:32px;padding-bottom:0}.studio-copy{order:0}.studio-place{order:1;min-height:270px;border-radius:65px 65px 20px 20px}.studio-place>.eyebrow{margin-bottom:20px}.studio-place>strong{font-size:4.6rem}.studio-status{margin-top:22px;padding-top:18px}.studio-copy h2{font-size:2.4rem}.brand-footer .brand-emblem{width:76px;height:76px}.brand-footer .brand-wordmark{font-size:1.8rem}.brand-footer small{max-width:none}}@media(max-width:370px){.brand-emblem{width:48px;height:48px}.brand-wordmark{font-size:1.3rem}.brand small{max-width:151px}.header{padding-inline:16px;gap:8px}.brand{gap:7px}}

/* Supplied dog photographs */
.hero-photo img{object-position:50% 61%}.care-photo{aspect-ratio:3/4}.care-photo img{object-position:50% 50%}.puppy-gallery{display:grid;grid-template-columns:.62fr 1.38fr;gap:50px;align-items:center;padding-top:90px}.gallery-heading h2{font-size:clamp(2.2rem,3.2vw,3rem)}.gallery-photos{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.gallery-photos figure{overflow:hidden;border-radius:24px;background:var(--pink)}.gallery-photos figure:nth-child(2){margin-top:44px;background:#fff0e4}.gallery-photos img{aspect-ratio:3/4;height:auto;object-fit:cover}.gallery-photos figure:nth-child(2) img{aspect-ratio:1;object-fit:contain}.gallery-photos figcaption{padding:15px 20px;font-size:.875rem;text-align:center;line-height:1.5}@media(max-width:850px){.puppy-gallery{grid-template-columns:1fr;padding-top:65px;gap:27px}.gallery-heading h2 br{display:none}.gallery-photos{gap:20px}.gallery-photos figure:nth-child(2){margin-top:30px}}@media(max-width:550px){.puppy-gallery{padding-top:55px}.gallery-photos{grid-template-columns:1fr;gap:24px}.gallery-photos figure:nth-child(2){margin-top:0}.gallery-photos img{aspect-ratio:auto;max-height:none}.gallery-photos figcaption{font-size:1rem}.care-photo{aspect-ratio:3/4}}

/* Full portrait for the opening section */
.hero-photo{aspect-ratio:auto;transform:rotate(1deg);border-radius:34px;overflow:hidden}.hero-photo img{width:100%;height:auto;object-fit:contain;object-position:center}.hero-photo figcaption{position:static;margin:0;border-radius:0;padding:13px 16px;font-size:.875rem}.gallery-photos .gallery-group{grid-column:1/-1;margin-top:0}.gallery-photos .gallery-group img{aspect-ratio:auto;height:auto;object-fit:contain}@media(max-width:700px){.hero-visual{order:-1;max-width:430px;width:100%;margin-inline:auto}.hero{gap:30px}.hero-photo{border-radius:28px}.hero-sticker{width:94px;height:94px;left:-9px;top:-10px}}

/* Reservation is the primary action */
.header-reserve{flex-shrink:0;padding:13px 25px;min-height:48px}.header nav{margin-left:auto}.header nav>a:last-child{font-weight:500}.reserve-primary{font-size:1.0625rem;padding:18px 31px;min-height:58px;box-shadow:0 6px 16px #9b471e16;border:1px solid #b9744c}.hero-actions .reserve-primary{min-width:240px}.hero-actions .text-link{font-weight:400;color:#6b5749}.mobile-reserve{display:none}@media(min-width:851px) and (max-width:1100px){.header{gap:18px;padding-inline:30px}.header nav{gap:19px}.header-reserve{padding-inline:20px}.brand small{max-width:172px}.brand-emblem{width:58px;height:58px}}@media(max-width:850px){.header-reserve{display:none}.mobile-reserve{position:fixed;bottom:0;left:0;right:0;z-index:25;display:flex;flex-direction:column;align-items:center;gap:6px;padding:11px 20px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(255,253,247,.98);border-top:1px solid #e6bd9e;box-shadow:0 -5px 22px #5939270b;backdrop-filter:blur(12px)}.mobile-reserve .button{max-width:470px;min-height:52px;padding:14px 24px}.mobile-reserve>span{font-size:.75rem;line-height:1.4;color:#6b5749}.footer{padding-bottom:calc(134px + env(safe-area-inset-bottom,0px))}html{scroll-padding-bottom:calc(125px + env(safe-area-inset-bottom,0px))}body:has(dialog[open]) .mobile-reserve{visibility:hidden}.hero-actions .reserve-primary{width:100%}.hero-actions{align-items:stretch}.hero-actions .text-link{align-self:flex-start}}

/* Line icon, consistent across platforms and with the other benefit icons. */
.paintbrush-icon{display:block;width:1em;height:1em;flex-shrink:0}.benefit-icon .paintbrush-icon{width:1.08em;height:1.08em}

/* A shorter route from the workshop overview to reservation information. */
.section-space{padding-block:68px}.concept-visual{margin-bottom:0}.session-plan{margin:28px 0 0}.session-plan>div{display:grid;grid-template-columns:72px 1fr;gap:22px;align-items:center;padding:20px 0;border-top:1px solid var(--line)}.session-plan dt{text-align:center;color:var(--accent-ink)}.session-plan dt strong{display:block;font-size:2.4rem;line-height:1.05;letter-spacing:-.05em}.session-plan dt span{font-size:.875rem}.session-plan dd{margin:0}.session-plan h3{font-size:1.15rem;line-height:1.4}.session-plan p{font-size:1rem;color:#6b5749;margin-top:5px}.puppy-gallery{display:block;padding-block:12px 64px}.gallery-heading{margin-bottom:24px}.gallery-photos{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:center}.gallery-photos figure:nth-child(2){margin-top:0}.gallery-photos .gallery-group{grid-column:auto}.gallery-photos img,.gallery-photos figure:nth-child(2) img,.gallery-photos .gallery-group img{aspect-ratio:auto;height:auto;object-fit:contain}.contact{padding-block:34px 44px}.contact h2{font-size:2rem}.contact .text-link{margin-top:10px}
@media(max-width:700px){.section-space{padding-block:44px}.hero{padding-top:28px;padding-bottom:30px;gap:28px}.hero-visual{order:-1;max-width:310px}.hero-sticker{display:none}.concept{gap:24px}.concept-visual{margin-block:0}.session-plan{margin-top:22px}.session-plan>div{grid-template-columns:64px 1fr;gap:16px;padding-block:17px}.puppy-gallery{padding-block:4px 40px}.gallery-heading{margin-bottom:20px}.gallery-heading h2{font-size:2rem}.gallery-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.gallery-photos figure{border-radius:18px}.atelier-grid{gap:26px}.atelier h2{font-size:2.5rem}.faq{gap:20px}.faq-list details{padding-block:17px}.contact{gap:14px;padding-block:28px 36px}}

/* Preserve the full apartment photo at every screen size. */
.concept-visual figure{aspect-ratio:auto}.concept-visual figure img{height:auto;object-fit:contain}

/* Approved complete logo and planned payment methods. */
.brand-logo{display:block;width:280px;height:auto;object-fit:contain;flex-shrink:0}.brand-footer .brand-logo{width:300px}.payment-note{font-size:.875rem;line-height:1.5;color:#6b5749;margin-top:12px}.ticket .payment-note{text-align:center}dialog>.payment-note{font-size:.875rem;margin-block:12px 20px}
@media(max-width:850px){.brand-logo{width:240px}.brand-footer .brand-logo{width:280px}}
@media(max-width:370px){.brand-logo{width:220px}.brand-footer .brand-logo{width:260px}}

.contact-copy .contact-email{margin-top:18px}.contact-email a{overflow-wrap:anywhere}

/* Réservations */
.booking-dialog{width:min(600px,calc(100% - 24px));padding:28px}.booking-dialog h2{font-size:2rem;line-height:1.15;margin:18px 0 20px}.booking-dialog h2:focus{outline:none}.booking-dialog p{font-size:1rem;line-height:1.55}.booking-intro{margin:0 0 22px}.calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.calendar-nav h3{font-size:1.15rem;text-transform:capitalize;margin:0}.calendar-nav button,.quantity-control button{width:42px;height:42px;border:1px solid #d5bda9;border-radius:50%;background:#fffaf4;color:#563b2a;font-size:1.7rem;cursor:pointer}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-week{font-size:.75rem;text-align:center;margin-bottom:8px}.calendar-day{position:relative;aspect-ratio:1;border:0;border-radius:12px;font:inherit;font-size:1rem;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px}.calendar-day.available{background:#f5cfb3;color:#563b2a;cursor:pointer;font-weight:700}.calendar-day.available:hover{background:#eab994;box-shadow:inset 0 0 0 2px #975028}.calendar-day.available i,.calendar-legend i{width:5px;height:5px;background:#975028;border-radius:50%;display:inline-block}.calendar-day.unavailable{background:#f4f0eb;color:#a39488}.date-cross{position:absolute;bottom:1px;right:5px;font-size:.8rem;font-weight:400;color:#9b8b7e}.calendar-legend{display:flex;flex-wrap:wrap;gap:16px;font-size:.78rem;margin:18px 0}.calendar-legend i{background:#eab994;width:10px;height:10px;margin-right:4px}.booking-contact{text-align:center}.booking-contact a{color:inherit}.booking-back{border:0;background:none;color:#975028;font:inherit;font-size:.9rem;padding:0 0 18px;cursor:pointer;text-decoration:underline;text-underline-offset:4px}.booking-event{border:1px solid #e2cebd;background:#fff8f0;border-radius:16px;padding:18px}.booking-event strong{display:block;text-transform:capitalize}.booking-event p{margin:8px 0}.places-left{font-size:.9rem;color:#754523;font-weight:600}.quantity-label{display:block;font-weight:700;margin-top:20px}.booking-dialog .booking-small{font-size:.82rem;margin:8px 0 16px;color:#7a6b60}.quantity-control{display:flex;align-items:center;justify-content:center;gap:18px;margin:20px 0}.quantity-control input{width:76px;text-align:center;font:inherit;font-size:1.35rem;border:1px solid #dcc8b7;border-radius:10px;padding:8px;background:#fff}.quantity-control button:disabled,.booking-dialog .button:disabled{opacity:.5;cursor:not-allowed}.booking-total{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #e2cebd;padding:20px 0;margin-top:18px}.booking-total strong{font-size:1.6rem}.booking-slots{display:grid;gap:12px}.booking-slot{display:flex;justify-content:space-between;gap:16px;background:#fff8f0;border:1px solid #e2cebd;border-radius:12px;font:inherit;padding:18px;color:inherit;cursor:pointer}.booking-error{color:#9c342d;min-height:0}.booking-error:empty{display:none}.payment-methods{border:0;padding:0;margin:22px 0}.payment-methods legend{font-weight:700;margin-bottom:12px}.payment-methods label{display:flex;align-items:flex-start;gap:12px;border:1px solid #dcc8b7;border-radius:12px;padding:14px;margin-bottom:10px;cursor:pointer}.payment-methods label:has(input:checked){background:#fff1e4;border-color:#975028}.payment-methods input{margin-top:5px;accent-color:#975028}.payment-methods small{display:block;font-size:.8rem;line-height:1.5;margin-top:5px}.booking-dialog input[type=email]{box-sizing:border-box;width:100%;font:inherit;padding:12px;border:1px solid #dcc8b7;border-radius:10px;background:#fff;margin-top:10px}.booking-dialog button:focus-visible,.booking-dialog input:focus-visible{outline:3px solid #975028;outline-offset:3px}@media(max-width:480px){.booking-dialog{padding:20px}.booking-dialog h2{font-size:1.75rem}.calendar-grid,.calendar-week{gap:4px}.calendar-day{border-radius:9px}.calendar-legend{gap:10px;font-size:.72rem}}
/* Dates clairement distinguées : contraste et numéro barré. */
.booking-dialog .calendar-day.unavailable{opacity:.42;background:#eee9e3;color:#675546;cursor:not-allowed}.booking-dialog .calendar-day.unavailable>span:first-child{text-decoration:line-through;text-decoration-thickness:2px}.booking-dialog .date-cross{display:none}.booking-dialog .calendar-day.available{background:#975028;color:#fff;border:2px solid #975028;font-size:1.15rem;box-shadow:0 2px 4px #563b2a20}.booking-dialog .calendar-day.available:hover{background:#713d20;border-color:#713d20}.booking-dialog .calendar-day.available i{background:#fff}.booking-dialog .calendar-legend{font-size:.875rem}.calendar-legend .legend-available{width:16px;height:16px;border-radius:5px;background:#975028;vertical-align:middle}.calendar-legend .legend-unavailable{font-style:normal;text-decoration:line-through;text-decoration-thickness:2px;opacity:.5;margin-right:4px}

.session-plan .session-takeaway dt strong{font-size:1rem;line-height:1.4;letter-spacing:0}.session-plan .session-takeaway:last-child{border-bottom:1px solid var(--line)}

.session-plan .session-star{display:flex;align-items:center;justify-content:center;color:var(--accent-ink)}.session-star svg{display:block;width:32px;height:32px}

.shared-moment{padding-block:32px;border-block:1px solid var(--line);text-align:center}.shared-moment p{max-width:800px;margin-inline:auto;font-size:clamp(1.0625rem,1.6vw,1.3rem);line-height:1.7;color:#6b5749}.shared-moment strong{color:var(--accent-ink);font-weight:600}
/* Navigation stays in document flow; the reservation bar remains available. */
.header{position:relative;top:auto}html{scroll-padding-top:24px}
.gallery-heading #gallery-help{margin-top:12px;font-size:.9375rem;color:#766153}.gallery-photos{display:flex;gap:18px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#c99f80 #f5e6da;padding-bottom:14px;-webkit-overflow-scrolling:touch}.gallery-photos figure,.gallery-photos figure:nth-child(2),.gallery-photos .gallery-group{flex:0 0 calc((100% - 36px)/3);min-width:0;margin:0;scroll-snap-align:start;scroll-snap-stop:always;aspect-ratio:4/5;background:#f7eee5;border-radius:22px}.gallery-photos img,.gallery-photos figure:nth-child(2) img,.gallery-photos .gallery-group img{width:100%;height:100%;aspect-ratio:auto;object-fit:contain;user-select:none}.gallery-controls{display:flex;justify-content:flex-end;gap:12px;margin-top:14px}.gallery-control{background:var(--paper);border:1px solid #cba98d;border-radius:24px;padding:10px 16px;font-size:.875rem;min-height:44px}.gallery-control:hover:not(:disabled){background:var(--pink)}.gallery-control:disabled{opacity:.4;cursor:default}.gallery-photos:focus-visible{outline:3px solid var(--accent-ink);outline-offset:5px}@media(max-width:700px){.gallery-photos{gap:14px}.gallery-photos figure,.gallery-photos figure:nth-child(2),.gallery-photos .gallery-group{flex-basis:84%;border-radius:18px}.gallery-controls{justify-content:space-between}.gallery-control{padding:9px 13px}}
