:root{--ink:#35433a;--muted:#778077;--paper:#faf9f4;--green:#dce7d2;--lime:#c8d9a4;--yellow:#f3e6ac;--pink:#efdad4;--line:#dfe2d9;--serif:Georgia,'Times New Roman',serif;--sans:'DM Sans','Noto Sans JP',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:82px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.site-header{height:84px;padding:0 7.2%;display:flex;align-items:center;justify-content:space-between;position:fixed;z-index:10;top:0;left:0;right:0;background:rgba(250,249,244,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.brand{font-family:var(--serif);font-size:28px;letter-spacing:-1.3px;font-weight:600}.brand-dot{color:#b8c780}.main-nav{display:flex;align-items:center;gap:34px;font-size:12px}.main-nav>a:not(.nav-contact),.site-footer nav a{transition:opacity .2s}.main-nav>a:hover,.site-footer a:hover{opacity:.65}.nav-contact{border:1px solid #9ba895;border-radius:2px;padding:9px 17px}.nav-contact span{margin-left:15px}.menu-toggle{display:none}.hero{height:min(790px,100vh);min-height:660px;position:relative;overflow:hidden;background:linear-gradient(115deg,#f8f7ef 15%,#f1f2e3 100%);display:flex;align-items:center}.hero-inner{position:relative;z-index:3;margin-left:12.3%;padding-bottom:30px}.eyebrow{font-size:10px;letter-spacing:2.2px;color:#7e8a75;margin:0 0 18px}.eyebrow span{display:inline-block;width:7px;height:7px;border-radius:50%;background:#c2cf9d;margin-right:9px}.hero h1{font-size:clamp(46px,6.2vw,77px);line-height:1.45;letter-spacing:.06em;font-weight:500;margin:0 0 20px}.hero h1 em,.section-heading h2 em{font-style:normal;color:#85976f}.hero-copy{font-size:13px;line-height:2.1;color:#727d71;margin:0 0 27px;letter-spacing:.035em}.button{display:inline-flex;align-items:center;justify-content:space-between;min-width:218px;border:0;padding:14px 19px;font-family:inherit;font-size:12px;cursor:pointer;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:#fff}.button-dark span{font-size:17px}.hero-art{position:absolute;inset:0 0 0 43%;overflow:hidden}.hero-wash{position:absolute;border-radius:50%;filter:blur(1px)}.wash-one{width:520px;height:520px;background:radial-gradient(circle,#f3e8bcaa 0%,#f3e8bc00 70%);right:18%;top:6%}.wash-two{width:560px;height:560px;background:radial-gradient(circle,#e8d8d5a3 0%,#e8d8d500 72%);right:-5%;bottom:-10%}.sun{position:absolute;width:220px;height:220px;border-radius:50%;background:linear-gradient(140deg,#f5e9b8,#ebd9bd);right:25%;top:15%;opacity:.82}.hill{position:absolute;border-radius:50% 50% 0 0}.hill-back{height:52%;width:130%;bottom:-27%;left:-5%;background:linear-gradient(110deg,#e2e9d2,#d1dfc3);transform:rotate(-8deg)}.hill-front{height:43%;width:120%;bottom:-20%;left:13%;background:linear-gradient(120deg,#c9d9af,#d9e2c8);transform:rotate(8deg)}.flower{position:absolute;border-radius:50%;width:15px;height:15px;background:#fff1d1;box-shadow:0 -13px 0 -3px #fff1d1,0 13px 0 -3px #fff1d1,13px 0 0 -3px #fff1d1,-13px 0 0 -3px #fff1d1;z-index:2}.flower i{position:absolute;width:5px;height:5px;background:#d6ae77;border-radius:50%;top:5px;left:5px}.flower-a{right:32%;bottom:28%}.flower-b{right:17%;bottom:37%;transform:scale(.75)}.flower-c{right:43%;bottom:18%;transform:scale(.6)}.art-note{position:absolute;right:13%;top:38%;font:italic 12px/1.8 var(--serif);color:#829074;letter-spacing:.04em}.hero-foot{position:absolute;bottom:32px;left:7.2%;right:7.2%;display:flex;align-items:center;gap:14px;font-size:9px;letter-spacing:1.8px;color:#829074}.hero-foot span:last-child{margin-left:auto}.scroll-line{width:42px;height:1px;background:#a5b296}.section-pad{padding:125px 12.3%}.section-label{font-size:9px;letter-spacing:1.8px;color:#858d80}.section-label span{color:#b2bd92;margin-right:12px}.intro{display:grid;grid-template-columns:1fr 2fr 1.1fr;gap:32px;align-items:start;background:#fbfaf6;position:relative;overflow:hidden}.intro-content{padding-top:6px}.intro-content .eyebrow,.section-heading .eyebrow,.contact .eyebrow{margin-top:42px}.intro h2{font-size:35px;line-height:1.7;letter-spacing:.07em;font-weight:500;margin:0 0 22px}.highlight{background:linear-gradient(transparent 70%,#e6eacd 70%)}.body-copy{font-size:12px;color:#778077;line-height:2.35}.text-link{display:inline-block;margin-top:16px;border-bottom:1px solid #aab39f;padding-bottom:5px;font-size:11px}.text-link span{padding-left:32px}.intro-mark{margin:110px auto 0;position:relative}.mark-circle{width:145px;height:145px;border-radius:50%;background:linear-gradient(145deg,#f3e8be,#f1ded8);display:grid;place-items:center;text-align:center;color:#76836c;font:italic 27px/1.05 var(--serif);transform:rotate(-11deg)}.mark-caption{position:absolute;top:150px;right:-35px;font:italic 10px/1.5 var(--serif);color:#8f9a87}.services{background:#f1f2e9;padding-top:110px;padding-bottom:130px;position:relative}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:48px}.section-heading .eyebrow{margin-top:38px;margin-bottom:4px}.section-heading h2{font-size:35px;font-weight:500;letter-spacing:.04em;margin:0}.heading-note{font-size:11px;line-height:2.2;color:#7a8377;margin:0 0 7px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.service-card{min-height:260px;padding:25px 26px 20px;position:relative}.card-green{background:#dce7d2}.card-yellow{background:#f2e8c8}.card-pink{background:#efdeda}.card-number{font:italic 13px var(--serif);color:#7d8a75}.card-symbol{position:absolute;top:22px;right:24px;font-size:26px;color:#8e9d7e}.symbol-sun{color:#c0a65c}.symbol-flower{color:#be8f83}.card-kicker{font-size:8px;letter-spacing:1.8px;color:#829078;margin:36px 0 4px}.service-card h3{font-size:16px;font-weight:500;margin:0 0 7px}.service-card>p:not(.card-kicker){font-size:10px;color:#758074;margin:0;line-height:2}.service-card>a{position:absolute;bottom:19px;right:24px;font-size:17px}.contact{position:relative;overflow:hidden;background:#e7ecdf;padding-top:105px;padding-bottom:110px;display:grid;grid-template-columns:1fr 1fr;gap:8%;}.contact-shape{position:absolute;width:490px;height:490px;border-radius:50%;border:1px solid #d2ddc9;left:-220px;bottom:-320px;box-shadow:0 0 0 38px #e7ecdf,0 0 0 39px #d2ddc9,0 0 0 80px #e7ecdf,0 0 0 81px #d2ddc9}.contact-top,.contact-details{position:relative;z-index:1}.contact .eyebrow{margin-top:42px;margin-bottom:7px}.contact h2{font-size:32px;line-height:1.6;font-weight:500;letter-spacing:.03em;margin:0 0 14px}.contact-top>p:last-child{font-size:11px;line-height:2;color:#758074;max-width:340px}.site-footer{padding:36px 7.2%;display:flex;align-items:center;gap:45px;background:#fbfaf6}.site-footer .brand{font-size:23px}.site-footer nav{display:flex;gap:23px;font-size:10px;color:#758074}.site-footer>p{margin-left:auto;font:11px var(--serif);color:#818b7c}.site-footer>p span{font:9px var(--sans);color:#a2a79e}
@media(max-width:850px){.site-header{padding:0 6%;height:72px}.main-nav{gap:18px}.main-nav>a:not(.nav-contact){font-size:10px}.hero-inner{margin-left:8%}.hero-art{left:40%;opacity:.85}.section-pad{padding-left:8%;padding-right:8%}.intro{grid-template-columns:.7fr 2fr .8fr;gap:20px}.intro h2,.section-heading h2{font-size:30px}.intro-mark{transform:scale(.8);transform-origin:top center}.service-card{padding:22px 18px}.contact{gap:5%}.contact h2{font-size:27px}.site-footer{gap:25px}.site-footer nav{gap:14px}}
@media(max-width:620px){html{scroll-padding-top:68px}.site-header{height:68px;padding:0 6%}.brand{font-size:25px}.menu-toggle{display:flex;flex-direction:column;gap:6px;border:0;background:none;padding:8px;z-index:12}.menu-toggle span{width:22px;height:1px;background:var(--ink)}.main-nav{display:none;position:absolute;top:0;left:0;right:0;background:#faf9f4;padding:82px 8% 28px;align-items:stretch;gap:0;box-shadow:0 8px 18px #35433a0e}.main-nav.open{display:flex;flex-direction:column}.main-nav>a:not(.nav-contact){font-size:13px;padding:12px 0;border-bottom:1px solid var(--line)}.nav-contact{margin-top:18px;text-align:center}.hero{min-height:720px;height:100svh;max-height:850px;align-items:flex-start}.hero-inner{margin:0;padding:155px 7% 0}.hero h1{font-size:48px;line-height:1.55}.hero-copy{font-size:12px}.hero-art{left:0;top:40%;opacity:.66}.sun{width:170px;height:170px;right:18%;top:8%}.art-note{right:9%;top:25%}.hero-foot{left:7%;right:7%;bottom:22px;font-size:8px}.section-pad{padding:82px 7%}.intro{grid-template-columns:1fr 1fr;gap:18px}.intro>.section-label{grid-column:1/-1}.intro-content{grid-column:1/-1;grid-row:2}.intro-content .eyebrow{margin-top:14px}.intro h2{font-size:29px}.intro-mark{grid-column:2;grid-row:3;justify-self:end;margin:-65px 8px 0 0;transform:scale(.75);transform-origin:top right;opacity:.82}.intro-content .body-copy{position:relative;z-index:1}.services{padding-top:80px;padding-bottom:85px}.section-heading{display:block;margin-bottom:30px}.section-heading .eyebrow{margin-top:30px}.section-heading h2{font-size:29px}.heading-note{margin-top:14px}.service-grid{grid-template-columns:1fr;gap:12px}.service-card{min-height:220px;padding:22px 24px}.card-kicker{margin-top:25px}.contact{padding-top:80px;padding-bottom:85px;grid-template-columns:1fr;gap:24px}.contact .eyebrow{margin-top:29px}.contact h2{font-size:27px}.site-footer{padding:32px 7%;display:grid;grid-template-columns:1fr auto;gap:22px 10px}.site-footer nav{grid-column:1/-1;grid-row:2;flex-wrap:wrap;gap:10px 18px}.site-footer>p{grid-column:2;grid-row:1;font-size:10px}.site-footer .brand{font-size:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
