/* Illustrated service section, based on the owner's desktop/mobile reference.
   The approved reading-fox hero and every booking entry point are preserved. */
:root{--service-sage:#c6d3ad;--service-peach:#f8d0b6;--service-cream:#f3e8ce}
:root[data-theme=dark]{--service-sage:#294735;--service-peach:#50372b;--service-cream:#3d422d}
.sun-icon{width:32px;height:32px;fill:#f7b633;stroke:#d17a15;stroke-width:1.7;stroke-linecap:round;vertical-align:middle}
.menu-open{display:none}.accent{color:var(--accent)}
.trust{background:var(--bg);border-bottom:1px solid var(--line);position:relative;padding-block:21px;overflow:clip}
.trust>span{font-weight:700;font-size:1rem;min-width:0}
.trust>span+span{border-color:#dbb99199}
.trust::before,.trust::after{content:"";position:absolute;pointer-events:none;width:110px;height:110px;background:url(leaf-sprig-v1.svg) center/contain no-repeat;top:-35px}
.trust::before{left:0;transform:rotate(-25deg)}.trust::after{right:0;transform:scaleX(-1) rotate(-25deg)}
.illustrated-services{width:min(1280px,calc(100% - 64px));padding-block:28px 12px}
.illustrated-services>h2{text-align:center;font-size:clamp(1.9rem,3.1vw,2.8rem);line-height:1.16;margin:0 0 72px}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.service-card{position:relative;min-width:0;border-radius:19px;padding:126px 24px 24px;isolation:isolate;box-shadow:0 8px 22px #765c2005}
.hourly-card{background:var(--service-sage)}.workshop-card{background:var(--service-peach)}.story-card{background:var(--service-cream)}
.service-art{position:absolute;width:86%;height:192px;object-fit:contain;top:-62px;left:7%;pointer-events:none;filter:drop-shadow(0 5px 4px #46332212)}
.service-copy{position:relative;padding-right:36px;min-width:0}
.service-card h3{font-size:clamp(1.4rem,1.85vw,1.8rem);line-height:1.13;letter-spacing:-.02em;overflow-wrap:break-word}
.service-card p{font-size:.97rem;line-height:1.52;margin:8px 0 0;color:var(--ink)}
.lego-badge{display:inline-flex;align-items:center;gap:6px;font-size:1rem;font-weight:700;line-height:1.25;letter-spacing:.015em;background:#a13e18;border:1px solid #823011;color:#fff9ed;border-radius:7px;padding:6px 11px;margin:7px 0 1px;box-shadow:0 2px 0 #b6622620}
.card-arrow{position:absolute;right:16px;bottom:21px;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#fff9eb;color:#27533e;text-decoration:none;font-size:1.7rem;line-height:1;transition:transform .2s,box-shadow .2s}
.workshop-card .card-arrow,.story-card .card-arrow{color:#ab481c}.card-arrow:hover{transform:translateX(3px);box-shadow:0 3px 12px #56301820}
.service-card:focus-within{outline:2px solid var(--accent);outline-offset:4px}
.booking-journey{width:min(1280px,calc(100% - 64px));display:grid;grid-template-columns:minmax(0,2.5fr) minmax(250px,1fr);gap:30px;padding-block:20px 24px;align-items:end}
.journey-main{min-width:0}.journey-main>h2{font-size:1.9rem;line-height:1.2;margin:0 0 20px}
.journey-steps{list-style:none;counter-reset:steps;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:0;margin:0}
.journey-steps li{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:start;min-width:0}
.step-number{display:grid;place-items:center;border-radius:50%;width:52px;height:52px;background:var(--service-sage);font-family:"Roka Display",system-ui,sans-serif;font-size:2.1rem;line-height:1;color:var(--ink)}
.journey-steps li:nth-child(2) .step-number{background:var(--service-peach);color:var(--accent)}
.journey-steps h3{font-size:1.14rem;margin:2px 0 4px;line-height:1.2}.journey-steps p{font-size:.86rem;line-height:1.5;margin:0;color:var(--muted)}
.advance-note{position:relative;display:flex;align-items:start;gap:15px;background:var(--service-cream);border-radius:18px;padding:24px 20px}
.advance-note::before{content:"";position:absolute;left:-16px;top:15px;bottom:15px;border-left:1px solid #dbb99199}
.advance-note .line-icon{width:42px;height:42px}.advance-note h3{font-size:1.2rem;margin:0 0 7px;line-height:1.2}.advance-note p{font-size:.87rem;line-height:1.5;margin:0;color:var(--muted)}
.address-ribbon{text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 24px;font-size:.86rem}.address-ribbon a{text-decoration:none}.address-ribbon span{display:inline-block;margin-left:8px}.address-ribbon a:hover{text-decoration:underline}
.details-grid{padding-top:48px}.contact address{overflow-wrap:normal}.footer>.wrap{flex-wrap:wrap}.footer p{max-width:350px;font-size:.83rem}
#menu-dialog nav{display:grid;gap:6px;margin-top:20px}#menu-dialog nav a{padding:13px 6px;font-weight:700;text-decoration:none;min-height:48px}#menu-dialog nav .button{margin-top:10px;padding:12px 20px}
[data-theme=accessible] .service-card{background:#fff;border:2px solid var(--ink);padding-top:24px}
[data-theme=accessible] .service-art,[data-theme=accessible] .trust::before,[data-theme=accessible] .trust::after{display:none}
[data-theme=accessible] .illustrated-services>h2{margin-bottom:24px}
[data-theme=accessible] .card-arrow,[data-theme=accessible] .step-number,[data-theme=accessible] .advance-note,[data-theme=accessible] .lego-badge{background:#fff;color:var(--ink);border:2px solid var(--ink)}
@media(min-width:761px) and (max-width:1100px){
  .illustrated-services,.booking-journey{width:calc(100% - 48px)}
  .service-grid{gap:16px}.service-card{padding:104px 18px 22px}.service-art{height:165px;top:-60px;width:94%;left:3%}.service-copy{padding-right:28px}.service-card p{font-size:.88rem}.card-arrow{width:42px;height:42px;right:10px;bottom:17px}
  .booking-journey{grid-template-columns:1fr;gap:18px}.advance-note{align-items:center;padding:17px 20px}.advance-note::before{display:none}.advance-note>div{display:flex;gap:20px;align-items:center}.advance-note h3{margin:0;white-space:nowrap}
  .trust::before,.trust::after{width:66px}.trust>span{gap:12px;font-size:.9rem}
}
@media(max-width:760px){
  .header{min-height:70px}.header .brand{font-size:1.65rem}.header-tools{gap:7px}.menu-open{display:inline-flex;align-items:center;justify-content:center}.sun-icon{width:29px;height:29px}
  .trust{padding:8px 25px 14px}.trust>span{justify-content:center;gap:15px;font-size:.94rem;min-height:41px;padding:6px 0}.trust>span+span{border:0}.trust .line-icon{width:30px;height:30px}.trust::before,.trust::after{width:72px;height:110px;top:8px}.trust::before{left:-8px}.trust::after{right:-8px}
  .illustrated-services{width:calc(100% - 32px);padding-top:22px}.illustrated-services>h2{font-size:1.95rem;line-height:1.12;max-width:320px;margin:0 auto 22px}.illustrated-services>h2 span{display:block}
  .service-grid{grid-template-columns:1fr;gap:18px}.service-card{display:grid;grid-template-columns:130px minmax(0,1fr);align-items:center;min-height:170px;padding:18px 16px 18px 8px;border-radius:18px}
  .service-art{position:relative;top:auto;left:-18px;width:151px;max-width:none;height:143px;object-fit:contain}.service-copy{padding:0 12px 0 3px}.service-card h3{font-size:1.27rem;line-height:1.14;letter-spacing:-.02em}.service-card p{font-size:.9rem;line-height:1.45;margin-top:7px;padding-right:10px}.service-card .lego-badge{font-size:.88rem;padding:5px 8px}
  .card-arrow{position:absolute;right:9px;bottom:9px;width:40px;height:40px;min-height:44px;min-width:44px;font-size:1.45rem}.service-copy{padding-bottom:25px}
  .booking-journey{width:calc(100% - 40px);grid-template-columns:1fr;gap:22px;padding-block:24px}.journey-main>h2{font-size:1.75rem;line-height:1.15;margin-bottom:22px}.journey-steps{grid-template-columns:1fr;gap:20px}.journey-steps li{grid-template-columns:50px 1fr;gap:15px}.step-number{width:50px;height:50px;font-size:2rem}.journey-steps h3{font-size:1.25rem}.journey-steps p{font-size:.95rem;line-height:1.5}
  .advance-note{gap:16px;padding:22px}.advance-note::before{display:none}.advance-note p{font-size:.95rem}.address-ribbon{width:calc(100% - 32px);padding:18px 4px;line-height:1.7}.address-ribbon span{display:block;margin:3px 0 0}
  .mobile-book{padding:9px 16px calc(9px + env(safe-area-inset-bottom));display:block;background:var(--bg)}.mobile-book .button{width:100%;font-size:1rem;min-height:50px}.mobile-book .button>span{display:inline;max-width:none;font-size:1.5rem;font-weight:500}
  .footer p{display:block;width:100%;margin:0}.contact address strong{display:block;line-height:1.5}.contact address strong+br{display:none}
  [data-theme=accessible] .service-card{grid-template-columns:1fr;padding:22px}.service-card:focus-within{outline-offset:3px}
}
@media(max-width:359px){.header .brand{font-size:1.35rem}.header-tools{gap:1px}.header .brand img{width:32px;height:32px}.service-card{grid-template-columns:99px minmax(0,1fr);padding-right:12px}.service-art{width:115px;height:125px;left:-7px}.service-card h3{font-size:1.18rem}.service-card p{font-size:.86rem;padding-right:0}.service-copy{padding-bottom:29px}.illustrated-services>h2{font-size:1.8rem}}
