*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:112px;color-scheme:light}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:var(--text-body);line-height:var(--leading-body)}
[hidden]{display:none!important}
img{display:block;max-width:100%;height:auto}
figure,p,h1,h2,h3,h4{margin:0}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button,a{touch-action:manipulation}
a{color:inherit;text-decoration:none}
button{cursor:pointer}
button:disabled{cursor:default}
:focus-visible{outline:3px solid var(--focus);outline-offset:5px}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);color:var(--accent);text-wrap:balance}
h1{font-size:clamp(2.7rem,4.7vw,4.35rem);line-height:1.08}
h2{font-size:clamp(2.25rem,4.2vw,3.6rem)}
h3{font-size:clamp(1.7rem,3.2vw,2.65rem)}
em{font-weight:400;color:var(--bamberi-deep-olive)}
.wrap{width:min(calc(100% - 96px),var(--layout-max));margin-inline:auto}
.section-space{padding-block:var(--space-10)}
.skip-link{position:fixed;z-index:100;left:16px;top:-100px;padding:12px 20px;background:var(--accent);color:var(--on-accent)}
.skip-link:focus{top:12px}
.site-header{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--border)}
.header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-7)}
.brand{display:block;padding-inline:26px;flex:none}
.brand img{width:104px;height:auto}
.header-inner .brand{margin-left:-26px}
.site-nav{display:flex;align-items:center;gap:var(--space-6);font-size:var(--text-small)}
.site-nav>a{padding-block:12px;white-space:nowrap}
.site-nav>a:hover,.footer-links a:hover{color:var(--bamberi-deep-olive)}
.site-nav .nav-cta{padding:10px 19px;border:1px solid var(--accent);border-radius:var(--radius-pill);color:var(--accent)}
.nav-cta span{margin-left:18px}
.menu-toggle{display:none;align-items:center;gap:12px;min-height:48px;border:0;background:transparent;color:var(--accent)}
.menu-lines{display:block;width:20px;height:9px;border-block:1.5px solid currentColor}
.hero{display:grid;grid-template-columns:1.08fr .92fr;gap:var(--space-8);align-items:center;padding-block:var(--space-8) var(--space-9)}
.hero-copy{padding-block:var(--space-5)}
.eyebrow{font-size:var(--text-caption);font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--bamberi-deep-olive);margin-bottom:var(--space-5)}
.hero h1{max-width:11.6ch}
.hero h1 em{display:block}
.hero-intro{font-size:var(--text-lead);max-width:43ch;margin-top:var(--space-6);color:var(--muted)}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-5);margin-top:var(--space-6)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:52px;padding:14px 24px;border:1px solid var(--accent);border-radius:var(--radius-pill);background:var(--accent);color:var(--on-accent);font-size:var(--text-small);font-weight:600;line-height:1.4;transition:background var(--duration-fast) var(--ease),transform var(--duration-fast) var(--ease)}
.button:hover{background:var(--fg);border-color:var(--fg)}
.button:active{transform:translateY(0)}
.button:disabled{opacity:.55;transform:none}
.text-link{display:inline-flex;align-items:center;gap:16px;min-height:44px;border:0;border-bottom:1px solid currentColor;border-radius:0;padding:5px 0;background:transparent;color:var(--accent);font-size:var(--text-small);font-weight:600;line-height:1.5}
.text-link:hover{color:var(--bamberi-deep-olive)}
.hero-visual{position:relative;width:100%;max-width:452px;justify-self:end;padding-top:var(--space-5)}
.hero-visual:before{content:"";position:absolute;background:var(--surface-soft);inset:0 -20px 38px 32px;border-radius:45% 45% 12px 12px;z-index:-1}
.hero-photo{border-radius:150px 16px 16px 16px;overflow:hidden}
.hero-photo img{width:100%;aspect-ratio:452/513;object-fit:cover}
.hero-visual figcaption{font-family:var(--font-display);font-size:var(--text-lead);font-style:italic;color:var(--muted);margin-top:var(--space-4);text-align:right}
.introduction{text-align:center;padding:var(--space-9) 0 var(--space-10);border-top:1px solid var(--border)}
.seed-mark{height:32px;width:21px;background:var(--bamberi-olive);border-radius:70% 20% 65% 30%;transform:rotate(25deg);margin:0 auto var(--space-5)}
.introduction h2{font-size:clamp(2.3rem,4.5vw,3.8rem)}
.introduction p{max-width:60ch;margin:var(--space-6) auto 0;color:var(--muted);font-size:var(--text-lead)}
.everyday-scenes{display:grid;grid-template-columns:minmax(0,220px) minmax(0,286px) minmax(0,220px);align-items:center;justify-content:center;gap:clamp(16px,3vw,32px);max-width:790px;margin:var(--space-8) auto 0;text-align:left}
.everyday-scenes figure{min-width:0}
.everyday-scenes img{width:100%;height:auto;border-radius:16px}
.everyday-scenes figcaption{margin-top:12px;font-family:var(--font-display);font-size:var(--text-small);color:var(--muted);line-height:1.5}
.scene-explore{padding-top:32px}
.experiences{background:var(--surface)}
.section-heading{margin-bottom:var(--space-7)}
.section-heading>p:last-child{font-size:var(--text-lead);color:var(--muted);max-width:55ch;margin-top:var(--space-5)}
.experience-tabs{display:flex;gap:var(--space-6);border-bottom:1px solid var(--border);margin:var(--space-7) 0 var(--space-7)}
.experience-tabs button{border:0;border-bottom:3px solid transparent;background:transparent;padding:16px 2px;color:var(--muted);font-size:var(--text-small);font-weight:600;white-space:nowrap;min-height:52px}
.experience-tabs button[aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent)}
.experience-tabs button:hover{color:var(--accent)}
.experience-panel{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-9);align-items:center;padding-block:var(--space-4)}
.experience-panel+article{margin-top:var(--space-8)}
.has-js .experience-panel+article{margin-top:0}
.experience-panel figure{width:100%;max-width:452px}
.experience-panel figure img{width:100%;border-radius:var(--radius-card);aspect-ratio:452/521;object-fit:cover}
.experience-panel .landscape-photo{background:var(--surface-soft);border-radius:var(--radius-card);aspect-ratio:452/521;display:grid;align-items:center;padding:24px}
.experience-panel .landscape-photo img{aspect-ratio:399/308;object-fit:contain;border-radius:8px}
.experience-copy>p{color:var(--muted);margin-block:var(--space-5);max-width:43ch}
.experience-copy dl{margin-block:var(--space-6)}
.experience-copy dl>div{padding-left:20px;border-left:2px solid var(--bamberi-olive);margin-top:var(--space-5)}
.experience-copy dt{font-size:var(--text-caption);font-weight:700;color:var(--bamberi-deep-olive)}
.experience-copy dd{margin:5px 0 0;max-width:37ch}
.stage-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}
.stage{position:relative;overflow:hidden;border-radius:var(--radius-card);padding:var(--space-7);display:flex;flex-direction:column;align-items:flex-start;min-height:400px}
.stage-community{background:var(--surface-soft)}
.stage-casa{background:var(--surface)}
.stage-age{font-weight:600;color:var(--bamberi-deep-olive);font-size:var(--text-small);margin-bottom:var(--space-4)}
.stage h3{font-size:clamp(2rem,3.6vw,3.25rem)}
.stage>p:not(.stage-age){max-width:35ch;margin-block:var(--space-5) var(--space-6)}
.stage .text-link{margin-top:auto;position:relative}
.stage-shape{position:absolute;right:24px;top:42px;width:55px;height:75px;border:1px solid var(--bamberi-olive);border-radius:50% 50% 0 0}
.stage-casa .stage-shape{width:66px;height:66px;border-radius:50%;border-color:var(--bamberi-clay)}
.stage-note{color:var(--muted);font-size:var(--text-caption);margin-top:var(--space-4)}
.family-section{padding-block:var(--space-9);background:var(--surface-soft)}
.family-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--space-8);align-items:center}
.family-copy h2{font-size:clamp(2.1rem,3.6vw,3.15rem)}
.family-copy>p{margin-block:var(--space-6);max-width:46ch;color:var(--muted)}
.reading-photo{max-width:399px;justify-self:end}
.reading-photo img{border-radius:var(--radius-card);width:100%}
.reading-photo figcaption{font-family:var(--font-display);font-style:italic;color:var(--muted);margin-top:var(--space-4)}
.faq-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--space-8);align-items:start}
.faq-section .section-heading h2{font-size:clamp(2.1rem,3.4vw,3rem)}
.faq-section .section-heading>p{font-size:var(--text-lead);color:var(--muted);max-width:55ch;margin-top:var(--space-5)}
.faq-photo{max-width:184px;margin-top:var(--space-7)}
.faq-photo img{width:100%;height:auto;border-radius:var(--radius-card)}
.faq-photo figcaption{margin-top:12px;font-family:var(--font-display);font-style:italic;color:var(--muted);font-size:var(--text-small);line-height:1.5}
.faq-list{border-top:1px solid var(--border)}
.faq-list details{border-bottom:1px solid var(--border)}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:24px;list-style:none;cursor:pointer;padding:24px 0;font-size:var(--text-lead);font-weight:600;color:var(--accent);line-height:1.5}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary>span{font-weight:400;font-size:26px;flex:none;transition:transform var(--duration-fast)}
.faq-list details[open] summary>span{transform:rotate(45deg)}
.faq-answer{padding-bottom:var(--space-5);color:var(--muted);max-width:55ch}
.faq-answer a{margin-top:var(--space-4)}
.visit-section{background:var(--surface);padding-block:var(--space-10)}
.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);align-items:start}
.visit-copy{position:sticky;top:150px}
.visit-copy>p:not(.eyebrow){max-width:38ch;margin-top:var(--space-6);color:var(--muted)}
.visit-whatsapp{margin-top:var(--space-6)}
.contact-number{display:block;max-width:max-content;padding-block:12px;font-size:var(--text-lead);color:var(--accent)}
.contact-number:hover{text-decoration:underline}
.visit-copy p.contact-help{font-size:var(--text-small);margin-top:var(--space-4)}
.questions-whatsapp{width:100%;margin-bottom:var(--space-4);font-size:var(--text-small)}
.visit-planner{border-radius:var(--radius-card);background:var(--bg);padding:var(--space-7)}
.visit-planner h3{font-size:1.85rem}
.planner-intro{color:var(--muted);margin-block:var(--space-4) var(--space-6);font-size:var(--text-small)}
.visit-planner label:not(.check-option),.visit-planner legend{font-size:var(--text-small);font-weight:600;display:block;color:var(--accent)}
select,textarea{width:100%;background:var(--bg);border:1px solid var(--muted);border-radius:var(--radius-control);padding:12px;color:var(--fg);min-height:var(--control-height)}
select{margin:10px 0 24px}
fieldset{border:0;margin:0 0 var(--space-6);padding:0;min-width:0}
legend{padding:0;margin-bottom:var(--space-3)}
.check-option{display:flex;align-items:flex-start;gap:12px;min-height:48px;padding-block:10px;font-size:var(--text-small);cursor:pointer}
.check-option input{width:19px;height:19px;flex:none;accent-color:var(--accent);margin:3px 0 0}
.planner-submit{width:100%}
.form-note{font-size:var(--text-caption);color:var(--muted);margin-top:var(--space-4)}
.visit-result{margin-top:var(--space-7);border-top:1px solid var(--border);padding-top:var(--space-6);scroll-margin-top:120px}
.visit-result h4{font-size:1.5rem}
#visit-context{font-size:var(--text-small);color:var(--muted);margin-top:var(--space-4)}
.visit-result ol{padding-left:24px;margin-block:var(--space-5)}
.visit-result li{padding-left:5px;margin-block:12px;font-size:var(--text-small)}
.copy-status{font-size:var(--text-caption);color:var(--success);min-height:24px;margin-top:10px}
.visit-result textarea{font-size:var(--text-small);margin-top:16px}
.site-footer{padding-top:var(--space-8);display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-6);align-items:center}
.site-footer>.brand{margin-left:-26px}
.site-footer>p{font-family:var(--font-display);color:var(--muted);font-size:var(--text-lead)}
.footer-links{display:flex;flex-wrap:wrap;gap:var(--space-5);font-size:var(--text-small)}
.footer-links a{display:inline-flex;align-items:center;min-height:44px}


