@charset "UTF-8";
:root{--bg:#fbf8f0;--paper:#fffdf8;--ink:#4f4037;--muted:#756860;--main:#7e9d72;--main-soft:#e3eddc;--accent:#d88978;--accent-soft:#f4ddd5;--line:#ded7cc;--max:1100px;--shadow:0 12px 30px rgba(86,67,55,.07)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Zen Maru Gothic",system-ui,-apple-system,"Yu Gothic",Meiryo,sans-serif;font-weight:400;line-height:1.78;letter-spacing:.035em}body.menu-open{overflow:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid #9d6c5d;outline-offset:4px}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,253,248,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(126,157,114,.12)}.header-inner{max-width:1180px;margin:auto;min-height:82px;padding:12px 24px;display:flex;align-items:center;gap:26px}.brand{display:flex;align-items:center;text-decoration:none;min-width:250px}.brand img{width:30px;height:48px;object-fit:contain;object-position:center}.brand span{display:flex;flex-direction:column}.brand strong{font-size:20px;letter-spacing:.14em;font-weight:700}.brand small,.footer-brand small{font-size:10px;color:#81756d;letter-spacing:.08em}.global-nav{margin-left:auto;display:flex;gap:22px;font-size:12px;white-space:nowrap}.global-nav a,.mobile-nav a,.site-footer nav a{text-decoration:none}.global-nav a:hover,.site-footer nav a:hover{color:var(--main)}.header-cta{padding:10px 19px;background:var(--accent);color:white;border-radius:999px;text-decoration:none;font-size:12px;font-weight:700;white-space:nowrap}.menu-toggle,.mobile-nav{display:none}
main{overflow:hidden}.hero{position:relative;max-width:1200px;min-height:640px;margin:0 auto;padding:90px 30px 115px;display:grid;grid-template-columns:44% 56%;align-items:center}.hero-copy{position:relative;z-index:4;padding-left:30px}.eyebrow{color:var(--main);font-size:13px;letter-spacing:.2em;margin:0 0 24px}.hero h1{font-family:"Klee One","Zen Maru Gothic",sans-serif;font-size:47px;line-height:1.38;font-weight:600;letter-spacing:.06em;margin:0 0 24px}.hero-copy>p:not(.eyebrow){font-size:16px;color:#685b53;margin-bottom:30px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:10px 24px;border:1px solid var(--main);border-radius:999px;background:transparent;color:var(--ink);text-decoration:none;font-size:13px;font-weight:700;transition:.25s ease-out}.btn:hover{background:var(--main-soft);transform:translateY(-1px);box-shadow:0 8px 18px rgba(86,67,55,.08)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:#cf7969}.hero-photo{position:relative;z-index:2;margin-left:-15px}.photo-bleed{position:relative;overflow:visible}.photo-bleed img{width:100%;object-fit:cover}.hero-photo img{aspect-ratio:1.42;object-position:60% 32%;-webkit-mask-image:radial-gradient(ellipse at 50% 48%,#000 57%,rgba(0,0,0,.88) 70%,transparent 100%);mask-image:radial-gradient(ellipse at 50% 48%,#000 57%,rgba(0,0,0,.88) 70%,transparent 100%)}.deco{position:absolute;pointer-events:none;z-index:1}.d-ring-hero{left:-75px;top:0;width:270px;opacity:.45}.d-leaf-hero{right:-5px;top:35px;width:150px;opacity:.7}.d-wash-hero{right:115px;bottom:15px;width:190px;opacity:.5}.hand-note{display:flex;align-items:center;gap:12px;margin-top:24px;font-family:"Klee One",sans-serif;font-size:13px}.hand-note img{width:65px;height:58px;object-fit:contain}
.section{position:relative;max-width:var(--max);margin:0 auto;padding:125px 28px}.section:after{content:"";position:absolute;left:10%;right:10%;bottom:-1px;height:1px;background:transparent}.split-section{display:grid;grid-template-columns:1fr 1fr;gap:88px;align-items:center;min-height:600px}.split-section.reverse .content{order:2}.split-section.reverse .visual{order:1}.section-title{display:flex;align-items:center;gap:12px;margin-bottom:34px}.section-title>img{width:42px;height:66px;object-fit:contain}.section h2{font-size:34px;line-height:1.35;margin:0;font-weight:700;letter-spacing:.1em}.content p{font-size:16px;margin:0 0 20px;color:#5d5048}.visual{position:relative}.visual .photo-bleed{max-width:610px;margin:auto}.visual img:not(.deco){aspect-ratio:1.66;object-fit:cover;-webkit-mask-image:radial-gradient(ellipse at 50% 50%,#000 58%,rgba(0,0,0,.88) 72%,transparent 100%);mask-image:radial-gradient(ellipse at 50% 50%,#000 58%,rgba(0,0,0,.88) 72%,transparent 100%)}.visual-wash{right:-20px;bottom:-35px;width:160px;opacity:.45}.greeting-leaf{right:-30px;top:30%;width:90px;opacity:.75}
.lead{margin:0 0 38px 56px;font-size:16px}.cards{display:grid;gap:28px}.cards.three{grid-template-columns:repeat(3,1fr)}.service-card{background:transparent}.service-card img{width:100%;aspect-ratio:1.04;object-fit:cover;border-radius:16px;margin-bottom:22px}.service-card h3{font-size:19px;margin:0 0 10px;font-weight:700}.service-card p{font-size:14px;margin:0;color:var(--muted)}
.price-section{display:grid;grid-template-columns:32% 68%;align-items:center;gap:30px}.price-intro p{font-size:15px;margin:0 0 24px}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.price-grid article{background:rgba(255,255,255,.8);border:1px solid rgba(222,215,204,.7);border-radius:18px;padding:30px 18px;text-align:center;box-shadow:var(--shadow)}.price-grid article>img{width:45px;height:50px;object-fit:contain;margin:0 auto 10px}.price-grid h3{font-size:15px;margin:0 0 7px}.price-grid strong{display:block;font-size:17px}.price-grid span{font-size:12px;color:var(--muted)}.note{grid-column:2;text-align:right;font-size:11px;color:#8b7f76;margin:12px 8px 0}
.contact-section{padding-top:150px;padding-bottom:170px}.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.contact-copy{padding-left:55px}.contact-copy p{font-size:15px;margin:0 0 18px}.contact-action{text-align:center;padding:55px 25px}.contact-action>p{font-size:14px;margin:0 0 18px}.btn.big{min-width:min(440px,100%);min-height:60px;font-size:15px}.contact-action small{display:block;margin-top:13px;font-size:11px;color:#8a7e76}.contact-branch{right:-5px;top:110px;width:190px;opacity:.65}.contact-wash{right:110px;bottom:55px;width:160px;opacity:.45}
.access-branch{right:-40px;bottom:-90px;width:240px;opacity:.7}.site-footer{background:#fffdf8;border-top:1px solid #eee8df}.footer-inner{max-width:1100px;margin:auto;padding:48px 28px 35px;display:grid;grid-template-columns:1fr 2fr auto;align-items:center;gap:30px}.footer-brand{display:flex;align-items:center;gap:10px}.footer-brand img{width:32px;height:50px;object-fit:contain}.footer-brand strong{display:block;font-size:16px}.site-footer nav{display:flex;gap:18px;justify-content:center;font-size:11px}.site-footer p{font-size:10px;color:#8c8179;margin:0;white-space:nowrap}
.reveal{opacity:0;transform:translateY(12px);transition:opacity .7s ease-out,transform .7s ease-out}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:900px){.header-inner{padding:10px 18px}.global-nav,.header-cta{display:none}.brand{min-width:0}.menu-toggle{display:block;margin-left:auto;border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:9px 14px;font:inherit;font-size:12px;min-width:44px;min-height:44px}.mobile-nav{display:flex;position:fixed;inset:82px 0 auto;background:rgba(255,253,248,.98);padding:18px;flex-direction:column;gap:4px;border-bottom:1px solid var(--line);box-shadow:0 15px 30px rgba(60,40,30,.08)}.mobile-nav a{padding:13px 10px;border-bottom:1px solid #eee8df}.hero{grid-template-columns:1fr;min-height:auto;padding:70px 18px 80px}.hero-copy{padding:0 10px}.hero h1{font-size:clamp(34px,9vw,46px)}.hero-photo{margin:50px 0 0}.hero-photo img{aspect-ratio:1.25}.section{padding:78px 18px}.split-section,.price-section,.contact-inner{grid-template-columns:1fr;gap:40px;min-height:auto}.split-section.reverse .content,.split-section.reverse .visual{order:initial}.section-title{margin-bottom:26px}.section h2{font-size:clamp(28px,7vw,34px)}.lead{margin:0 0 30px}.cards.three{grid-template-columns:1fr;gap:42px}.service-card img{margin-bottom:18px}.price-grid{grid-template-columns:1fr;gap:14px}.note{grid-column:auto;text-align:left}.contact-section{padding-top:90px;padding-bottom:110px}.contact-copy{padding-left:0}.contact-action{padding:20px 0 30px}.btn.big{min-width:0;width:100%;max-width:360px}.footer-inner{grid-template-columns:1fr;gap:20px;padding:36px 18px 30px}.site-footer nav{justify-content:flex-start;flex-wrap:wrap;gap:12px 18px}.site-footer p{white-space:normal}.d-ring-hero{left:-100px;width:220px}.d-leaf-hero{right:-45px;width:120px}.contact-branch{right:-50px;width:145px;opacity:.45}.access-branch{right:-60px;width:190px}.greeting-leaf{right:-15px;width:70px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.btn{transition:none}}

.about-wash{left:-35px;top:25%;width:150px;opacity:.38}.about-ring{right:-45px;bottom:2%;width:190px;opacity:.38}.greeting-wash{left:-45px;bottom:10%;width:150px;opacity:.32}.greeting-ring{right:-25px;top:10%;width:160px;opacity:.32}.support-wash{left:-35px;bottom:10%;width:145px;opacity:.32}.price-wash{right:-35px;top:8%;width:135px;opacity:.3}.access-wash{left:-35px;top:20%;width:130px;opacity:.3}.contact-ring{right:-25px;bottom:5%;width:160px;opacity:.32}
.contact-action .btn.big img{width:28px;height:24px;object-fit:contain;flex:0 0 auto}
@media(max-width:900px){.about-wash,.about-ring,.greeting-wash,.greeting-ring,.support-wash,.price-wash,.access-wash,.contact-ring{opacity:.18;transform:scale(.8)}}

/* 2026-09-15: supplied LP design alignment */
.hero{min-height:660px;padding:0 30px;grid-template-columns:42% 58%}
.hero-copy{transform:translateY(-8px)}
.hero h1{font-size:clamp(38px,3.35vw,46px);letter-spacing:.045em}
.hero-copy>p{font-size:15px;margin-bottom:26px}
.hero-photo{margin-left:-180px;margin-right:-63px}
.hero-photo img{aspect-ratio:1.42;object-position:58% 35%;-webkit-mask-image:radial-gradient(ellipse 102% 96% at 60% 43%,#000 58%,rgba(0,0,0,.96) 66%,rgba(0,0,0,.74) 72%,rgba(0,0,0,.32) 78%,transparent 84%);mask-image:radial-gradient(ellipse 102% 96% at 60% 43%,#000 58%,rgba(0,0,0,.96) 66%,rgba(0,0,0,.74) 72%,rgba(0,0,0,.32) 78%,transparent 84%)}
.visual img:not(.deco){-webkit-mask-image:radial-gradient(ellipse 98% 92% at 50% 50%,#000 60%,rgba(0,0,0,.95) 68%,rgba(0,0,0,.7) 75%,rgba(0,0,0,.28) 81%,transparent 87%);mask-image:radial-gradient(ellipse 98% 92% at 50% 50%,#000 60%,rgba(0,0,0,.95) 68%,rgba(0,0,0,.7) 75%,rgba(0,0,0,.28) 81%,transparent 87%)}
.d-ring-hero{z-index:4;opacity:.72}
.d-leaf-hero{z-index:5;right:-18px;top:17px;width:165px;opacity:.78}
.d-leaf-hero-left{z-index:4;left:-108px;bottom:8px;width:190px;opacity:.78;transform:rotate(112deg) scaleX(-1)}
.hero:before,.hero:after{content:"";position:absolute;z-index:3;pointer-events:none;border-radius:50%;filter:blur(2px)}
.hero:before{right:225px;bottom:42px;width:62px;height:62px;background:rgba(244,210,198,.4);box-shadow:44px 22px 0 rgba(226,238,219,.48)}
.hero:after{right:-82px;bottom:-44px;width:250px;height:168px;background:rgba(225,239,226,.38);filter:blur(14px)}
.header-cta{display:inline-flex;align-items:center;gap:7px}
.header-cta img{width:16px;height:12px;object-fit:contain;filter:brightness(0) invert(1)}
.hero-note{position:absolute;z-index:6;right:12px;top:210px;display:grid;place-items:center;width:165px;height:158px;margin:0;padding:24px;background:radial-gradient(circle at 45% 42%,rgba(255,255,255,.95),rgba(255,251,245,.78) 66%,rgba(248,231,222,.45));border-radius:48% 52% 46% 54% / 53% 46% 54% 47%;font-family:"Klee One",sans-serif;font-size:13px;line-height:1.75;text-align:center;transform:rotate(-4deg);box-shadow:0 8px 30px rgba(86,67,55,.04)}
.hero-sign{position:absolute;z-index:4;right:72px;bottom:38px;margin:0;color:#8caf7c;font-family:"Klee One",cursive;font-size:15px;line-height:1.45;font-style:italic;transform:rotate(-8deg)}
.btn{min-height:46px;padding:9px 24px;border-color:var(--accent);background:var(--accent);color:#fff}
.btn:hover{background:#cf7969}
.hand-note{position:relative;width:300px;margin-top:22px;text-align:center}
.hand-note .hand-note-line{position:absolute;left:70px;bottom:-15px;width:205px;height:auto}
.section{padding:76px 28px}
.split-section{gap:70px;min-height:455px}
.split-section.reverse .content,.split-section.reverse .visual{order:initial}
.section-title{margin-bottom:24px}
.section-title>img{width:36px;height:58px}
.section h2{font-size:32px}
.content p{font-size:14px;margin-bottom:14px}
.visual-note{position:absolute;z-index:3;display:grid;place-items:center;width:150px;height:132px;padding:18px;background:rgba(251,232,211,.76);border-radius:50%;font-family:"Klee One",sans-serif;font-size:13px;line-height:1.75;text-align:center;transform:rotate(-6deg)}
.about-note{right:-52px;bottom:-25px}
.greeting-note{right:-55px;bottom:-38px;background:rgba(224,239,226,.78);transform:rotate(7deg)}
.access-note{right:-42px;top:-32px;background:rgba(220,235,224,.8);transform:rotate(-7deg)}
.lead{margin:0 0 28px 48px;font-size:14px}
.service-card img{aspect-ratio:1.42;border-radius:14px;margin-bottom:14px}
.service-card h3{font-size:17px;margin-bottom:7px;text-align:center}
.service-card p{font-size:13px;text-align:left}
.price-intro p{font-size:14px;margin-bottom:20px}
.price-grid article{padding:22px 16px}
.contact-section{padding-top:82px;padding-bottom:90px}
.footer-inner{grid-template-rows:auto auto;row-gap:8px}
.footer-brand,.site-footer nav{grid-row:1 / span 2}
.footer-social{grid-column:3;display:flex;justify-content:flex-end;gap:13px}
.footer-social a{display:block;width:20px;height:20px;color:var(--ink)}
.footer-social svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7}
.footer-social .fill{fill:currentColor;stroke:none}
.footer-social .paper{fill:var(--paper);stroke:none}
.site-footer p{grid-column:3;text-align:right}

@media(max-width:900px){
  .mobile-nav[hidden]{display:none}
  .header-cta,.d-leaf-hero{display:none}
  .hero{min-height:auto;padding:58px 18px 68px;grid-template-columns:1fr}
  .hero-copy{transform:none}
  .hero h1{font-size:clamp(32px,9vw,42px)}
  .hero-photo{margin:42px -22px 0}
  .hero-photo img{aspect-ratio:1.1;object-position:57% 34%}
  .d-leaf-hero-left{left:-74px;bottom:31%;width:140px;opacity:.58}
  .hero-note{right:14px;top:auto;bottom:38px;width:118px;height:118px;padding:15px;font-size:10px}
  .hero-sign{display:none}
  .section{padding:68px 20px}
  .split-section{gap:32px;min-height:auto}
  .split-section.reverse .content,.split-section.reverse .visual{order:initial}
  .visual-note{width:122px;height:108px;padding:12px;font-size:11px}
  .about-note,.greeting-note{right:-8px;bottom:-20px}
  .access-note{right:-7px;top:-18px}
  .lead{margin:0 0 28px}
  .service-card img{aspect-ratio:1.42}
  .contact-section{padding-top:72px;padding-bottom:82px}
  .footer-brand,.site-footer nav{grid-row:auto}
  .footer-social,.site-footer p{grid-column:auto;justify-content:flex-start;text-align:left}
}

/* 2026-09-15: fixed header and supplied logo */
html{scroll-padding-top:112px}
body{padding-top:112px}
.site-header{position:fixed;inset:0 0 auto;width:100%;background:#fffffe;backdrop-filter:none;border-bottom:1px solid rgba(126,157,114,.12);box-shadow:0 5px 20px rgba(86,67,55,.04)}
.header-inner{min-height:112px;padding-top:4px;padding-bottom:4px}
.brand{width:210px;min-width:210px}
.brand .brand-logo{width:210px;height:102px;object-fit:contain;object-position:left center}

@media(max-width:900px){
  html{scroll-padding-top:86px}
  body{padding-top:86px}
  .header-inner{min-height:86px;padding-top:4px;padding-bottom:4px}
  .brand{width:160px;min-width:0}
  .brand .brand-logo{width:160px;height:78px}
  .mobile-nav{inset:86px 0 auto}
}

/* 2026-09-15: persistent back-to-top button */
.page-top{position:fixed;right:24px;bottom:24px;z-index:45;display:flex;width:58px;height:58px;flex-direction:column;align-items:center;justify-content:center;gap:0;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:rgba(126,157,114,.92);color:#fff;text-decoration:none;box-shadow:0 8px 22px rgba(86,67,55,.18);transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease;backdrop-filter:blur(5px)}
.page-top:hover{background:#708e65;transform:translateY(-3px);box-shadow:0 11px 26px rgba(86,67,55,.23)}
.page-top svg{width:20px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.page-top span{font-size:9px;font-weight:700;line-height:1;letter-spacing:.08em}

@media(max-width:900px){
  .page-top{right:14px;bottom:14px;width:50px;height:50px}
  .page-top svg{width:18px;height:15px}
  .page-top span{font-size:8px}
}

/* 2026-09-15: supplied watercolor page background */
html{background:#fffaf7}
body{position:relative;isolation:isolate;background:transparent}
body::before,body::after{content:"";position:fixed;inset:0;pointer-events:none}
body::before{z-index:-2;background:#fdf1ec url("../assets/images/page-background-seamless-v2.jpg") center center / cover no-repeat}
body::after{z-index:-1;background:rgba(255,255,255,.56)}
.site-footer{background:rgba(255,255,254,.82);backdrop-filter:blur(3px)}

/* 2026-09-15: centered section headings */
.section-title{justify-content:center;margin-top:50px;margin-bottom:74px}

/* 2026-09-15: larger header content and tighter side spacing */
.header-inner{max-width:1380px;padding-left:12px;padding-right:12px;gap:clamp(14px,2vw,28px)}
.brand{width:230px;min-width:230px}
.brand .brand-logo{width:230px;height:104px}
.global-nav{gap:clamp(12px,1.5vw,22px);font-size:14px;font-weight:500}
.header-cta{padding:11px 21px;font-size:14px}

@media(max-width:900px){
  .header-inner{padding-left:10px;padding-right:10px}
  .brand{width:175px;min-width:0}
  .brand .brand-logo{width:175px;height:78px}
  .menu-toggle{font-size:13px}
}

/* 2026-09-15: wider footer content area */
@media(min-width:901px){
  .footer-inner{max-width:1640px;padding-left:16px;padding-right:16px;grid-template-columns:minmax(280px,1fr) auto minmax(280px,1fr);column-gap:24px}
  .site-footer nav{flex-wrap:nowrap;gap:clamp(12px,1.35vw,22px);white-space:nowrap}
}

/* 2026-09-15: center every section heading on the full section width */
.split-section,.price-section{row-gap:0}
.split-section>.section-title,.price-section>.section-title{grid-column:1 / -1;width:100%}

@media(max-width:900px){
  .split-section>.visual,.price-section>.price-grid{margin-top:32px}
}

/* 2026-09-15: transparent gradient at the bottom of the header */
.site-header{background:linear-gradient(to bottom,#fffffe 0%,#fffffe 68%,rgba(255,255,254,.96) 76%,rgba(255,255,254,.7) 88%,rgba(255,255,254,.18) 100%);border-bottom:0;box-shadow:none}

/* 2026-09-15: embedded watercolor-edge masks */
:root{--hero-watercolor-mask:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjAwIDc2MCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGRlZnM+CiAgICA8ZmlsdGVyIGlkPSJyb3VnaCIgeD0iLTglIiB5PSItOCUiIHdpZHRoPSIxMTYlIiBoZWlnaHQ9IjExNiUiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+CiAgICAgIDxmZVR1cmJ1bGVuY2UgdHlwZT0iZnJhY3RhbE5vaXNlIiBiYXNlRnJlcXVlbmN5PSIwLjAyMSAwLjA1MiIgbnVtT2N0YXZlcz0iMyIgc2VlZD0iMTkiIHJlc3VsdD0ibm9pc2UiLz4KICAgICAgPGZlRGlzcGxhY2VtZW50TWFwIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9Im5vaXNlIiBzY2FsZT0iMjciIHhDaGFubmVsU2VsZWN0b3I9IlIiIHlDaGFubmVsU2VsZWN0b3I9IkciIHJlc3VsdD0iZWRnZSIvPgogICAgICA8ZmVHYXVzc2lhbkJsdXIgaW49ImVkZ2UiIHN0ZERldmlhdGlvbj0iMS4xIi8+CiAgICA8L2ZpbHRlcj4KICA8L2RlZnM+CiAgPHBhdGggZmlsdGVyPSJ1cmwoI3JvdWdoKSIgZmlsbD0iI2ZmZiIgZD0iTTExOCAyNCBDMjMwIDMgMzM2IDkgNDQ4IC0xOCBMMTIwMCAtMTggTDEyMDAgNjg0IEMxMTUwIDcwMiAxMTAyIDY3NCAxMDQ1IDY5NiBDOTkwIDcxOCA5NDYgNjc3IDg4NCA3MDIgQzgyNiA3MjYgNzc4IDY4OSA3MTYgNzExIEM2NTYgNzMzIDYwMyA2OTAgNTQ0IDcxOCBDNDgyIDc0NiA0MzUgNjk0IDM3MSA3MTIgQzMxMiA3MjggMjcwIDY4MiAyMTggNjk5IEMxNjggNzE1IDE0MyA2NjkgMTA0IDY4NyBDNzIgNzAyIDc2IDY1MyA1NCA2MjUgQzI1IDU4OCA1NiA1NDIgMzggNDk5IEMxOCA0NTIgNTAgNDEyIDQyIDM2NiBDMzQgMzE2IDcwIDI4MSA1NyAyMzIgQzQ0IDE4MiA4MiAxNDggNzIgMTAyIEM2NSA2OSA4OCA0MyAxMTggMjQgWiIvPgo8L3N2Zz4K");--photo-watercolor-mask:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4MDAgNTAwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIj4KICA8ZGVmcz4KICAgIDxmaWx0ZXIgaWQ9InJvdWdoIiB4PSItOCUiIHk9Ii0xMCUiIHdpZHRoPSIxMTYlIiBoZWlnaHQ9IjEyMCUiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+CiAgICAgIDxmZVR1cmJ1bGVuY2UgdHlwZT0iZnJhY3RhbE5vaXNlIiBiYXNlRnJlcXVlbmN5PSIwLjAyNSAwLjA1MiIgbnVtT2N0YXZlcz0iMyIgc2VlZD0iMTEiIHJlc3VsdD0ibm9pc2UiLz4KICAgICAgPGZlRGlzcGxhY2VtZW50TWFwIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9Im5vaXNlIiBzY2FsZT0iMjQiIHhDaGFubmVsU2VsZWN0b3I9IlIiIHlDaGFubmVsU2VsZWN0b3I9IkciIHJlc3VsdD0iZWRnZSIvPgogICAgICA8ZmVHYXVzc2lhbkJsdXIgaW49ImVkZ2UiIHN0ZERldmlhdGlvbj0iMS4wNSIvPgogICAgPC9maWx0ZXI+CiAgPC9kZWZzPgogIDxwYXRoIGZpbHRlcj0idXJsKCNyb3VnaCkiIGZpbGw9IiNmZmYiIGQ9Ik04MiAzOCBDMTU0IDggMjE5IDI5IDI4NiAxNiBDMzY2IDEgNDM5IDIzIDUxNSAxMyBDNjAwIDIgNjc0IDI3IDczNiAyOSBDNzczIDMwIDc4OSA1NyA3ODAgOTEgQzc3MCAxMjkgNzg5IDE2OSA3NzkgMjExIEM3NjcgMjU2IDc4OSAyOTcgNzc4IDM0MCBDNzY3IDM4NSA3NzkgNDIzIDc1MCA0NTcgQzcyMSA0ODcgNjc5IDQ2OCA2MzYgNDgwIEM1NzkgNDk1IDUyNSA0NzAgNDY2IDQ4NCBDNDA4IDQ5NyAzNTEgNDcxIDI5NCA0ODMgQzIzNSA0OTUgMTg3IDQ2NSAxMzQgNDc3IEM4OSA0ODcgNTAgNDY1IDM0IDQzMSBDMTggMzk4IDM2IDM2MyAyNCAzMjYgQzEyIDI4NyAzMyAyNTAgMjMgMjExIEMxMiAxNzAgMzYgMTM5IDI4IDEwMiBDMjEgNzIgNDMgNTAgODIgMzggWiIvPgo8L3N2Zz4K")}
.hero-photo img{-webkit-mask-image:var(--hero-watercolor-mask);mask-image:var(--hero-watercolor-mask);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%}
.visual img:not(.deco){-webkit-mask-image:var(--photo-watercolor-mask);mask-image:var(--photo-watercolor-mask);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%}
.hand-note{justify-content:center}
.hand-note .hand-note-line{left:28px;width:247px}

/* 2026-09-15: gentle decoration motion and non-hero image hover */
.deco[src*="birch-watercolor-branch-"]{animation:deco-float 6.5s ease-in-out infinite;will-change:translate,rotate}
.deco[src*="birch-watercolor-branch-"]:nth-of-type(2n){animation-duration:8s;animation-delay:-2.5s}
.deco[src*="birch-watercolor-branch-"]:nth-of-type(3n){animation-duration:7.2s;animation-delay:-4s}
@keyframes deco-float{
  0%,100%{translate:0 0;rotate:0deg}
  50%{translate:0 -8px;rotate:1.2deg}
}

@media(hover:hover) and (pointer:fine){
  .visual .photo-bleed img,.service-card>img{transition:transform .5s ease,filter .5s ease;transform-origin:center}
  .visual .photo-bleed:hover img,.service-card:hover>img{transform:scale(1.035);filter:brightness(1.035) saturate(1.06)}
  .price-grid article>img{transition:transform .35s ease,filter .35s ease}
  .price-grid article:hover>img{transform:translateY(-4px) rotate(-3deg);filter:saturate(1.08)}
}

@media(prefers-reduced-motion:reduce){
  .deco{animation:none;will-change:auto}
  .visual .photo-bleed img,.service-card>img,.price-grid article>img{transition:none}
}

/* 2026-09-16: JPG logo blending */
.brand .brand-logo{mix-blend-mode:multiply}

/* Keep the original LP-style hero crop: open top/right, watercolor left/bottom. */
.hero-photo img{-webkit-mask-position:center top;mask-position:center top;-webkit-mask-size:100% 100%;mask-size:100% 100%}

/* 2026-09-16: align the supplied logo artwork with the header top edge */
.header-inner{padding-top:0}
.brand{align-self:flex-start}
.brand .brand-logo{object-position:left top;transform:translateY(-4px)}

@media(max-width:900px){
  .brand .brand-logo{transform:translateY(-3px)}
}

/* 2026-09-16: improve section text readability */
.section .content p,.section .lead{font-size:clamp(16px,1.35vw,18px)}
.section .service-card h3{font-size:clamp(20px,1.55vw,21px)}
.section .service-card p{font-size:clamp(15px,1.2vw,16px)}
.section .price-intro p{font-size:clamp(16px,1.3vw,17px)}
.section .price-grid h3{font-size:17px}
.section .price-grid strong{font-size:19px}
.section .price-grid span{font-size:14px}
.section .note{font-size:13px}
.section .contact-copy p{font-size:clamp(16px,1.3vw,17px)}
.section .contact-action small{font-size:13px}
.section .contact-action>p{font-size:16px}
.section .btn{font-size:15px}

/* 2026-09-16: enlarge the about, greeting and access photos */
.section.split-section{max-width:1200px;grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);gap:48px}
.split-section .visual .photo-bleed{width:100%;max-width:none}
.split-section .visual img:not(.deco){aspect-ratio:1.5}

@media(max-width:900px){
  .section.split-section{grid-template-columns:1fr;gap:32px}
  .split-section>.visual{width:calc(100% + 20px);margin-inline:-10px}
}

/* 2026-09-16: match the hero message bubble to the LP reference */
.hero-note{right:clamp(50px,7vw,110px);top:205px;width:200px;height:194px;padding:28px;font-size:15px;line-height:1.85}

@media(max-width:900px){
  .hero-note{right:16px;top:auto;bottom:48px;width:150px;height:148px;padding:19px;font-size:11.5px;line-height:1.75}
}

/* 2026-09-16: extend the hero image to the right edge of the viewport */
@media(min-width:901px){
  .hero{width:100%;max-width:none;padding-left:clamp(30px,5vw,72px);padding-right:0}
  .hero-photo{margin-right:0}
}

/* 2026-09-16: pale double watercolor rings in the hero corner */
.hero-rings{top:-240px;left:-40px;width:360px;height:360px;border:10px solid rgba(239,210,170,.34);border-radius:50%}
.hero-rings::after{content:"";position:absolute;inset:22px;border:6px solid rgba(239,210,170,.25);border-radius:50%}

@media(max-width:900px){
  .hero-rings{top:-155px;left:-45px;width:255px;height:255px;border-width:8px}
  .hero-rings::after{inset:17px;border-width:5px}
}

/* 2026-09-16: add enough solid header space around the JPG logo */
html{scroll-padding-top:150px}
body{padding-top:150px}
.header-inner{min-height:150px}

@media(max-width:900px){
  html{scroll-padding-top:110px}
  body{padding-top:110px}
  .header-inner{min-height:110px}
  .mobile-nav{inset:110px 0 auto}
}

/* 2026-09-16: enlarge hero supporting text and separate the underline */
.hero-copy>p:not(.eyebrow){font-size:18px;line-height:1.9}
.hand-note{width:340px;margin-top:28px;margin-bottom:54px;font-size:17px;line-height:1.75}
.hand-note .hand-note-line{left:14px;bottom:-50px;width:312px}

@media(max-width:900px){
  .hero-copy>p:not(.eyebrow){font-size:16px;line-height:1.85}
  .hand-note{width:min(320px,100%);margin-bottom:50px;font-size:15px}
  .hand-note .hand-note-line{left:4%;bottom:-47px;width:92%}
}

/* 2026-09-16: watercolor paper edge behind the hero catchphrase */
.hero h1{position:relative;z-index:1}
.hero h1::before{content:"";position:absolute;z-index:-1;inset:-48px -105px -42px -58px;background:rgba(255,253,248,.9);-webkit-mask-image:var(--photo-watercolor-mask);mask-image:var(--photo-watercolor-mask);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;pointer-events:none}

@media(max-width:900px){
  .hero h1::before{inset:-34px -28px -32px -30px;background:rgba(255,253,248,.88)}
}

/* 2026-09-16: enlarge the circular photo notes and their text */
.visual-note{width:190px;height:174px;padding:24px;font-size:16px;line-height:1.85}

@media(max-width:900px){
  .visual-note{width:150px;height:138px;padding:17px;font-size:13px;line-height:1.8}
}

/* 2026-09-16: consistent hero spacing and centered CTA */
.hero h1{margin-bottom:20px}
.hero-copy>p:not(.eyebrow){margin-bottom:20px}
.hero-copy>.btn{display:flex;width:max-content;margin-inline:auto}
.hero-copy .hand-note{margin-top:20px}

/* 2026-09-16: center the section detail buttons */
#about .content>.btn,#price .price-intro>.btn,#access .content>.btn{display:flex;width:max-content;margin-inline:auto}

/* 2026-09-16: transparent watercolor background decorations */
.section>.section-title,.section>.content,.section>.visual,.section>.cards,.section>.price-intro,.section>.price-grid,.section>.note,.section>.contact-inner{position:relative;z-index:2}
.watercolor-wash{-webkit-mask-image:var(--photo-watercolor-mask);mask-image:var(--photo-watercolor-mask);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%}
.support-bg-wash{left:-135px;top:38%;width:245px;height:235px;background:rgba(244,205,199,.38)}
.support-bg-leaf{left:-5px;top:42%;width:105px;height:155px;object-fit:contain;opacity:.68;z-index:1}
.price-bg-wash{right:-145px;top:32%;width:260px;height:270px;background:rgba(247,221,183,.42)}
.contact-bg-circle-large{right:65px;top:105px;width:250px;height:245px;background:rgba(246,215,206,.34)}
.contact-bg-circle-small{right:-20px;top:220px;width:135px;height:135px;background:rgba(187,211,170,.42)}
.access-bg-rings{right:-105px;bottom:-65px;width:320px;height:320px;border:12px solid rgba(167,199,157,.25);border-radius:50%;z-index:0}
.access-bg-rings::after{content:"";position:absolute;inset:25px;border:7px solid rgba(167,199,157,.2);border-radius:50%}

@media(max-width:900px){
  .support-bg-wash{left:-105px;width:190px;height:185px}
  .support-bg-leaf{left:-4px;width:78px;height:120px}
  .price-bg-wash{right:-105px;width:195px;height:205px}
  .contact-bg-circle-large{right:22px;top:120px;width:190px;height:185px}
  .contact-bg-circle-small{right:-32px;top:225px;width:105px;height:105px}
  .access-bg-rings{right:-120px;bottom:-35px;width:245px;height:245px;border-width:9px}
  .access-bg-rings::after{inset:19px;border-width:5px}
}

/* 2026-09-16: move the hero message bubble down */
@media(min-width:901px){
  .hero-note{top:305px}
}

/* 2026-09-16: supplied logo v2 and compact seamless header */
.site-header{background:linear-gradient(to bottom,#fffffe 0%,#fffffe 84%,rgba(255,255,254,.9) 90%,rgba(255,255,254,.55) 96%,rgba(255,255,254,.18) 100%)}
html{scroll-padding-top:120px}
body{padding-top:120px}
.header-inner{min-height:120px}
.brand .brand-logo{width:230px;height:104px;object-position:left top;transform:translateY(-2px)}

@media(max-width:900px){
  html{scroll-padding-top:94px}
  body{padding-top:94px}
  .header-inner{min-height:94px}
  .brand .brand-logo{width:175px;height:78px;transform:translateY(-1px)}
  .mobile-nav{inset:94px 0 auto}
}

/* 2026-09-16: rounded watercolor edges for the hero copy and photo */
.hero h1::before{inset:-82px -88px -72px -70px;border-radius:49% 51% 47% 53% / 52% 46% 54% 48%;-webkit-mask-image:radial-gradient(ellipse 70% 76% at 48% 50%,#000 0 58%,rgba(0,0,0,.92) 67%,rgba(0,0,0,.58) 76%,rgba(0,0,0,.22) 84%,transparent 92%);mask-image:radial-gradient(ellipse 70% 76% at 48% 50%,#000 0 58%,rgba(0,0,0,.92) 67%,rgba(0,0,0,.58) 76%,rgba(0,0,0,.22) 84%,transparent 92%)}
.hero-photo img{border-radius:46% 54% 49% 51% / 43% 45% 55% 57%;-webkit-mask-image:radial-gradient(ellipse 70% 72% at 58% 45%,#000 0 65%,rgba(0,0,0,.92) 72%,rgba(0,0,0,.55) 80%,rgba(0,0,0,.18) 87%,transparent 94%);mask-image:radial-gradient(ellipse 70% 72% at 58% 45%,#000 0 65%,rgba(0,0,0,.92) 72%,rgba(0,0,0,.55) 80%,rgba(0,0,0,.18) 87%,transparent 94%)}

@media(max-width:900px){
  .hero h1::before{inset:-52px -30px -48px -34px;-webkit-mask-image:radial-gradient(ellipse 72% 76% at 50% 50%,#000 0 57%,rgba(0,0,0,.9) 67%,rgba(0,0,0,.5) 78%,transparent 92%);mask-image:radial-gradient(ellipse 72% 76% at 50% 50%,#000 0 57%,rgba(0,0,0,.9) 67%,rgba(0,0,0,.5) 78%,transparent 92%)}
  .hero-photo img{-webkit-mask-image:radial-gradient(ellipse 76% 70% at 55% 46%,#000 0 62%,rgba(0,0,0,.9) 71%,rgba(0,0,0,.5) 80%,transparent 94%);mask-image:radial-gradient(ellipse 76% 70% at 55% 46%,#000 0 62%,rgba(0,0,0,.9) 71%,rgba(0,0,0,.5) 80%,transparent 94%)}
}

/* 2026-09-16: round and freeze the newly added watercolor decorations */
.watercolor-wash{border-radius:50%;-webkit-mask-image:radial-gradient(circle at 50% 48%,#000 0 62%,rgba(0,0,0,.9) 70%,rgba(0,0,0,.52) 79%,rgba(0,0,0,.18) 87%,transparent 95%);mask-image:radial-gradient(circle at 50% 48%,#000 0 62%,rgba(0,0,0,.9) 70%,rgba(0,0,0,.52) 79%,rgba(0,0,0,.18) 87%,transparent 95%)}
.support-bg-wash{height:245px}
.price-bg-wash{height:260px}
.contact-bg-circle-large{height:250px}
.watercolor-wash,.support-bg-leaf,.access-bg-rings{animation:none;will-change:auto}

@media(max-width:900px){
  .support-bg-wash{height:190px}
  .price-bg-wash{height:195px}
  .contact-bg-circle-large{height:190px}
}

/* 2026-09-16: retain the oval shapes and add irregular watercolor edges */
.hero h1::before{-webkit-mask-image:radial-gradient(ellipse 70% 76% at 48% 50%,#000 0 58%,rgba(0,0,0,.92) 67%,rgba(0,0,0,.58) 76%,rgba(0,0,0,.22) 84%,transparent 92%),var(--photo-watercolor-mask);mask-image:radial-gradient(ellipse 70% 76% at 48% 50%,#000 0 58%,rgba(0,0,0,.92) 67%,rgba(0,0,0,.58) 76%,rgba(0,0,0,.22) 84%,transparent 92%),var(--photo-watercolor-mask);-webkit-mask-size:100% 100%,100% 100%;mask-size:100% 100%,100% 100%;-webkit-mask-composite:source-in;mask-composite:intersect}
.hero-photo img{-webkit-mask-image:radial-gradient(ellipse 70% 72% at 58% 45%,#000 0 65%,rgba(0,0,0,.92) 72%,rgba(0,0,0,.55) 80%,rgba(0,0,0,.18) 87%,transparent 94%),var(--hero-watercolor-mask);mask-image:radial-gradient(ellipse 70% 72% at 58% 45%,#000 0 65%,rgba(0,0,0,.92) 72%,rgba(0,0,0,.55) 80%,rgba(0,0,0,.18) 87%,transparent 94%),var(--hero-watercolor-mask);-webkit-mask-size:100% 100%,100% 100%;mask-size:100% 100%,100% 100%;-webkit-mask-composite:source-in;mask-composite:intersect}

@media(max-width:900px){
  .hero h1::before{-webkit-mask-image:radial-gradient(ellipse 72% 76% at 50% 50%,#000 0 57%,rgba(0,0,0,.9) 67%,rgba(0,0,0,.5) 78%,transparent 92%),var(--photo-watercolor-mask);mask-image:radial-gradient(ellipse 72% 76% at 50% 50%,#000 0 57%,rgba(0,0,0,.9) 67%,rgba(0,0,0,.5) 78%,transparent 92%),var(--photo-watercolor-mask)}
  .hero-photo img{-webkit-mask-image:radial-gradient(ellipse 76% 70% at 55% 46%,#000 0 62%,rgba(0,0,0,.9) 71%,rgba(0,0,0,.5) 80%,transparent 94%),var(--hero-watercolor-mask);mask-image:radial-gradient(ellipse 76% 70% at 55% 46%,#000 0 62%,rgba(0,0,0,.9) 71%,rgba(0,0,0,.5) 80%,transparent 94%),var(--hero-watercolor-mask)}
}

/* 2026-09-16: keep the watercolor behind the text and center the hero copy */
.hero-copy{isolation:isolate;text-align:center}
.hero h1{z-index:auto;text-align:center}
.hero-copy>p:not(.eyebrow){text-align:center}
.hero-copy .hand-note{margin-left:auto;margin-right:auto}

/* 2026-09-16: 20px between section copy and detail buttons */
#about .content>p:last-of-type,#price .price-intro>p:last-of-type,#access .content>p:last-of-type{margin-bottom:30px}

/* 2026-09-16: irregular watercolor rims for the round background washes */
.watercolor-wash{-webkit-mask-image:radial-gradient(circle at 50% 48%,#000 0 62%,rgba(0,0,0,.9) 70%,rgba(0,0,0,.52) 79%,rgba(0,0,0,.18) 87%,transparent 95%),var(--photo-watercolor-mask);mask-image:radial-gradient(circle at 50% 48%,#000 0 62%,rgba(0,0,0,.9) 70%,rgba(0,0,0,.52) 79%,rgba(0,0,0,.18) 87%,transparent 95%),var(--photo-watercolor-mask);-webkit-mask-size:100% 100%,100% 100%;mask-size:100% 100%,100% 100%;-webkit-mask-repeat:no-repeat,no-repeat;mask-repeat:no-repeat,no-repeat;-webkit-mask-composite:source-in;mask-composite:intersect}

/* 2026-09-16: stronger LP-style watercolor edges on the hero */
.hero h1::before{-webkit-mask-image:var(--photo-watercolor-mask);mask-image:var(--photo-watercolor-mask);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-composite:initial;mask-composite:add}
.hero-photo img{-webkit-mask-image:var(--hero-watercolor-mask);mask-image:var(--hero-watercolor-mask);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-composite:initial;mask-composite:add}

@media(max-width:900px){
  .hero h1::before{-webkit-mask-image:var(--photo-watercolor-mask);mask-image:var(--photo-watercolor-mask)}
  .hero-photo img{-webkit-mask-image:var(--hero-watercolor-mask);mask-image:var(--hero-watercolor-mask)}
}

/* 2026-09-16: remove the smooth oval clipping and deepen the watercolor bleed */
.hero h1::before{
  border-radius:0;
  -webkit-mask-image:var(--photo-watercolor-mask),var(--photo-watercolor-mask);
  mask-image:var(--photo-watercolor-mask),var(--photo-watercolor-mask);
  -webkit-mask-size:100% 100%,103% 97%;
  mask-size:100% 100%,103% 97%;
  -webkit-mask-position:center,4px -3px;
  mask-position:center,4px -3px;
  -webkit-mask-repeat:no-repeat,no-repeat;
  mask-repeat:no-repeat,no-repeat;
  -webkit-mask-composite:source-in;
  mask-composite:intersect;
}
.hero-photo img{
  border-radius:0;
  -webkit-mask-image:var(--hero-watercolor-mask),var(--hero-watercolor-mask);
  mask-image:var(--hero-watercolor-mask),var(--hero-watercolor-mask);
  -webkit-mask-size:100% 100%,102% 98%;
  mask-size:100% 100%,102% 98%;
  -webkit-mask-position:center top,6px -4px;
  mask-position:center top,6px -4px;
  -webkit-mask-repeat:no-repeat,no-repeat;
  mask-repeat:no-repeat,no-repeat;
  -webkit-mask-composite:source-in;
  mask-composite:intersect;
}

@media(max-width:900px){
  .hero h1::before{
    -webkit-mask-size:100% 100%,102% 98%;
    mask-size:100% 100%,102% 98%;
    -webkit-mask-position:center,3px -2px;
    mask-position:center,3px -2px;
  }
  .hero-photo img{
    -webkit-mask-size:100% 100%,101.5% 98.5%;
    mask-size:100% 100%,101.5% 98.5%;
    -webkit-mask-position:center top,4px -3px;
    mask-position:center top,4px -3px;
  }
}

/* 2026-09-16: fade the upper edge of the footer into the page background */
.site-footer{
  background:linear-gradient(to top,#fffffe 0%,#fffffe 84%,rgba(255,255,254,.9) 90%,rgba(255,255,254,.55) 96%,rgba(255,255,254,.18) 100%);
  border-top:0;
  backdrop-filter:none;
}

/* 2026-09-16: unify every botanical leaf decoration as watercolor birch */
img[src*="birch-watercolor-branch-"]{
  object-fit:contain;
}
.section-title>img[src*="birch-watercolor-branch-"],
.price-grid article>img[src*="birch-watercolor-branch-"]{
  object-fit:cover;
  object-position:54% 48%;
}

/* 2026-09-16: supplied footer logo */
.footer-brand .footer-logo{
  position:relative;
  left:20px;
  top:-10px;
  width:min(220px,100%);
  height:auto;
  object-fit:contain;
}

/* 2026-09-16: improve footer navigation readability */
.site-footer nav{
  font-size:14px;
}

/* 2026-09-16: move the supporting hero copy, CTA and note left and down */
.hero-copy>p:not(.eyebrow),
.hero-copy>.btn,
.hero-copy>.hand-note{
  position:relative;
  left:-80px;
  top:50px;
}

@media(max-width:900px){
  .hero-copy>p:not(.eyebrow),
  .hero-copy>.btn,
  .hero-copy>.hand-note{
    left:clamp(-12px,-2vw,4px);
  }
  .hero-copy>.hand-note{
    margin-bottom:100px;
  }
}

/* 2026-09-16: reduce the hero catchphrase watercolor frame by 20px on every side */
.hero h1::before{
  inset:-62px -68px -52px -50px;
}

@media(max-width:900px){
  .hero h1::before{
    inset:-32px -10px -28px -14px;
  }
}

/* 2026-09-16: tighten the top and right space around the hero catchphrase */
.hero h1::before{
  inset:-42px -28px -52px -50px;
}

@media(max-width:900px){
  .hero h1::before{
    inset:-12px 0 -28px -14px;
  }
}

/* 2026-09-16: enlarge the upper-right birch illustration in the hero */
.d-leaf-hero{
  width:220px;
}

/* 2026-09-16: 20px gaps around the hero CTA */
.hero-copy>p:not(.eyebrow){
  margin-bottom:20px;
}
.hero-copy>.btn{
  margin-bottom:20px;
}
.hero-copy>.hand-note{
  margin-top:0;
}

/* 2026-09-16: move the contact birch illustration into the lower-right open space */
.contact-branch{
  right:-280px;
  bottom:auto;
  top:-155px;
  width:280px;
  z-index:10;
}

.footer-inner{
  position:relative;
}

@media(max-width:900px){
  .contact-branch{
    right:-315px;
    bottom:auto;
    top:-78px;
    width:220px;
  }
}

/* 2026-09-16: emphasize the green watercolor wash in the hero */
.hero::after{
  right:-65px;
  bottom:-35px;
  width:330px;
  height:225px;
  background:rgba(185,211,178,.5);
  filter:blur(8px);
  -webkit-mask-image:var(--photo-watercolor-mask);
  mask-image:var(--photo-watercolor-mask);
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-size:100% 100%;
  mask-size:100% 100%;
}

.hero::before{
  z-index:6;
}

@media(max-width:900px){
  .hero::after{
    right:-80px;
    bottom:-20px;
    width:230px;
    height:160px;
    background:rgba(185,211,178,.47);
  }
}

/* 2026-09-16: move the access rings into the open space beside the photo */
.access-bg-rings{
  top:calc(50% - 100px);
  right:auto;
  bottom:auto;
  left:-385px;
  transform:translateY(-50%);
  z-index:-1;
}

#access .visual .photo-bleed{
  position:relative;
  z-index:1;
}

#access .visual{
  z-index:1;
}

@media(max-width:900px){
  .access-bg-rings{
    top:calc(50% - 100px);
    right:auto;
    bottom:auto;
    left:-305px;
  }
}

/* 2026-09-16: enlarge the hero English signature and keep it in front */
.hero-sign{
  z-index:10;
  font-size:22px;
  line-height:1.35;
}

/* 2026-09-16: diagonal green gradient to the right of the support navigation */
.site-header{
  overflow:hidden;
}

.site-header::after{
  content:"";
  position:absolute;
  z-index:0;
  top:0;
  right:0;
  bottom:0;
  width:45%;
  background:linear-gradient(to top right,rgba(218,235,211,0) 0%,rgba(218,235,211,.03) 28%,rgba(210,230,202,.12) 52%,rgba(196,221,188,.25) 76%,rgba(183,211,176,.38) 100%);
  pointer-events:none;
}

.header-inner{
  position:relative;
  z-index:1;
}

@media(max-width:900px){
  .site-header::after{
    display:none;
  }
}

/* 2026-09-16: keep the back-to-top button clear of footer content */
.page-top{
  transition:bottom .25s ease,transform .2s ease,background-color .2s ease,box-shadow .2s ease;
}

.page-top.is-footer-visible{
  bottom:112px;
}

@media(max-width:900px){
  .page-top.is-footer-visible{
    bottom:96px;
  }
}
