@charset "UTF-8";
:root{--ink:#203238;--green:#24574f;--teal:#137887;--paper:#fcfbf7;--line:#d8dfd8;--muted:#64716e;--serif:"Yu Mincho","Hiragino Mincho ProN",serif;--sans:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.95;-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:5px}img{max-width:100%;height:auto;display:block}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid #bd702f;outline-offset:6px}.wrap{width:min(1120px,calc(100% - 96px));margin-inline:auto}.skip{position:absolute;left:12px;top:-90px;padding:8px;background:white;z-index:10}.skip:focus{top:12px}.site-header{min-height:108px;padding:20px 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{text-decoration:none;display:flex;flex-direction:column}.brand-name{font-family:var(--serif);font-size:29px;letter-spacing:.07em;font-weight:700;line-height:1.5;text-decoration:none}.brand-dot{color:var(--green)}.brand-sub{font-size:11px;letter-spacing:.15em;color:var(--muted)}nav{display:flex;align-items:center;gap:28px;font-size:13px}nav a{text-decoration:none}nav a:hover,.text-link:hover{color:var(--teal)}.nav-contact{padding:10px 18px;border:1px solid var(--green);border-radius:2px}.nav-contact span{padding-left:10px}.hero{display:grid;grid-template-columns:1fr 1.04fr;gap:46px;padding-block:76px 70px;align-items:center}.eyebrow{font-size:12px;color:var(--green);font-weight:700;letter-spacing:.12em;margin:0 0 20px}.hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(32px,3.7vw,48px);letter-spacing:.03em;line-height:1.58;margin:0 0 27px}.hero h1 span{font-size:.7em;color:var(--green);display:inline-block;margin-top:8px}.hero-description{font-size:15px;line-height:2.1;margin:0 0 27px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:14px 23px;min-height:52px;background:var(--green);color:#fff;text-decoration:none;border:1px solid var(--green);border-radius:2px;font-size:14px;transition:background .18s}.button:hover{background:#173e38}.hero-note{font-size:10px;color:var(--muted);margin:20px 0 0;letter-spacing:.02em}.hero-visual{position:relative;padding-top:10px}.photo-frame{background:#fff;border:1px solid #e0e0d7;padding:10px;box-shadow:8px 11px 0 #e9ebe3}.photo-frame>img{height:365px;width:100%;object-fit:cover;object-position:60% 50%}.photo-caption{padding:17px 7px 8px;display:flex;flex-direction:column;gap:8px}.photo-caption>span{font-family:var(--serif);font-size:17px}.photo-caption a{align-self:flex-end;font-size:12px}.photo-credit{font-size:10px;color:var(--muted);margin:18px 0 0 11px}.hero-small-note{position:absolute;top:-18px;right:14px;font-family:var(--serif);font-size:14px;letter-spacing:.12em;background:var(--paper);padding:0 10px}.intro-strip{background:#eaf0e9;border-block:1px solid #dde5dc}.intro-strip>.wrap{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-block:25px}.intro-strip p{margin:0}.intro-strip p:first-child{font-family:var(--serif);font-size:23px;letter-spacing:.03em}.intro-strip p:last-child{font-size:13px;line-height:1.9;color:#536659}.section{padding-block:90px}.section-heading{margin-bottom:45px}h2{font-family:var(--serif);font-weight:500;font-size:33px;line-height:1.65;letter-spacing:.04em;margin:0 0 23px}.section-heading>p:last-child{font-size:14px;color:var(--muted);margin:0}.section-heading>.eyebrow{margin-bottom:15px}.service-row{display:grid;grid-template-columns:55px 1fr 1.35fr;gap:26px;border-top:1px solid var(--line);padding-block:32px}.service-row:last-of-type{border-bottom:1px solid var(--line)}.service-number{font-family:Georgia,serif;font-size:24px;color:#889b88;line-height:1.5}.service-title h3{font-size:21px;margin:0 0 6px;font-weight:500}.service-title span{font-size:12px;color:var(--muted)}.service-body p{font-size:14px;margin:0 0 13px;line-height:2}.text-link{font-size:13px;text-decoration:none;border-bottom:1px solid #93a89b;padding-bottom:5px;display:inline-block}.text-link span{margin-left:16px}.package-note{border-left:3px solid var(--green);background:#f0f1e9;padding:22px 28px;margin-top:36px;display:grid;grid-template-columns:1fr auto;gap:6px 20px}.package-note>span{font-size:16px;font-weight:600}.package-note p{font-size:13px;margin:0;color:#53645e;grid-row:2}.package-note>a{font-size:12px;align-self:center;grid-column:2;grid-row:1/3}.sample-section{padding:80px 0;background:#e9eee8}.sample-layout{display:grid;grid-template-columns:.83fr 1.17fr;gap:68px;align-items:center}.sample-copy p:not(.eyebrow){font-size:14px;line-height:2}.sample-copy .small{font-size:10px!important;color:var(--muted);margin:20px 0 0}.outline{background:transparent;color:var(--green);margin-top:12px}.outline:hover{color:#fff}.browser-preview{display:block;text-decoration:none;background:#fff;border:1px solid #bcc9bc;box-shadow:8px 10px 0 #d7e0d4;border-radius:3px;overflow:hidden;transition:transform .2s}.browser-preview:hover{transform:translateY(-3px)}.browser-bar{background:#f3f2ed;height:29px;display:flex;align-items:center;gap:4px;padding:0 12px;border-bottom:1px solid #ddd}.browser-bar i{display:block;width:5px;height:5px;border-radius:50%;background:#c7ccc2}.browser-bar span{font-size:8px;margin-left:10px;color:#777}.mini-cafe-head{display:flex;justify-content:space-between;align-items:center;padding:20px 25px;background:#faf7f1}.mini-cafe-head>span{font-family:var(--serif);letter-spacing:.2em;font-size:21px}.mini-cafe-head small{font-size:9px}.mini-cafe-photo{position:relative}.mini-cafe-photo img{height:260px;object-fit:cover;width:100%}.mini-cafe-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#18160e88,transparent 85%)}.mini-cafe-photo>div{position:absolute;z-index:1;left:25px;top:30px;color:white;font-family:var(--serif);font-size:24px;line-height:1.9;letter-spacing:.07em}.mini-cafe-bottom{display:flex;justify-content:space-between;gap:8px;padding:22px;font-size:10px;background:#faf7f1}.support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 34px}.support-grid article{border-top:1px solid var(--line);padding:25px 0 24px}.support-grid article>span{font-size:10px;color:var(--green);letter-spacing:.12em}.support-grid h3{font-size:17px;font-weight:600;margin:7px 0 12px}.support-grid p{font-size:13px;color:#596562;line-height:1.95;margin:0}.about-section{padding:80px 0;background:#f0eee6}.about-layout{display:grid;grid-template-columns:290px 1fr;gap:95px;align-items:center}.portrait img{width:100%;max-height:360px;object-fit:cover;object-position:50% 22%;border-radius:2px}.portrait p{font-size:15px;margin:14px 0 0;line-height:1.7}.portrait p>span{font-size:11px;color:var(--muted);letter-spacing:.12em}.about-copy p:not(.eyebrow){font-size:14px;line-height:2.1}.about-copy .text-link{margin-top:12px}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:42px}.approach-grid article{padding-top:20px;border-top:1px solid var(--line)}.step{font-size:15px;font-family:Georgia,serif;color:var(--green)}.approach-grid h3{font-size:20px;font-weight:500;margin:7px 0 14px}.approach-grid p{font-size:14px;color:var(--muted)}.principles{display:grid;grid-template-columns:1fr 2fr;gap:30px;border-top:1px solid var(--line);margin-top:48px;padding-top:32px}.principles h3{font-size:17px;font-weight:500;margin:0}.principles ol{padding:0 0 0 20px;margin:0}.principles li{font-size:13px;padding:0 0 12px 10px}.principles li::marker{color:var(--green);font-weight:bold}.contact-section{background:#173d42;color:#fff;padding:66px 0}.contact-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:center}.contact-section .eyebrow{color:#b9d7ca}.contact-section h2{font-size:29px}.contact-section p:not(.eyebrow){font-size:14px;color:#dce8e1;line-height:2}.contact-actions{display:flex;flex-direction:column;align-items:flex-start}.light{background:#fff;color:#173d42;border-color:#fff;min-width:240px}.light:hover{background:#e5ece1}.email-link{font-size:15px;margin-top:15px}.contact-actions p{font-size:10px!important;margin-top:24px}.site-footer{padding-block:35px;display:flex;align-items:center;justify-content:space-between;gap:20px}.site-footer .brand-name{font-size:22px}.site-footer p,.site-footer small{font-size:10px;color:var(--muted)}.mobile-only{display:none}
@media(min-width:1600px){.hero{padding-block:100px}.photo-frame>img{height:410px}}
@media(max-width:1000px){.wrap{width:calc(100% - 56px)}.site-header{padding:18px 28px}.brand-name{font-size:25px}nav{gap:18px;font-size:12px}.hero{gap:28px;padding-block:56px}.hero h1{font-size:36px}.photo-frame>img{height:340px}.hero h1 span{font-size:.67em}.hero-note{font-size:9px}.sample-layout{gap:36px}.service-row{grid-template-columns:35px 1fr 1.3fr;gap:18px}.service-title h3{font-size:18px}.about-layout{gap:55px;grid-template-columns:250px 1fr}.package-note{display:block}.package-note p{margin:8px 0}.package-note>a{display:inline-block;margin-top:10px}}
@media(max-width:700px){html{scroll-padding-top:20px}.wrap{width:calc(100% - 40px)}.site-header{padding:16px 20px;min-height:86px;gap:12px}.brand-name{font-size:25px}.brand-sub{font-size:9px}nav a:not(.nav-contact){display:none}.nav-contact{font-size:11px;padding:8px 11px}.nav-contact span{padding-left:4px}.hero{grid-template-columns:1fr;padding-block:35px 38px;gap:40px}.eyebrow{font-size:11px;letter-spacing:.06em;margin-bottom:18px}.hero h1{font-size:37px;line-height:1.55;margin-bottom:19px;letter-spacing:.01em}.hero h1 span{font-size:.63em;margin-top:9px}.hero-description{font-size:14px;line-height:2;margin-bottom:23px}.hero-note{font-size:9px;line-height:1.9;margin-top:16px}.hero-visual{padding-top:4px}.photo-frame{padding:7px;box-shadow:5px 7px 0 #e9ebe3}.photo-frame>img{height:260px;object-position:58% 50%}.photo-caption{padding:12px 6px 5px}.photo-caption>span{font-size:15px}.photo-credit{font-size:9px;margin-left:3px}.hero-small-note{font-size:12px;top:-19px;right:0}.intro-strip>.wrap{display:block;padding-block:25px}.intro-strip p:first-child{font-size:23px;line-height:1.8}.intro-strip p:last-child{font-size:12px;margin-top:13px}.mobile-only{display:block}.section{padding-block:56px}.section-heading{margin-bottom:31px}h2{font-size:27px;line-height:1.7;margin-bottom:18px}.section-heading>p:last-child{font-size:13px}.service-row{grid-template-columns:28px 1fr;gap:8px 14px;padding-block:25px}.service-number{font-size:21px}.service-title h3{font-size:20px}.service-body{grid-column:2}.service-body p{font-size:13px;margin-top:9px}.service-title span{font-size:11px}.text-link{font-size:12px}.package-note{padding:19px;margin-top:26px}.package-note>span{font-size:14px}.package-note p{font-size:12px}.sample-section{padding-block:54px}.sample-layout{grid-template-columns:1fr;gap:32px}.sample-copy p:not(.eyebrow){font-size:13px}.mini-cafe-photo img{height:220px}.mini-cafe-photo>div{font-size:23px;left:20px;top:25px}.mini-cafe-head{padding:16px 20px}.mini-cafe-head>span{font-size:20px}.mini-cafe-bottom{padding:17px;font-size:8px}.browser-bar span{font-size:7px}.support-grid{grid-template-columns:1fr;gap:0}.support-grid article{padding-block:20px}.support-grid h3{font-size:18px;margin:4px 0 8px}.support-grid p{font-size:13px}.about-section{padding-block:50px}.about-layout{display:flex;flex-direction:column;gap:30px;align-items:stretch}.portrait{max-width:230px}.portrait img{max-height:285px}.about-copy p:not(.eyebrow){font-size:14px}.approach-grid{grid-template-columns:1fr;gap:20px}.approach-grid h3{font-size:20px;margin:3px 0 6px}.approach-grid p{font-size:13px;margin:0}.principles{grid-template-columns:1fr;gap:18px;margin-top:32px;padding-top:25px}.principles li{font-size:12px;line-height:2}.contact-section{padding-block:45px}.contact-layout{grid-template-columns:1fr;gap:20px}.contact-section h2{font-size:24px}.contact-section p:not(.eyebrow){font-size:13px}.contact-actions{align-items:stretch}.email-link{align-self:flex-start}.contact-actions p{font-size:10px!important}.site-footer{padding-block:28px;flex-direction:column;align-items:flex-start;gap:8px}.site-footer p,.site-footer small{margin:0}.button{font-size:13px}.principles ol{padding-left:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