@media(min-width:1440px){.hero{padding-block:80px 112px}.hero h1{font-size:4.75rem}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.site-nav{gap:24px}.hero{gap:40px}.hero-actions{align-items:flex-start;flex-direction:column;gap:12px}.experience-panel{gap:48px}.stage{padding:32px}.stage-shape{right:20px;width:40px;height:55px;top:60px}.stage-casa .stage-shape{width:46px;height:46px}.visit-planner{padding:32px}.footer-links{gap:20px}}
@media(max-width:820px){html{scroll-padding-top:100px}.wrap{width:calc(100% - 40px)}.header-inner{min-height:80px;flex-wrap:wrap;gap:0}.brand img{width:100px}.menu-toggle{display:flex}.site-nav{width:100%;padding-block:12px 24px;flex-direction:column;align-items:stretch;gap:4px}.site-nav a{min-height:48px}.site-nav .nav-cta{text-align:center;margin-top:10px}.has-js #site-nav:not(.is-open){display:none}.hero{grid-template-columns:1fr 1fr;gap:28px;padding-block:40px 64px}.hero h1{font-size:clamp(2.5rem,5vw,3.6rem)}.hero-intro{font-size:var(--text-body)}.eyebrow{font-size:.75rem;letter-spacing:.09em}.hero-photo{border-top-left-radius:100px}.hero-visual:before{right:-8px}.hero-visual figcaption{font-size:var(--text-small)}.section-space{padding-block:80px}.introduction{padding-block:64px 80px}.experience-panel{gap:32px}.experience-copy h3{font-size:2rem}.experience-tabs{gap:24px;overflow-x:auto;padding:5px;scrollbar-width:thin;scroll-snap-type:x proximity;margin-left:-5px;margin-right:-5px}.experience-tabs button{scroll-snap-align:start}.stage{padding:28px}.stage-shape{display:none}.family-grid{grid-template-columns:1fr 1fr;gap:32px}.faq-section{grid-template-columns:1fr;gap:16px}.faq-list{max-width:100%}.visit-grid{gap:32px}.visit-copy h2{font-size:2.5rem}.visit-planner{padding:24px}.visit-section{padding-block:80px}.site-footer{grid-template-columns:auto 1fr}.footer-links{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:639px){.hero{grid-template-columns:1fr;gap:32px;padding-block:32px 56px}.hero-copy{padding:0}.hero h1{max-width:12.2ch;font-size:clamp(2.7rem,9.8vw,3.55rem)}.hero .eyebrow{margin-bottom:20px}.hero-intro{margin-top:24px;max-width:40ch}.hero-actions{margin-top:24px;gap:12px}.hero-actions .button{width:100%;max-width:360px}.hero-actions .text-link{align-self:flex-start}.hero-visual{width:calc(100% - 12px);max-width:420px;justify-self:start;padding-top:16px}.hero-photo{border-radius:120px 16px 16px 16px}.hero-visual:before{inset:0 -12px 36px 24px}.hero-visual figcaption{text-align:left;margin-top:16px}.introduction{padding-block:56px 64px}.introduction p{font-size:var(--text-body);max-width:34ch}.section-space{padding-block:64px}.section-heading{margin-bottom:32px}.section-heading>p:last-child{font-size:var(--text-body)}.experience-tabs{gap:24px;margin-block:24px}.experience-panel{grid-template-columns:1fr;gap:28px;padding-block:0}.experience-panel figure{max-width:400px;justify-self:center}.experience-panel figure img{max-height:none}.experience-copy h3{font-size:2rem}.experience-copy>p{max-width:38ch}.experience-copy dl{margin-block:24px}.experience-panel .landscape-photo{padding:16px}.stage-grid{grid-template-columns:1fr;gap:20px}.stage{min-height:0;padding:32px}.stage h3{font-size:2.5rem}.stage-shape{display:block;top:84px;right:24px}.stage>p:not(.stage-age){max-width:32ch}.stage-note{margin-top:20px}.family-section{padding-block:64px}.family-grid{grid-template-columns:1fr;gap:32px}.family-copy h2{font-size:2.3rem}.reading-photo{justify-self:start;width:100%;max-width:399px}.faq-list summary{font-size:1rem;padding-block:22px;gap:20px}.faq-answer{font-size:var(--text-small)}.faq-section{gap:8px}.visit-section{padding-block:64px}.visit-grid{grid-template-columns:1fr;gap:36px}.visit-copy{position:static}.visit-copy h2{font-size:2.75rem}.visit-copy>p:not(.eyebrow){max-width:37ch}.visit-planner{padding:28px 22px}.visit-planner h3{font-size:1.75rem}.site-footer{gap:20px;padding-top:40px;grid-template-columns:auto 1fr}.site-footer>p{font-size:var(--text-small)}.footer-links{flex-wrap:wrap;gap:12px 24px}}
@media(max-width:820px){
  .faq-photo{display:flex;align-items:center;gap:20px;max-width:360px;margin-top:24px}
  .faq-photo img{width:128px;max-width:40%;flex:none}
  .faq-photo figcaption{margin-top:0;max-width:17ch}
}
@media(max-width:639px){
  .everyday-scenes{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px;max-width:420px;margin-top:32px}
  .scene-care{grid-column:1;grid-row:1}
  .scene-share{grid-column:2;grid-row:1}
  .scene-explore{grid-column:1/-1;grid-row:2;width:100%;max-width:260px;justify-self:center;padding-top:0}
  .everyday-scenes figcaption{font-size:var(--text-caption);line-height:1.45;margin-top:10px}
  .faq-section .section-heading>p{font-size:var(--text-body)}
}
.everyday-scenes,.faq-photo{break-inside:avoid}
@keyframes bamberi-enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes bamberi-panel-in{from{opacity:.35;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){
  .motion-enter{animation:bamberi-enter 560ms var(--ease)}
  .experience-tabs button{transition:color 180ms var(--ease),border-color 180ms var(--ease)}
  .has-js .experience-panel:not([hidden]){animation:bamberi-panel-in 280ms var(--ease)}
  .faq-list details[open] .faq-answer{animation:bamberi-panel-in 240ms var(--ease)}
  .motion-enter:focus-within,.experience-panel:focus-within,.faq-answer:focus-within{animation:none!important}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .button:not(:disabled):hover{transform:translateY(-2px)}
  .button:not(:disabled):active{transform:none}
  :is(.button,.text-link,.nav-cta)>span[aria-hidden=true]{display:inline-block;transition:transform 200ms var(--ease)}
  :is(.button,.text-link,.nav-cta):not(:disabled):hover>span[aria-hidden=true]{transform:translateX(3px)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.button:hover{transform:none}.motion-enter{opacity:1!important;transform:none!important}}
@media print{*,*:before,*:after{animation:none!important;transition:none!important}.motion-enter{opacity:1!important;transform:none!important}.site-header,.hero-actions,.experience-tabs,.visit-planner,.skip-link{display:none!important}.wrap{width:100%}.section-space,.family-section,.visit-section{padding-block:24px}.hero{padding:24px 0}.site-footer{padding-top:24px}.experience-panel[hidden]{display:grid!important}.experience-panel{break-inside:avoid}.visit-copy{position:static}body{font-size:11pt}}
