:root{--green:#10352f;--deep:#0c2925;--paper:#fbfaf6;--ink:#183b34;--muted:#64746c;--orange:#ff8b42;--line:#d9dfd6;--serif:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif;--sans:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.85;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #df6627;outline-offset:6px}button:focus-visible{position:relative;z-index:2}h1,h2,h3,h4,p{margin:0}h2{font-family:var(--serif);font-weight:600;font-size:clamp(1.9rem,3vw,2.9rem);line-height:1.6;letter-spacing:.035em}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.wrap{width:min(1240px,88%);margin-inline:auto}.section-space{padding-block:120px}.serif{font-family:Georgia,var(--serif)}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:white;padding:10px 20px}.skip-link:focus{top:10px}.eyebrow{font-size:.8rem;letter-spacing:.16em;font-weight:600}.section-label{font-size:.78rem;letter-spacing:.13em;display:flex;gap:18px;align-items:center;white-space:nowrap}.section-label>span{font-family:Georgia,serif;font-style:italic;font-size:.95rem;letter-spacing:0}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;padding:9px 10px 9px 24px;border-radius:40px;font-size:.92rem;font-weight:700;transition:transform .25s,background .25s;line-height:1.5;min-height:52px}.button:hover{transform:translateY(-3px)}.orange{background:var(--orange);color:#19382d}.dark{background:var(--green);color:var(--paper)}.round-arrow{border-radius:50%;height:32px;width:32px;display:grid;place-items:center;background:var(--paper);color:var(--ink)}.round-arrow svg{width:18px;height:18px}.dark .round-arrow{background:var(--orange)}
.site-header{position:absolute;top:0;left:0;width:100%;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:27px 6%;gap:24px;color:var(--paper)}.wordmark{display:flex;gap:11px;align-items:center;font-family:Georgia,serif;font-size:1.65rem;font-weight:700;letter-spacing:-.055em;line-height:1}.brand-icon{background:var(--orange);color:var(--green);width:35px;height:35px;display:grid;place-items:center;border-radius:11px;font-family:Georgia,serif;font-size:1.8rem;letter-spacing:-.06em;padding-bottom:5px}.wordmark-light{font-weight:400}.wordmark small{display:block;font-family:var(--sans);font-size:.62rem;font-weight:500;letter-spacing:.17em;margin-top:9px}.main-nav{display:flex;gap:32px;align-items:center;font-size:.8rem;font-weight:500}.main-nav>a:not(.nav-contact){position:relative;padding-block:12px}.main-nav>a:not(.nav-contact):after{content:"";position:absolute;bottom:5px;left:0;width:0;height:1px;background:var(--orange);transition:width .2s}.main-nav>a:hover:after{width:100%}.nav-contact{display:flex;align-items:center;gap:16px;padding:6px 6px 6px 17px;border:1px solid #ffffff40;border-radius:32px}.nav-contact .round-arrow{background:var(--orange);width:26px;height:26px}.menu-toggle{display:none}
.hero{position:relative;isolation:isolate;background:#0e302b;color:var(--paper);min-height:min(850px,100svh);height:790px;max-height:1100px;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 47%;z-index:-3;animation:hero-image-in 1.2s ease-out both}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#0b2a2573 0%,#0b2a2526 47%,transparent 70%)}.hero-content{padding-top:240px;padding-bottom:145px}.hero-eyebrow{color:#edede0;margin-bottom:27px;font-size:.72rem}.hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(2.1rem,4.15vw,4rem);line-height:1.6;letter-spacing:.025em;animation:rise-in .9s ease-out both;max-width:58%}.hero h1 em{font-style:normal;color:#ffb072}.hero-description{font-size:.96rem;color:#e4e8de;line-height:2.05;margin-top:23px;animation:rise-in .9s .12s ease-out both}.hero .button{margin-top:33px;animation:rise-in .9s .22s ease-out both}.hero-bottom{position:absolute;bottom:27px;left:6%;display:flex;justify-content:space-between;align-items:center;font-size:.66rem;letter-spacing:.13em;color:#e0e6d7}.scroll-link{display:flex;gap:20px;align-items:center;min-height:40px}.scroll-link span{font-size:1.2rem;animation:drift 2s infinite}.hero-label{position:absolute;right:5.5%;top:58%;text-align:center;transform:rotate(8deg);background:var(--paper);color:var(--green);padding:19px 22px;border-radius:50%;box-shadow:0 10px 30px #09251f14}.hero-label>span{font-family:Georgia,serif;font-style:italic;font-size:1.1rem}.hero-label small{display:block;font-size:.6rem;letter-spacing:.03em}
.purpose{display:grid;grid-template-columns:1fr 2.6fr 1.1fr;gap:45px;align-items:start}.purpose .section-label{padding-top:13px}.purpose-copy>p{font-size:.96rem;line-height:2.3;margin-top:25px}.purpose-copy>p:first-of-type{margin-top:29px}.purpose-note{align-self:end;padding-bottom:8px}.purpose-note .serif{font-style:italic;line-height:1.25;font-size:1.85rem;color:#a95126;display:block;transform:rotate(-7deg)}.tiny-line{height:1px;width:35px;background:var(--orange);margin:25px 0 18px}.purpose-note p{font-size:.78rem;line-height:1.9}
.product-section{padding:95px 0 90px;background:#efeee5;border-radius:80px 80px 0 0;overflow:hidden}.product-heading{display:flex;justify-content:space-between;align-items:center}.pill{display:inline-flex;border:1px solid #9ead9c;border-radius:30px;padding:5px 17px;font-size:.79rem;letter-spacing:.1em}.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding-top:25px}.product-category{font-size:.84rem;letter-spacing:.07em;margin-bottom:7px}.app-name{font-family:var(--sans);font-size:3.1rem;letter-spacing:-.08em;font-weight:800;display:flex;align-items:baseline;line-height:1.4}.app-name span{font-family:Georgia,serif;font-weight:400;letter-spacing:-.05em;padding-left:5px;font-size:1.1em}.app-name i{display:block;height:10px;width:10px;border-radius:100%;background:var(--orange);margin-left:7px}.product-copy h3{font-family:var(--serif);font-weight:600;font-size:clamp(1.6rem,2.7vw,2.45rem);line-height:1.65;margin-top:28px}.product-copy>p:not(.product-category):not(.app-availability){font-size:.95rem;line-height:2.1;margin-top:22px}.product-copy .button{margin-top:27px}.product-copy .app-availability{font-size:.76rem;color:#526256;margin:9px 0 0 13px}.product-visual{position:relative;min-height:565px;display:grid;place-items:center;padding:20px 0 45px}.record-preview{position:relative;transform:rotate(4deg);background:#fffdf8;border:1px solid #dddfd0;border-radius:26px;width:340px;padding:27px 24px 16px;box-shadow:8px 22px 55px #143c2920;z-index:1}.preview-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e6e8df;padding-bottom:17px}.mini-app-name{font-size:.97rem;font-weight:800;letter-spacing:-.06em}.preview-dot{width:22px;height:22px;border-radius:50%;border:6px solid #ead8b8;background:#9e784a}.preview-date{font-size:.72rem;color:#617264;margin-top:22px}.preview-panel{min-height:332px}.preview-panel h4{font-size:1.35rem;line-height:1.6;margin-top:5px}.record-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:17px}.record-grid>span{background:#f0f2e7;text-align:center;padding:12px 4px 8px;border-radius:10px;font-size:.62rem;color:#6d7964}.record-grid b{display:block;font-size:.87rem;margin-top:2px;color:var(--green)}.record-grid>span:nth-child(3n){background:#fce8d4}.sample-record{display:flex;gap:10px;align-items:center;margin-top:20px;padding:12px 0 0;border-top:1px solid #e1e5d8;line-height:1.6}.sample-record b{font-size:.8rem}.sample-record small{display:block;font-size:.65rem;color:#697263}.check-circle{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#e3e9d8}.check-circle svg{width:17px;height:17px}.preview-caption{font-size:.65rem;text-align:center;color:#6a7568;margin-top:14px}.floating-note{position:absolute;z-index:2;left:1%;top:32px;transform:rotate(-9deg);background:var(--orange);padding:19px 23px 18px;font-size:.91rem;line-height:1.8;box-shadow:0 7px 18px #62462210}.floating-note b{font-size:1.02rem}.visual-word{position:absolute;bottom:4px;right:-7px;font-family:Georgia,serif;font-size:2.9rem;line-height:1.05;color:#9b572f;font-style:italic;transform:rotate(-8deg)}.chart-card{margin-top:17px;padding:14px;background:#f0f2e7;border-radius:12px}.chart-card>span{font-size:.78rem}.sample-chart{width:100%;height:110px;margin-top:5px}.grid-line{stroke:#ced8c6;stroke-width:1}.graph-area{fill:#d8e0cb;stroke:none}.graph-line{stroke:#47664c;stroke-width:3}.graph-labels{display:flex;justify-content:space-between;font-size:.6rem;color:#697765}.report-sheet{position:relative;background:white;border:1px solid #d8ded2;margin:18px 17px 0;padding:17px 20px;font-size:.67rem;box-shadow:3px 3px 0 #e6eadf}.report-sheet>div:first-child{border-bottom:1px solid #d8ded2;padding-bottom:6px;margin-bottom:8px;line-height:1.6}.report-sheet b{display:block;font-size:.82rem}.report-sheet>div:first-child span{font-size:.52rem;letter-spacing:.08em}.report-rule{height:4px;background:#e9ede5;margin:5px 0 8px;width:100%}.report-rule.short{width:65%}.pdf-label{position:absolute;right:-13px;top:10px;background:var(--orange);padding:3px 8px;font-size:.65rem;font-weight:bold}.feature-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:28px}.feature-tabs button{display:flex;align-items:center;gap:14px;text-align:left;border:1px solid #c8d0c0;background:transparent;border-radius:10px;padding:23px 18px;transition:background .2s,border .2s;min-height:106px}.feature-tabs button:hover{background:#e8e9de}.feature-tabs button[aria-selected=true]{background:var(--green);color:var(--paper);border-color:var(--green)}.feature-number{font-family:Georgia,serif;font-style:italic;font-size:1.03rem;color:#8d5834;align-self:flex-start;margin-top:2px}.feature-tabs button[aria-selected=true] .feature-number{color:#ffb37a}.feature-tab-copy{flex:1}.feature-tab-copy b{display:block;font-size:1rem;line-height:1.7}.feature-tab-copy small{display:block;font-size:.73rem;line-height:1.7;margin-top:3px}.feature-tabs svg{width:21px;height:21px}
.services{background:var(--green);color:var(--paper)}.services .section-label{color:#c7d5c8}.services-top{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:end}.services-top h2{margin-top:29px}.services-top>p{font-size:.92rem;line-height:2.2;color:#d0dbce;padding-bottom:8px}.service-list{margin-top:57px}.service{border-top:1px solid #ffffff30}.service:last-child{border-bottom:1px solid #ffffff30}.service summary{list-style:none;display:flex;gap:30px;align-items:center;min-height:123px;cursor:pointer;padding:20px 0}.service summary::-webkit-details-marker{display:none}.service-number{font-family:Georgia,serif;font-style:italic;color:#b9c7b7;font-size:1rem}.service-icon{width:33px;height:33px;color:#ec9c60;margin-left:28px}.service-title{margin-left:20px;flex:1}.service-title small{display:block;font-size:.64rem;letter-spacing:.12em;color:#b5c7b8}.service-title strong{font-size:1.45rem;font-weight:500;letter-spacing:.035em}.service-toggle{height:41px;width:41px;display:grid;place-items:center;border:1px solid #7f9c83;border-radius:50%;font-size:1.5rem;line-height:1;font-weight:400;transition:transform .25s,background .25s}.service[open] .service-toggle{transform:rotate(45deg);background:var(--orange);border-color:var(--orange);color:var(--green)}.service-detail{display:grid;grid-template-columns:1.3fr 1fr;gap:45px;padding:0 0 34px 155px;font-size:.9rem;color:#e0e6dc}.service-tags{display:flex;align-items:start;flex-wrap:wrap;gap:8px;align-content:start;padding-top:3px}.service-tags>span{font-size:.73rem;padding:2px 11px;border:1px solid #ffffff35;border-radius:25px}
.about{display:grid;grid-template-columns:1fr 1fr;gap:90px}.about h2{margin-top:30px}.about-heading>p{font-size:.92rem;line-height:2.2;margin-top:24px}.company-info{margin:58px 0 0}.company-info>div{display:grid;grid-template-columns:110px 1fr;gap:20px;border-bottom:1px solid var(--line);padding:24px 0}.company-info>div:first-child{border-top:1px solid var(--line)}.company-info dt{font-size:.8rem;color:#637361;padding-top:3px}.company-info dd{margin:0;font-size:.9rem;line-height:2}.company-info dd a{display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:1.05rem}.company-info dd a:hover{color:#a44c21}.company-info dd span{display:block;font-size:.76rem;color:#647263}.company-info dd svg{width:20px;height:20px}
.contact{background:var(--orange);padding:85px 0 89px}.contact-inner{display:grid;grid-template-columns:1.3fr 1fr;gap:65px;align-items:center}.contact .eyebrow{font-size:.72rem}.contact h2{font-size:clamp(2rem,3.5vw,3.3rem);margin-top:17px}.contact p:not(.eyebrow){font-size:.9rem;line-height:2;margin-top:19px}.contact-action{display:flex;align-items:center;flex-direction:column;gap:30px}.contact-preparing{border-bottom:1px solid #806435;padding-bottom:12px;font-size:.88rem}.contact-english{font-style:italic;font-size:3.3rem;line-height:1.03;transform:rotate(-8deg);text-align:center;color:#375034}.contact-action .button{min-width:230px}.footer{background:var(--deep);color:var(--paper);padding:47px 0 23px}.footer-top{display:flex;align-items:center;gap:42px}.footer-top>p{font-size:.79rem;color:#c4d0c1}.back-top{margin-left:auto;display:flex;align-items:center;gap:19px;font-size:.75rem}.back-top>span{border:1px solid #648074;border-radius:50%;height:34px;width:34px;display:grid;place-items:center;font-size:1.1rem}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #ffffff25;margin-top:39px;padding-top:17px;font-size:.63rem;letter-spacing:.06em;color:#adbda9}
.js-reveal .reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}.js-reveal .reveal.visible{opacity:1;transform:translateY(0)}[hidden]{display:none!important}@keyframes rise-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-image-in{from{opacity:0;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}@keyframes drift{0%,100%{transform:translateY(-3px)}50%{transform:translateY(3px)}}
@media(min-width:1600px){.hero{height:890px}.hero-content{padding-top:265px}.hero-image{object-position:center 43%}.hero-label{right:9%}.hero h1{font-size:4rem}}
@media(max-width:1100px){.main-nav{gap:20px;font-size:.73rem}.hero{height:710px}.hero-content{padding-top:218px}.hero-label{right:4%;top:66%;padding:15px 18px}.purpose{grid-template-columns:1fr 3fr;gap:30px}.purpose-note{display:none}.product-grid{gap:35px}.record-preview{width:305px;padding-inline:20px}.floating-note{left:-3%;font-size:.8rem;padding:15px}.visual-word{right:-15px;font-size:2.5rem}.feature-tabs button{gap:9px;padding:20px 12px}.feature-tab-copy b{font-size:.85rem}.feature-tab-copy small{font-size:.7rem}.feature-tabs svg{display:none}.about{gap:50px}.service-detail{padding-left:135px}.service-icon{margin-left:13px}.service-title{margin-left:10px}.company-info>div{grid-template-columns:85px 1fr;gap:15px}}
@media(max-width:760px){html{scroll-padding-top:25px}.wrap{width:88%}.section-space{padding-block:75px}.site-header{padding:24px 6%}.wordmark{font-size:1.5rem}.wordmark small{font-size:.58rem}.brand-icon{width:32px;height:32px;font-size:1.65rem}.menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;width:44px;height:44px;border:1px solid #ffffff45;border-radius:50%;background:#13352dd9;color:white;z-index:12}.menu-toggle span{height:1px;width:17px;background:currentColor;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.main-nav{position:absolute;top:82px;right:6%;width:min(320px,88vw);padding:24px;background:var(--green);border:1px solid #ffffff35;border-radius:16px;box-shadow:0 20px 45px #0003;display:none;align-items:stretch;font-size:.95rem;gap:10px;flex-direction:column}.main-nav.is-open{display:flex}.nav-contact{margin-top:5px;justify-content:space-between}.hero{height:930px;min-height:0;max-height:none}.hero-image{height:670px;top:auto;bottom:0;object-fit:cover;object-position:73% center}.hero-shade{background:linear-gradient(180deg,#0e302b 0%,#0e302b 29%,#0e302bf2 37%,#0e302b77 47%,transparent 63%)}.hero-content{padding-top:152px;padding-bottom:0}.hero-eyebrow{margin-bottom:18px;font-size:.65rem}.hero h1{max-width:100%;font-size:clamp(1.95rem,6.4vw,3rem);line-height:1.55}.hero-description{font-size:.84rem;line-height:2;margin-top:21px}.hero .button{margin-top:23px;min-height:47px;font-size:.8rem;padding-left:19px;gap:20px}.hero .round-arrow{height:28px;width:28px}.hero-bottom{bottom:16px;font-size:.57rem}.hero-bottom>span{max-width:115px;line-height:1.8}.scroll-link{gap:12px;font-size:.55rem}.hero-label{top:65%;right:5%;padding:14px 17px}.hero-label>span{font-size:.9rem}.hero-label small{font-size:.55rem}.purpose{display:block}.purpose-copy{margin-top:28px}.purpose-copy h2{font-size:1.85rem}.purpose-copy>p{font-size:.86rem;line-height:2.25;margin-top:20px}.desktop-break{display:none}.section-label{font-size:.71rem}.product-section{padding:60px 0;border-radius:40px 40px 0 0}.pill{font-size:.69rem;padding:4px 12px}.product-grid{grid-template-columns:1fr;gap:20px;padding-top:35px}.app-name{font-size:2.7rem}.product-category{font-size:.78rem}.product-copy h3{font-size:1.9rem;margin-top:22px}.product-copy>p:not(.product-category):not(.app-availability){font-size:.89rem;margin-top:17px}.product-copy .button{font-size:.85rem}.product-visual{min-height:515px;margin-top:12px;padding-top:22px}.record-preview{width:300px;max-width:90%;padding-inline:19px}.floating-note{left:-1%;top:13px}.visual-word{right:1%;bottom:0;font-size:2.3rem}.feature-tabs{display:flex;gap:7px;margin-top:24px}.feature-tabs button{flex:1;min-width:0;min-height:113px;display:block;padding:12px 7px;border-radius:8px}.feature-number{display:block;font-size:.85rem;margin:0 0 3px}.feature-tab-copy b{font-size:.82rem;line-height:1.65;letter-spacing:-.03em}.feature-tab-copy small{display:none}.services-top{display:block}.services-top h2{font-size:1.9rem;margin-top:26px}.services-top>p{font-size:.85rem;margin-top:24px}.service-list{margin-top:30px}.service summary{gap:13px;min-height:110px}.service-icon{margin-left:0;width:23px;height:23px}.service-number{font-size:.78rem}.service-title{margin-left:2px}.service-title small{font-size:.53rem;letter-spacing:.05em}.service-title strong{font-size:1.06rem;line-height:1.6;display:block}.service-toggle{width:30px;height:30px;font-size:1.2rem;flex-shrink:0}.service-detail{display:block;padding:0 0 25px 0;font-size:.83rem}.service-detail br{display:none}.service-tags{margin-top:16px;gap:6px}.service-tags>span{font-size:.67rem;padding-inline:9px}.about{display:block}.about h2{font-size:1.9rem;margin-top:27px}.about-heading>p{font-size:.85rem;margin-top:18px}.company-info{margin-top:35px}.company-info>div{grid-template-columns:75px 1fr;padding-block:20px;gap:13px}.company-info dt{font-size:.73rem}.company-info dd{font-size:.81rem}.company-info dd span{font-size:.72rem}.contact{padding-block:64px}.contact-inner{display:block}.contact h2{font-size:2.05rem}.contact p:not(.eyebrow){font-size:.84rem}.contact p br{display:none}.contact-action{align-items:flex-start;margin-top:30px;gap:24px}.contact-preparing{font-size:.8rem}.contact-english{align-self:flex-end;font-size:2.5rem;margin-top:-10px}.footer{padding-top:35px}.footer-top{flex-wrap:wrap;gap:25px}.footer-top>p{margin-left:auto;font-size:.67rem}.back-top{width:100%;justify-content:flex-end;margin-top:0}.footer-bottom{font-size:.59rem;margin-top:20px}.footer-bottom>span:last-child{display:none}}
@media(max-width:360px){.hero{height:890px}.hero h1{font-size:1.83rem}.hero-label{right:4%}.service-title strong{font-size:.96rem}.record-preview{max-width:95%}.floating-note{font-size:.7rem;padding:11px}.floating-note b{font-size:.9rem}.feature-tab-copy b{font-size:.72rem}.footer-top>p{margin-left:0}.company-info>div{grid-template-columns:68px 1fr}}
.hero-description,.purpose-copy>p,.product-copy>p:not(.product-category):not(.app-availability),.services-top>p,.service-detail,.about-heading>p,.company-info dd,.contact p:not(.eyebrow){font-size:1rem}.main-nav,.button,.company-info dt,.back-top,.contact-preparing{font-size:.875rem}.preview-caption,.sample-record small,.wordmark small,.hero-label small,.footer-bottom,.hero-bottom,.scroll-link,.service-title small,.record-grid>span,.graph-labels,.report-sheet>div:first-child span,.pdf-label{font-size:.75rem}.hero-label small{margin-top:3px}.feature-tab-copy b{text-wrap:balance}.company-info dd span{font-size:.875rem}.feature-tab-copy small{font-size:.8rem}.service-tags>span{font-size:.8rem}
@media(max-width:760px){.feature-tab-copy b{font-size:.875rem}.hero .button,.button{font-size:.875rem}.hero-bottom{gap:15px}.hero-bottom>span{max-width:150px}.scroll-link{font-size:.65rem}.wordmark small{font-size:.65rem}.hero-label small{font-size:.65rem}.service-title strong{font-size:1.1rem}.service-title small{font-size:.65rem}.service-detail{font-size:1rem}.company-info>div{grid-template-columns:80px 1fr}.contact-preparing{font-size:.875rem}}
.dog-film{opacity:0;transition:opacity .45s}.dog-film.is-playing{opacity:1}.hero .dog-film{animation:none}.motion-toggle{display:flex;align-items:center;gap:12px;border:1px solid #ffffff45;border-radius:30px;padding:6px 15px;background:#10352f80;color:var(--paper);font-size:.75rem;min-height:36px}.motion-toggle:hover{background:#10352f}.motion-toggle span{font-size:.95rem}.dog-runway{position:relative;grid-column:1/-1;width:100%;height:230px;margin-top:20px;border-bottom:1px solid #ced9c8;overflow:hidden}.dog-runway>p{font-family:var(--serif);font-size:2rem;line-height:1.6;position:absolute;left:3%;top:38px;z-index:1;pointer-events:none}.dog-runway>p span{color:#ac572c}.runner-position{position:absolute;width:310px;height:207px;bottom:8px;left:0;will-change:transform;z-index:2}.runner-canvas{display:block;width:100%;height:100%;filter:drop-shadow(0 10px 5px #1f432411)}.runway-caption{position:absolute;right:2%;bottom:12px;font-family:Georgia,serif;font-size:1.1rem;font-style:italic;color:#738065;z-index:1}.purpose.section-space{padding-bottom:45px}
.product-section{position:relative;isolation:isolate}.product-visual{perspective:1100px}.product-visual .record-preview{transition:transform .85s cubic-bezier(.2,.7,.2,1),opacity .55s;transform-origin:30% 0%;z-index:3}.product-visual .floating-note,.product-visual .visual-word{transition:transform .8s cubic-bezier(.2,.7,.2,1),opacity .45s}.garden-scene{position:absolute;left:-18px;right:-35px;top:65px;bottom:65px;background:#254d35;border:9px solid #fffdf3;border-radius:5px;overflow:hidden;transform:translateY(38px) rotate(5deg) scale(.93);opacity:0;transition:transform .85s cubic-bezier(.16,1,.3,1),opacity .5s;box-shadow:0 25px 60px #24452c25;pointer-events:none;z-index:1}.garden-canvas{display:block;width:100%;height:100%;object-fit:cover;object-position:60% 50%}.garden-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0c2d1d99,transparent 65%)}.garden-caption{position:absolute;left:25px;bottom:23px;color:white;z-index:1}.garden-caption>span{font-family:Georgia,serif;font-size:.8rem;font-style:italic}.garden-caption p{font-family:var(--serif);font-size:1.45rem;line-height:1.55;margin-top:7px;letter-spacing:.05em}.product-visual.garden-open .garden-scene{opacity:1;transform:translateY(0) rotate(-2deg) scale(1)}.product-visual.garden-open .record-preview{transform:translate(-35px,-125px) rotate(-17deg) rotateY(-12deg) scale(.88);opacity:0;pointer-events:none}.product-visual.garden-open .floating-note{transform:translate(10px,-110px) rotate(14deg);opacity:0}.product-visual.garden-open .visual-word{transform:translate(25px,50px) rotate(3deg);opacity:0}.reveal-dog-toggle{position:absolute;bottom:2px;left:22px;z-index:5;display:flex;align-items:center;gap:12px;border:0;border-bottom:1px solid #84917c;background:transparent;padding:8px 0;font-size:.8rem;min-height:40px}.reveal-dog-toggle:hover{color:#a4542b}.peek-line{display:inline-block;width:22px;height:1px;background:currentColor;transform:rotate(-35deg)}
.service-layout{display:flex;flex-direction:column;gap:55px;margin-top:40px;min-width:0}.service-layout .service-list{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:0 65px;margin-top:0}.service-layout .service{padding-top:5px;border-bottom:1px solid #ffffff30}.service-layout .service summary{gap:15px;min-height:110px}.service-layout .service-icon{margin-left:0;width:26px;height:26px}.service-layout .service-title{margin-left:3px}.service-layout .service-title strong{font-size:1.2rem}.service-layout .service-title small{font-size:.64rem}.service-layout .service-toggle{flex-shrink:0;width:34px;height:34px}.service-layout .service-detail{padding:0 0 35px;display:block}.service-layout .service-detail br{display:none}.service-layout .service-tags{margin-top:18px}
.photo-story{order:-1;position:relative;width:100%;padding:0;min-width:0;isolation:isolate}.photo-stack{height:730px;width:100%;position:relative;perspective:1200px}.photo-card{--scatter-x:0px;--scatter-y:0px;--scatter-angle:0deg;--scatter-scale:.84;--hover-lift:0px;position:absolute;left:50%;top:50%;width:clamp(200px,23%,280px);margin:0;background:#fff8e9;padding:12px 12px 19px;border-radius:3px;box-shadow:0 18px 30px #001c2840;z-index:var(--order);transform:translate(-50%,-50%) translate3d(var(--scatter-x),calc(var(--scatter-y) + var(--hover-lift)),var(--scatter-depth,0px)) rotate(var(--scatter-angle)) scale(var(--scatter-scale));transform-origin:50% 50%;will-change:transform;opacity:1;transition:box-shadow .3s;pointer-events:auto}.photo-card:nth-child(2){width:clamp(190px,21%,250px)}.photo-card:nth-child(3){width:clamp(190px,22%,265px)}.photo-card:nth-child(4){width:clamp(190px,20%,240px)}.photo-card:hover{--hover-lift:-12px;z-index:10;box-shadow:0 30px 50px #001c2866}.card-photo{width:100%;aspect-ratio:1;background-image:url('assets/life-husky-golden.png');background-size:200% 200%;background-position:var(--photo-x) var(--photo-y)}.photo-card figcaption{color:var(--green);font-family:var(--serif);font-size:.88rem;line-height:1.6;margin-top:14px;display:flex;align-items:center;justify-content:center;gap:12px;white-space:nowrap}.photo-card figcaption>span{font-family:Georgia,serif;font-size:.72rem;color:#8a7054;font-style:italic}.scatter-message{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:45%;text-align:center;z-index:0;opacity:var(--message-opacity,0);pointer-events:none}.scatter-message .eyebrow{font-size:.62rem;letter-spacing:.1em;color:#becfba}.scatter-message p{font-family:var(--serif);font-size:clamp(1.5rem,2.6vw,2.3rem);line-height:1.7;margin-top:15px;letter-spacing:.04em}.photo-story-footer{display:flex;justify-content:center;align-items:center;gap:25px;color:#d8e3cf;font-size:.75rem}.photo-story-footer button{border:0;border-bottom:1px solid #ffffff50;background:transparent;padding:7px 0;color:inherit;font-size:.78rem;min-height:36px;cursor:pointer}.photo-story-footer button span{margin-left:12px}.photo-story-footer button:hover{color:var(--orange);border-color:var(--orange)}.photo-scroll-note{font-size:.65rem;letter-spacing:.08em;margin-left:auto}
@media(max-width:1100px){.garden-scene{left:-10px;right:-10px;top:75px;bottom:80px}.garden-caption{left:18px;bottom:19px}.garden-caption p{font-size:1.3rem}.service-layout .service-list{gap:0 35px}.service-layout .service-title strong{font-size:1.04rem}.service-layout .service-title small{font-size:.58rem}.service-layout .service-icon{width:22px;height:22px}.service-layout .service summary{gap:10px}.photo-stack{height:680px}.photo-card figcaption{font-size:.78rem;gap:7px}.photo-card{padding:10px 10px 15px}}
@media(max-width:760px){.hero-bottom{flex-wrap:wrap;gap:8px 18px}.hero-bottom>span{font-size:.6rem;max-width:140px}.motion-toggle{padding:5px 10px;font-size:.7rem;margin-left:auto}.hero-bottom .scroll-link{width:100%;justify-content:flex-end}.dog-runway{height:200px;margin-top:37px}.dog-runway>p{font-size:1.35rem;left:0;top:12px}.runner-position{width:245px;height:164px;bottom:7px}.runway-caption{font-size:.8rem;bottom:7px;right:0}.purpose.section-space{padding-bottom:25px}.product-visual{min-height:525px;margin-top:25px}.garden-scene{left:-3%;right:-3%;top:95px;bottom:auto;aspect-ratio:1.35;border-width:6px}.garden-caption{left:17px;bottom:14px}.garden-caption p{font-size:1.22rem;line-height:1.45}.garden-caption>span{font-size:.72rem}.product-visual.garden-open .garden-scene{transform:rotate(-3deg)}.product-visual.garden-open .record-preview{transform:translate(-15px,-95px) rotate(-15deg) scale(.9)}.reveal-dog-toggle{font-size:.78rem;bottom:0;left:8px}.service-layout{gap:40px;margin-top:20px}.service-layout .service-list{display:block}.service-layout .service{padding-top:12px}.service-layout .service-detail{font-size:1rem;padding-bottom:30px}.service-layout .service-title strong{font-size:1.07rem}.service-layout .service-title small{font-size:.6rem}.service-layout .service summary{min-height:100px}.photo-stack{height:640px}.photo-card{width:142px;padding:7px 7px 11px}.photo-card:nth-child(2){width:133px}.photo-card:nth-child(3){width:144px}.photo-card:nth-child(4){width:136px}.photo-card figcaption{font-size:.59rem;gap:5px;margin-top:9px;white-space:normal}.photo-card figcaption>span{font-size:.55rem}.scatter-message{width:100%}.scatter-message p{font-size:1.45rem;line-height:1.75;margin-top:10px}.scatter-message .eyebrow{font-size:.52rem;letter-spacing:.05em}.photo-story-footer{flex-wrap:wrap;gap:20px;margin-top:-10px}.photo-scroll-note{width:100%;margin:0;text-align:center;font-size:.58rem}.photo-story-footer button{font-size:.75rem}.photo-card:hover{--hover-lift:0px}}
@media(max-width:360px){.photo-card{width:130px}.photo-card:nth-child(2){width:124px}.photo-card:nth-child(3){width:130px}.photo-card:nth-child(4){width:127px}.scatter-message p{font-size:1.3rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-reveal .reveal{opacity:1;transform:none}.record-preview,.hero-label,.floating-note,.visual-word,.contact-english,.purpose-note .serif{transform:none}}

.photo-stack{overflow:visible}.photo-card{backface-visibility:hidden}.hero .dog-film{pointer-events:none}
.hero .dog-film{object-position:center top}.hero:has(.dog-film.is-playing)>img.hero-image{visibility:hidden}@media(max-width:760px){.hero .dog-film{object-position:73% top}}
.hero .dog-film{object-fit:contain;object-position:center bottom;mask-image:linear-gradient(90deg,transparent 8%,black 24%,black 88%,transparent 100%)}@media(max-width:760px){.hero .dog-film{object-fit:contain;object-position:center bottom;width:150%;max-width:none;left:-45%;height:650px;mask-image:linear-gradient(90deg,transparent,black 18%,black 95%,transparent)}}
@media(max-width:760px){.hero-label{top:79%;right:4%}.hero .dog-film{mask-image:linear-gradient(0deg,black 0%,black 62%,transparent 74%)}}
@media(min-width:761px){.hero .dog-film{mask-image:linear-gradient(90deg,transparent 12%,black 27%,black 79%,transparent 87%)}}
/* Quiet material and directional light, without an autonomous animation. */
body{background:#faf8f1;background-image:radial-gradient(ellipse at 8% 19%,#e7e1cc52,transparent 36%),radial-gradient(ellipse at 92% 61%,#e0e7d852,transparent 34%)}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:30;opacity:.027;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.73' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' d='M0 0h180v180H0z' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E");mix-blend-mode:multiply}
.hero{background:radial-gradient(ellipse at 74% 41%,#426a546e,transparent 51%),radial-gradient(ellipse at 28% 100%,#1b50453d,transparent 65%),#0c302b}
.hero-shade{background:linear-gradient(90deg,#092a25d9 0%,#092a2573 36%,transparent 67%),linear-gradient(0deg,#092a254d,transparent 24%)}
.hero-label{box-shadow:0 12px 28px #06241c29}
.product-section{background:radial-gradient(ellipse at 82% 40%,#d9dfc9a6,transparent 52%),linear-gradient(125deg,#f3f0e5,#e9eadd);box-shadow:inset 0 1px 0 #fff9}
.services{background:radial-gradient(ellipse at 82% 8%,#32665582,transparent 47%),radial-gradient(ellipse at 10% 50%,#17493f,transparent 58%),linear-gradient(145deg,#0b2824,#103b31 55%,#092b26);position:relative;isolation:isolate}
.services:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(119deg,transparent 22%,#a4b88f08 25%,transparent 30%,transparent 48%,#d8d7a60a 51%,transparent 55%);filter:blur(15px)}
.photo-card{box-shadow:0 8px 10px #031c2c26,0 28px 48px #011c2870}
.contact{background:radial-gradient(ellipse at 90% 0%,#ffc28e,transparent 56%),linear-gradient(120deg,#fa8b48,#efa15f);box-shadow:inset 0 1px 0 #ffd8b6}
@media(max-width:760px){.hero-shade{background:linear-gradient(180deg,#0c302b 0%,#0c302b 25%,#0c302be8 34%,#0c302b65 46%,transparent 63%)}.services:before{opacity:.6}}


/* Full-size hero frames share a 3:2 camera rather than a tiny all-in-one atlas. */
.hero .dog-film{object-fit:contain;object-position:center bottom;width:100%;height:100%;left:0;mask-image:linear-gradient(90deg,transparent 3%,black 18%,black 83%,transparent 97%)}
.hero-shade{background:linear-gradient(90deg,#092a25bb 0%,#092a2540 41%,transparent 65%),linear-gradient(0deg,#092a2540,transparent 24%)}
@media(max-width:760px){.hero .dog-film{width:150%;left:-43%;height:650px;object-position:center bottom;mask-image:linear-gradient(0deg,black 0%,black 63%,transparent 82%)}.hero-shade{background:linear-gradient(180deg,#0c302b 0%,#0c302b 26%,#0c302be8 34%,#0c302b65 46%,transparent 63%)}.hero-label{top:80%}}
.site-header{background:linear-gradient(180deg,#08272366,transparent)}
@media(max-width:760px){.hero .dog-film{height:500px;object-fit:cover;object-position:73% bottom;mask-image:linear-gradient(0deg,black 0%,black 80%,transparent 100%)}}

/* Fill the desktop hero with the same camera image: no internal letterbox edge. */
@media(min-width:761px){
  .hero .hero-image{object-fit:cover;object-position:80% center}
  .hero .dog-film{object-fit:cover;object-position:80% center;mask-image:none}
  .hero-shade{background:linear-gradient(90deg,rgba(6,30,26,.88) 0%,rgba(6,30,26,.66) 32%,rgba(6,30,26,.16) 58%,transparent 76%),linear-gradient(180deg,rgba(6,30,26,.25),transparent 22%)}
}
/* 761〜1099px もメニューボタンにする（ナビの項目が1行に収まらないため） */
.main-nav>a,.wordmark small{white-space:nowrap}
@media(min-width:1100px) and (max-width:1240px){.main-nav{gap:18px}}
@media(min-width:761px) and (max-width:1099px){.menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;width:44px;height:44px;border:1px solid #ffffff45;border-radius:50%;background:#13352dd9;color:white;z-index:12}.menu-toggle span{height:1px;width:17px;background:currentColor;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.main-nav{position:absolute;top:88px;right:6%;width:min(320px,88vw);padding:24px;background:var(--green);border:1px solid #ffffff35;border-radius:16px;box-shadow:0 20px 45px #0003;display:none;align-items:stretch;font-size:.95rem;gap:10px;flex-direction:column}.main-nav.is-open{display:flex}.nav-contact{margin-top:5px;justify-content:space-between}}
