@charset "UTF-8";
:root{--ink:#0c333e;--deep:#082831;--muted:#536b71;--paper:#f7f8f4;--water:#b5e9ec;--aqua:#65cbd1;--line:#06a846;--stroke:#cad9da;--serif:"Noto Sans JP",sans-serif;--display:"Barlow Condensed",sans-serif;color-scheme:light;font-family:var(--serif);font-synthesis:none;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;overflow-x:clip}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,summary,label{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{opacity:.6;cursor:default}button,a,summary,.check-card{touch-action:manipulation}img{display:block;max-width:100%;height:auto}figure,p,h1,h2,h3,blockquote{margin:0}p{font-size:15px;line-height:2}button{border:0}h1,h2,h3{font-weight:800;letter-spacing:-.055em;line-height:1.4}h2{font-size:clamp(34px,4.4vw,62px)}h3{font-size:26px}em{font-style:normal}fieldset{padding:0;border:0;margin:0}details>summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}[hidden]{display:none!important}:focus-visible{outline:3px solid #e68c25;outline-offset:5px}.wrap{width:min(1200px,calc(100% - 100px));margin-inline:auto}.section{padding-block:110px}.small{font-size:12px;line-height:1.8}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.12em;margin-bottom:18px}.tiny{font-family:var(--display);font-size:12px;letter-spacing:.15em}.ink-light{color:#527980}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip{position:fixed;top:-90px;left:20px;z-index:1000;background:white;padding:15px}.skip:focus{top:10px}
.section-kicker{display:flex;align-items:center;gap:28px;font-size:12px;letter-spacing:.08em;font-weight:600;margin-bottom:48px}.kicker-rule{height:1px;flex:1;background:currentColor;opacity:.2}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:36px;margin-bottom:45px}.section-heading>p{max-width:390px}.section-heading em{color:#278994}.button{--shadow:#062c34;position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:56px;padding:16px 23px;border-radius:5px 22px 5px 22px;font-size:14px;font-weight:700;line-height:1.5;border:1px solid transparent;box-shadow:0 4px 0 var(--shadow),inset 0 1px 0 #ffffff40;transition:translate .18s,scale .18s,box-shadow .18s,filter .18s,background .18s;isolation:isolate;overflow:hidden}.button>span{font-size:22px;line-height:1}.button:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 15%,#ffffff2b 45%,transparent 70%);translate:-110% 0;transition:translate .55s;pointer-events:none}.button-water{color:var(--ink);background:linear-gradient(140deg,#e0fbf6,#b5e9ec 60%,#8fd2d8);--shadow:#61969d}.button-ink{color:white;background:linear-gradient(145deg,#255762,#0c333e);--shadow:#031b22}.button-line{color:white;background:linear-gradient(135deg,#12bb62,#009b41);--shadow:#006c2b}.button-outline{background:#ffffff0d;border-color:currentColor;--shadow:#0c333e20}.text-link{display:inline-flex;align-items:center;justify-content:center;gap:15px;font-size:13px;font-weight:600;min-height:46px;background:none;border-bottom:1px solid currentColor;padding:6px 0}.utility{background:transparent;color:inherit;min-width:44px;min-height:44px}.is-pressed{translate:0 3px!important;scale:.975!important;filter:brightness(.92)!important}.button.is-pressed{box-shadow:0 0 0 var(--shadow),inset 0 3px 8px #0003}.button:active{translate:0 3px;scale:.98}.button:focus-visible{outline-offset:6px}
.site-header{position:absolute;z-index:60;top:0;left:0;right:0;padding:25px 4%;display:flex;align-items:center;justify-content:space-between;gap:25px;color:white;border-bottom:1px solid #fff3}.brand{display:flex;align-items:center;gap:9px;flex-shrink:0}.brand svg{width:35px;height:45px}.brand>span{font-size:31px;font-weight:900;letter-spacing:-.055em;line-height:1.1}.brand small{display:block;font-family:var(--display);font-size:12px;font-weight:500;letter-spacing:.17em;margin-top:6px}.desktop-nav{display:flex;gap:24px;font-size:12px;font-weight:500}.desktop-nav a{padding:14px 0}.header-actions{display:flex;gap:13px;align-items:center}.header-contact{min-height:43px;padding:10px 17px;font-size:12px}.sound-switch{font-size:12px;letter-spacing:.03em;display:flex;align-items:center;gap:7px}.sound-switch span{font-family:var(--display);border:1px solid #fff6;border-radius:20px;padding:4px 7px;font-size:13px}.sound-switch[aria-pressed=true] span{color:var(--ink);background:var(--water);border-color:var(--water)}.menu-toggle{display:none;width:44px}.menu-toggle span{display:block;height:1px;width:23px;background:currentColor;margin:7px auto;transition:transform .25s}.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)}.mobile-nav{position:absolute;z-index:59;top:88px;inset-inline:14px;border-radius:5px 25px;background:var(--paper);box-shadow:0 15px 60px #08283150;padding:20px}.mobile-nav a{padding:16px 4px;display:flex;justify-content:space-between;border-bottom:1px solid var(--stroke);font-size:15px;font-weight:600}.mobile-nav a span{font-family:var(--display);opacity:.5}
.hero{position:relative;isolation:isolate;min-height:max(790px,100svh);color:white;overflow:hidden;background:var(--deep)}.hero-image{position:absolute;z-index:-4;width:100%;height:100%;object-fit:cover;object-position:center 65%;animation:hero-settle 1.5s cubic-bezier(.2,.8,.2,1) both}.hero-shade{position:absolute;inset:0;z-index:-3;background:linear-gradient(90deg,#03242df0,#08283191 56%,#07232b15),linear-gradient(0deg,#082831bf,transparent 50%)}.hero-content{padding:177px 0 160px;width:min(1200px,calc(100% - 100px));margin:auto;position:relative}.hero-label{font-size:12px;font-weight:500;letter-spacing:.15em;display:flex;align-items:center;gap:13px;margin-bottom:28px}.hero-label:before{content:"";height:7px;width:7px;border-radius:50%;background:var(--water);box-shadow:0 0 20px var(--water)}.hero h1{font-size:clamp(58px,6.5vw,96px);font-weight:900;letter-spacing:-.07em;line-height:1.31;max-width:800px}.hero h1 span{display:block;animation:title-enter .9s cubic-bezier(.2,.8,.2,1) both}.hero h1 span:nth-child(2){animation-delay:.13s}.hero h1 span:nth-child(3){animation-delay:.26s;color:var(--water)}.hero-intro{font-size:14px;line-height:2.1;letter-spacing:.07em;margin:27px 0 25px}.hero-buttons{display:flex;align-items:center;gap:27px}.hero-note{position:absolute;right:5%;top:30%;border-top:1px solid #fff7;padding-top:18px;width:230px;display:grid;gap:15px}.hero-note strong{font-size:17px;font-weight:500;line-height:1.8;letter-spacing:.02em}.hero-note>span:last-child{font-size:12px;letter-spacing:.05em}.hero-case{position:absolute;bottom:95px;right:4%;display:flex;gap:18px;align-items:center;background:#eef9f0e8;color:var(--ink);padding:10px 18px 10px 10px;border:1px solid #fffb;backdrop-filter:blur(14px);border-radius:4px 30px 4px 4px;max-width:350px;box-shadow:0 16px 50px #031d2a30;animation:case-enter 1s .4s both}.hero-case img{width:90px;height:100px;object-fit:cover;border-radius:3px}.hero-case small{font-size:12px}.hero-case strong{font-size:17px;line-height:1.6;display:block;margin-top:5px}.hero-case b{font-size:30px;font-weight:400;margin-left:12px}.hero-bottom{position:absolute;left:4%;right:4%;bottom:26px;border-top:1px solid #ffffff45;padding-top:18px;display:flex;justify-content:space-between;font-family:var(--display);font-size:12px;letter-spacing:.2em}.hero-wipe{position:absolute;inset:-20%;z-index:-2;background:linear-gradient(100deg,transparent 30%,#dafcfc45 49.5%,#ffffffbd 50%,transparent 51%);animation:hero-wipe 1.25s .1s cubic-bezier(.65,.01,.27,1) both;pointer-events:none}
.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.intro-copy{display:grid;gap:20px}.scene-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:50px}.scene-choice{position:relative;min-height:280px;overflow:hidden;color:white;background:var(--deep);border-radius:3px 40px 3px 3px}.scene-choice:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#032630e8,transparent 90%)}.scene-choice img{width:100%;height:100%;position:absolute;object-fit:cover;transition:scale .7s}.scene-choice>span{position:absolute;inset:auto 22px 24px;z-index:1}.scene-choice small{font-size:12px;display:block;margin-bottom:12px}.scene-choice strong{font-size:18px;font-weight:700;display:block;max-width:86%;line-height:1.7}.scene-choice b{position:absolute;right:0;bottom:0;font-size:25px;font-weight:400}
.works{background:radial-gradient(ellipse at top right,#c9ecec80,transparent 60%),linear-gradient(130deg,#e5eeee,#f0f3eb)}.case-tabs{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}.case-tab{min-height:48px;padding:13px 24px;border:1px solid #77979d;border-radius:30px;background:#ffffff50;font-size:13px;transition:background .2s,box-shadow .2s}.case-tab[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink);box-shadow:0 4px 0 #6b999a}.case-board{background:#ffffffad;border:1px solid #fff;border-radius:5px 45px 5px 5px;display:grid;grid-template-columns:.85fr 1.7fr;padding:35px;gap:40px;box-shadow:0 25px 60px #0c333e0a}.case-meta{display:flex;flex-direction:column;gap:20px;align-items:flex-start}.case-number{font-family:var(--display);font-size:94px;line-height:1;font-weight:500;color:#5c9da4}.case-meta h3{margin:8px 0 20px;font-size:28px}.case-meta p{font-size:13px}.case-meta .button{margin-top:auto;font-size:12px;gap:12px;min-height:48px}.case-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;min-width:0}.case-image{background:#d3e2e0;overflow:hidden;position:relative;aspect-ratio:3/4}.case-image img{height:100%;width:100%;object-fit:contain}.case-pair figcaption{display:flex;align-items:center;justify-content:space-between;font-size:12px;margin-top:12px}.case-pair figcaption span{font-family:var(--display);font-size:19px;letter-spacing:.1em}.case-pair figure:last-child figcaption{color:#147581}.shine{position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 20%,#ffffff70 49%,transparent 75%);translate:-150% 0}.is-shining .shine{animation:shine .75s ease both}.case-footnote{margin-top:18px;font-size:12px;color:var(--muted)}.wipe-experience{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px;margin-top:80px}.wipe-experience h3{font-size:38px;line-height:1.4;margin-bottom:24px}.wipe-experience p{margin-bottom:13px}.wipe-buttons{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin:22px 0 15px}.wipe-stage{position:relative;aspect-ratio:1/1;max-height:470px;overflow:hidden;border-radius:50% 50% 5px 5px;box-shadow:0 20px 45px #0c333e20;border:6px solid #ffffff90;background:#e2e9e8}.wipe-stage>img{height:100%;width:100%;object-fit:cover}.wipe-stage canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:pan-y;cursor:ew-resize}.wipe-hint{position:absolute;pointer-events:none;top:50%;left:50%;transform:translate(-50%,-50%);font-size:14px;font-weight:700;white-space:nowrap;background:#ffffffc9;padding:13px 20px;border-radius:30px;transition:opacity .3s}.wipe-stage.started .wipe-hint{opacity:0}
.check-section{position:relative;isolation:isolate;background:var(--ink);color:white;overflow:hidden}.check-texture{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 90% 20%,#437b824a,transparent 55%),repeating-linear-gradient(125deg,transparent 0px,transparent 79px,#ffffff05 80px,#ffffff05 81px)}.check-heading{display:flex;align-items:center;justify-content:space-between;gap:35px;margin-bottom:45px}.check-heading h2{margin-bottom:24px}.check-heading em{color:var(--water)}.check-heading p{color:#d6e7e9}.check-heading .small{margin-top:12px;color:#b4ced1}.water-counter{position:relative;width:165px;height:190px;border-radius:50% 50% 48% 48%;border:1px solid #78b3bb;overflow:hidden;display:grid;place-items:center;flex-shrink:0;rotate:8deg;background:linear-gradient(130deg,#ffffff0f,#ffffff04);box-shadow:inset 0 0 40px #5cafb515,0 20px 40px #001f2640}.water-counter>span{position:relative;rotate:-8deg;text-align:center}.water-counter b{font-family:var(--display);font-size:95px;line-height:1;display:block;font-weight:500}.water-counter small{font-family:var(--display);letter-spacing:.15em;font-size:12px}.water-fill{position:absolute;bottom:0;width:140%;height:0;background:linear-gradient(#319faa,#18626e);border-radius:40% 35% 0 0;transition:height .7s cubic-bezier(.18,.8,.2,1)}.check-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:15px}.check-card{position:relative;grid-column:span 2;min-height:205px;cursor:pointer;border:1px solid #ffffff35;border-radius:5px 25px 5px 5px;overflow:hidden;padding:22px;display:flex;align-items:flex-end;transition:border-color .25s,box-shadow .25s,translate .2s;isolation:isolate}.check-card:nth-last-child(-n+2){grid-column:span 3;min-height:170px}.check-card:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(0deg,#062c35f5 5%,#062c35c9 65%,#062c3570)}.check-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.7;transition:scale .5s,opacity .3s}.check-card input{position:absolute;top:20px;right:20px;width:30px;height:30px;opacity:0}.check-number{position:absolute;top:16px;left:22px;font-family:var(--display);font-size:29px;color:#c6e5e8}.check-mark{position:absolute;top:19px;right:20px;display:grid;place-items:center;width:28px;height:28px;border:1px solid #b7d9da;color:transparent;border-radius:50%;transition:background .2s,scale .25s}.check-copy{padding-top:42px}.check-copy strong{display:block;font-size:18px;line-height:1.5}.check-copy>span{display:block;font-size:12px;line-height:1.8;color:#d0e0e2;margin-top:8px}.check-card:has(input:checked){border-color:var(--water);box-shadow:0 0 0 2px #b5e9ec70,inset 0 0 40px #74d1d315}.check-card:has(input:checked) .check-mark{background:var(--water);color:var(--ink);scale:1.12;box-shadow:0 0 20px #b5e9ec70}.check-card:has(input:checked) img{scale:1.04;opacity:1}.check-card:has(input:focus-visible){outline:3px solid #ffd38f;outline-offset:5px}.check-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:30px}.check-actions .small{color:#c7dfe2}.check-result{background:var(--paper);color:var(--ink);padding:36px;border-radius:4px 40px;margin-top:35px;box-shadow:0 14px 40px #001b2430}.check-result h3{font-size:29px;margin-bottom:26px}.recommendations{display:grid;gap:15px}.recommendation{display:grid;grid-template-columns:75px 1fr auto;align-items:center;gap:20px;padding:15px 0;border-top:1px solid var(--stroke)}.recommendation img{width:75px;height:75px;object-fit:cover;border-radius:5px}.recommendation strong{font-size:16px;display:block;line-height:1.5}.recommendation p{font-size:12px;margin-top:6px}.recommendation a{padding:12px;font-size:12px;min-width:60px;font-weight:600}.result-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:27px}.completion{display:flex;gap:20px;align-items:center;padding:24px;background:linear-gradient(120deg,#a5e0d529,#68cdd728);border:1px solid #9adee2;border-radius:8px 25px;margin-top:30px}.completion>span{font-size:46px;color:var(--water)}.completion strong{font-size:18px}.completion p{font-size:12px;margin-top:6px}
.services{display:grid;grid-template-columns:1fr 1fr;gap:28px}.service{overflow:hidden;border:1px solid #ccd9d8;background:linear-gradient(125deg,#fff,#f2f5ee);border-radius:5px 40px 5px 5px;display:flex;flex-direction:column;scroll-margin-top:30px}.service.is-recommended{border-color:#3b9d9f;box-shadow:0 0 0 2px #4ea5a630}.service-photo{height:240px;position:relative;overflow:hidden}.service-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0c333e3b,transparent)}.service-photo>img{width:100%;height:100%;object-fit:cover;transition:scale .6s}.photo-index{position:absolute;left:22px;bottom:10px;font-family:var(--display);font-size:65px;color:white;z-index:1;line-height:1}.recommend-tag{position:absolute;top:15px;right:15px;background:var(--water);color:var(--ink);padding:8px 12px;border-radius:20px;font-size:12px;z-index:2}.service-body{padding:30px;display:flex;flex-direction:column;flex:1}.service-body h3{font-size:29px;margin-bottom:15px}.service-body .eyebrow{font-size:12px;letter-spacing:.04em;margin-bottom:13px}.service-body>p:not(.eyebrow){font-size:13px;line-height:1.9}.price{display:flex;align-items:center;gap:12px;margin:23px 0 20px}.price strong{font-family:var(--display);font-weight:500;font-size:61px;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.03em}.price>span{font-size:18px;font-weight:700;white-space:nowrap}.price small{font-size:12px;display:block;margin-top:3px;font-weight:500}.service details{border-top:1px solid var(--stroke);margin-bottom:25px}.service summary{display:flex;justify-content:space-between;font-size:13px;font-weight:600;padding:16px 0;min-height:48px}.service details p{font-size:12px;margin:5px 0 12px}.service-body>.button{margin-top:auto}.service summary span,.about-more summary span,.faq-plus{transition:rotate .25s}details[open]>summary span:last-child{rotate:45deg}
.about-section{background:linear-gradient(115deg,#e2e9e1,#eef2e9 70%,#d4e6df)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.portrait-composition{position:relative;padding-bottom:55px}.portrait-crop{position:relative;width:100%;max-width:440px;margin-inline:auto;aspect-ratio:440/590;border-radius:200px 200px 4px 4px;overflow:hidden;background:#d6dcd1}.portrait-crop img{position:absolute;width:100%;height:auto;max-width:none;bottom:0}.portrait-note{position:absolute;bottom:0;right:-24px;background:var(--ink);color:white;padding:25px 33px;min-width:215px;border-radius:5px 25px 5px 5px;font-size:12px;box-shadow:0 10px 35px #062c3525}.portrait-note strong{display:block;font-size:24px;margin:8px 0;letter-spacing:.1em}.portrait-note small{font-size:12px;letter-spacing:.13em}.portrait-stamp{position:absolute;left:-22px;top:24px;border:1px solid #456569;background:var(--paper);border-radius:50%;height:105px;width:105px;display:grid;align-content:center;text-align:center;font-family:var(--display);font-size:15px;line-height:1.5;rotate:-14deg}.about-copy h2{font-size:clamp(32px,3.9vw,51px);margin-bottom:29px}.about-copy em{color:#31838b}.about-copy>p{font-size:14px;margin-bottom:21px}.about-copy .about-quote{font-weight:700;border-left:3px solid #458b91;padding-left:16px;margin-block:30px}.about-more{border-top:1px solid #adbeb7;margin-bottom:25px}.about-more summary{padding:18px 0;display:flex;justify-content:space-between;font-size:12px;font-weight:600;min-height:48px}.about-more p{font-size:13px;margin-bottom:17px}.about-copy>.button{font-size:12px}
.care-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.care-image{position:relative;min-height:480px;overflow:hidden;border-radius:5px 50px 5px 5px}.care-image img{position:absolute;height:100%;width:100%;object-fit:cover}.care-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#082831c9,transparent 80%)}.care-image>span{position:absolute;z-index:1;bottom:35px;left:30px;color:white;font-size:25px;font-weight:700;line-height:1.6}.care-points article{display:flex;gap:25px;border-top:1px solid #b9cccd;padding-block:28px}.care-points article>span{font-family:var(--display);font-size:34px;color:#518e94;line-height:1}.care-points h3{font-size:20px;line-height:1.6;margin-bottom:13px}.care-points p{font-size:13px}.reviews-section{background:linear-gradient(140deg,#e6edeb,#eef3ed)}.review-list{border-top:1px solid #a7c0c0}.review{display:grid;grid-template-columns:70px 1fr;gap:30px;padding:30px 0;border-bottom:1px solid #b6cbca;align-items:start}.review-index{font-family:var(--display);font-size:40px;color:#4f7f85;line-height:1}.review p{font-size:16px;line-height:2.1;max-width:840px}.after-section{position:relative;isolation:isolate;padding:100px 0;color:white;min-height:650px;display:flex;align-items:center}.after-image{position:absolute;inset:0;z-index:-2}.after-image img{height:100%;width:100%;object-fit:cover;object-position:center}.after-section:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#082831e8,#08283191 60%,#0828312b)}.after-copy h2{font-size:clamp(34px,4.3vw,60px);line-height:1.6;margin-bottom:27px}.after-copy em{color:var(--water)}.after-copy>p:not(.eyebrow){font-size:14px;margin-bottom:30px}.faq-layout{display:grid;grid-template-columns:.85fr 1.25fr;gap:70px}.faq-layout>div:first-child>p:last-child{font-size:14px;margin-top:23px}.faq{border-bottom:1px solid var(--stroke)}.faq:first-child{border-top:1px solid var(--stroke)}.faq summary{min-height:80px;padding:20px 3px;display:flex;align-items:center;gap:15px;font-size:14px;font-weight:600}.faq-q{font-family:var(--display);font-size:27px;color:#32828c}.faq-plus{margin-left:auto;font-weight:400;font-size:24px}.faq>p{font-size:13px;line-height:2;padding:0 30px 25px 42px}.contact-section{background:radial-gradient(ellipse at 90% 10%,#49767b40,transparent 60%),linear-gradient(140deg,#103d49,#082831);color:white}.contact-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:75px}.contact-grid h2{font-size:clamp(32px,4vw,53px);margin-bottom:30px}.contact-grid h2 em{color:var(--water)}.contact-grid p{font-size:13px;color:#c9dfe0}.contact-steps{margin:30px 0;display:grid;gap:15px;font-size:12px}.contact-steps b{font-family:var(--display);font-size:21px;color:var(--water);margin-right:15px;font-weight:500}.contact-phone{display:grid;gap:7px;margin-top:30px;max-width:max-content}.contact-phone small{font-size:12px}.contact-phone strong{font-family:var(--display);font-size:44px;letter-spacing:.025em;font-weight:500;line-height:1.2}.contact-phone>span{font-size:12px;color:#c7d9db}.contact-note{padding:30px;background:#f4f7efeF;border:1px solid #fff;border-radius:5px 35px 5px 5px;color:var(--ink);align-self:start;box-shadow:0 18px 45px #011d2626}.contact-note>p{color:var(--muted)}.contact-note .eyebrow{font-size:12px;color:var(--ink)}textarea{width:100%;resize:vertical;min-height:220px;border:1px solid #b9cbcb;border-radius:4px;padding:15px;font-size:14px;line-height:1.9;color:var(--ink);background:linear-gradient(#fff,#f9fcf7)}.contact-note p.small{font-size:12px;line-height:1.8;margin-top:10px}.note-controls{display:flex;gap:10px;margin:20px 0;flex-wrap:wrap}.note-controls .button{min-height:46px;font-size:12px;padding:12px 14px;gap:10px;flex:1;white-space:nowrap}.contact-line{display:flex;width:100%}.company-section{display:grid;grid-template-columns:1fr 1fr;gap:75px;padding-block:70px}.footer-brand{display:inline-flex;margin-bottom:25px}.company-details dl{margin:0 0 22px}.company-details dl>div{display:flex;font-size:12px;line-height:1.9;padding:7px 0}.company-details dt{min-width:86px;color:var(--muted)}.company-details dd{margin:0}.company-details .text-link{font-size:12px}.map-link{display:block;position:relative;max-height:280px;overflow:hidden;background:#dfe8e5;border-radius:5px 30px 5px 5px}.map-link img{width:100%;height:100%;object-fit:cover}.map-link span{position:absolute;bottom:18px;right:18px;left:18px;padding:13px 15px;background:#ffffffed;font-size:12px;font-weight:600;box-shadow:0 4px 16px #0001}.footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--stroke);padding-block:25px 35px;font-size:12px}.footer>a{min-height:44px;display:flex;align-items:center}.footer>span{align-self:center}.footer>span:last-child{font-family:var(--display);letter-spacing:.1em}.mobile-dock{display:none}
dialog{border:1px solid #c6d8d8;border-radius:5px 25px;color:var(--ink);width:min(1050px,calc(100% - 30px));max-height:92svh;padding:25px;background:var(--paper);overscroll-behavior:contain}dialog::backdrop{background:#031c24dc;backdrop-filter:blur(6px)}.dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}.dialog-bar h2{font-size:23px}.dialog-bar .button{font-size:12px;min-height:44px;padding:9px 15px;flex-shrink:0}.dialog-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.dialog-pair img{max-height:72svh;width:100%;object-fit:contain;background:#e1e8e5}.dialog-pair figcaption{font-size:12px;margin-top:10px}.toast{position:fixed;z-index:100;left:50%;bottom:100px;translate:-50% 0;max-width:calc(100% - 32px);width:max-content;background:var(--ink);border:1px solid var(--water);padding:14px 22px;color:white;font-size:12px;box-shadow:0 10px 40px #00192340;border-radius:5px 20px;pointer-events:none}.noscript{position:relative;background:#fff3d4;padding:22px;font-size:14px}#effects{position:fixed;inset:0;z-index:200;pointer-events:none;overflow:hidden}.bubble{position:absolute;border-radius:50%;background:radial-gradient(circle at 25% 25%,#fff,#c0eff69c 45%,#60b8c13b);border:1px solid #b8f5ff;box-shadow:0 0 10px #87e1e89c;animation:pop-out .65s cubic-bezier(.1,.6,.3,1) forwards}.bubble.star{border-radius:0;background:#d2efce;border:0;clip-path:polygon(50% 0%,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);animation-duration:1.3s}.motion-ready .reveal{transition:opacity .75s cubic-bezier(.2,.8,.2,1),transform .75s cubic-bezier(.2,.8,.2,1),clip-path .9s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--i,0)*40ms)}.motion-ready .reveal:not(.in-view){opacity:0;transform:translateY(25px);clip-path:inset(0 0 0 0)}.motion-ready .scene-choice.reveal:not(.in-view),.motion-ready .care-image.reveal:not(.in-view){clip-path:inset(0 100% 0 0);transform:none}.reveal.in-view{opacity:1;transform:none}.result-arrive{animation:case-enter .55s ease both}
@keyframes hero-wipe{from{translate:-100% 0}to{translate:100% 0}}@keyframes hero-settle{from{scale:1.06}to{scale:1}}@keyframes title-enter{from{opacity:0;transform:translateY(35px);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:none;clip-path:inset(0 0 0 0)}}@keyframes case-enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes shine{from{translate:-150% 0}to{translate:150% 0}}@keyframes pop-out{0%{opacity:1;transform:translate(-50%,-50%) scale(.4)}75%{opacity:.8}100%{opacity:0;transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) scale(1.1)}}
@media(hover:hover){.button:hover:before{translate:100% 0}.button:hover{translate:0 -2px;box-shadow:0 6px 0 var(--shadow),inset 0 1px 0 #ffffff40}.scene-choice:hover img,.service:hover .service-photo>img{scale:1.035}.case-tab:hover{box-shadow:0 4px 0 #6b999a50}.check-card:hover{border-color:var(--water)}.desktop-nav a:hover,.text-link:hover{color:#3fabb6}.hero .text-link:hover{color:var(--water)}}
@media(min-width:1450px){.hero h1{font-size:96px}.hero-content{padding-top:190px}.hero-case{right:max(4%,calc((100vw - 1200px)/2))}.hero-note{right:max(5%,calc((100vw - 1200px)/2))}}
@media(max-width:1100px){.desktop-nav{display:none}.hero-note{display:none}.hero-content{padding-bottom:220px}.hero-case{bottom:70px;max-width:290px}.hero h1{font-size:72px}.hero-case img{width:68px;height:78px}.hero-case strong{font-size:14px}.wrap,.hero-content{width:calc(100% - 64px)}.about-grid{gap:6%}.portrait-crop{height:auto}.contact-grid{gap:35px}.faq-layout{gap:35px}.menu-toggle{display:block}.company-section{gap:35px}.site-header{padding:20px 32px}.mobile-nav{top:88px}.case-board{gap:25px;padding:25px}.case-meta h3{font-size:23px}.case-number{font-size:75px}.case-meta .button{padding:12px}.care-grid{gap:35px}.wipe-experience{gap:45px}}
@media(max-width:760px){html{scroll-padding-top:24px}.wrap,.hero-content{width:calc(100% - 40px)}.section{padding-block:70px}h2{font-size:36px;line-height:1.5}h3{font-size:23px}.section-kicker{font-size:12px;gap:13px;margin-bottom:30px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{font-size:13px;margin-top:22px}.button{font-size:12px;gap:16px;min-height:53px;padding:15px 19px}.hero{min-height:max(890px,100svh)}.site-header{padding:18px 20px;gap:12px}.brand>span{font-size:26px}.brand small{font-size:12px}.brand svg{width:29px;height:36px}.header-contact{display:none}.header-actions{gap:7px}.sound-switch{font-size:12px}.hero-content{padding-top:150px;padding-bottom:220px}.hero h1{font-size:clamp(44px,10.6vw,72px);letter-spacing:-.06em;line-height:1.4}.hero-label{font-size:12px;letter-spacing:.07em;margin-bottom:28px}.hero-image{object-position:64% center}.hero-shade{background:linear-gradient(90deg,#062731de,#08283165),linear-gradient(0deg,#082831bf,transparent 65%)}.hero-intro{font-size:12px;line-height:2.1;margin-top:28px}.hero-buttons{align-items:flex-start;flex-direction:column;gap:13px}.hero-buttons .button{min-height:56px;font-size:13px;padding-inline:22px}.hero-buttons .text-link{font-size:12px;min-height:40px}.hero-case{left:20px;right:20px;bottom:80px;width:auto;max-width:340px;padding:8px 15px 8px 8px}.hero-case img{width:70px;height:72px}.hero-case strong{font-size:13px}.hero-case strong br{display:none}.hero-case small{font-size:12px}.hero-case b{margin-left:auto;font-size:25px}.hero-bottom{left:20px;right:20px;bottom:24px;font-size:12px;letter-spacing:.09em}.hero-bottom>span{font-size:12px}.intro-grid{grid-template-columns:1fr;gap:25px}.intro-copy{gap:17px}.intro-copy p{font-size:13px}.scene-choices{grid-template-columns:1fr;margin-top:33px;gap:13px}.scene-choice{min-height:195px}.scene-choice>span{inset:auto 22px 23px}.scene-choice strong{font-size:19px}.scene-choice img{object-position:center 58%}.scene-choice:nth-child(2) img{object-position:center 60%}.case-tabs{gap:8px}.case-tab{min-height:44px;flex:1 0 calc(50% - 8px);font-size:12px;padding:12px}.case-board{display:block;padding:20px 15px 24px;border-radius:4px 30px 4px 4px}.case-meta{display:grid;grid-template-columns:50px 1fr;gap:12px;margin-bottom:24px}.case-number{font-size:56px;margin-top:3px}.case-meta h3{font-size:22px;margin:0 0 8px}.case-meta .eyebrow{font-size:12px;margin-bottom:6px}.case-meta p{font-size:12px;line-height:1.8}.case-meta .button{grid-column:2;min-height:42px;font-size:12px;justify-self:start;padding:10px 14px;margin-top:3px}.case-pair{gap:9px}.case-pair figcaption{font-size:12px;gap:4px}.case-pair figcaption span{font-size:16px;letter-spacing:.06em}.case-footnote{font-size:12px;line-height:1.8}.wipe-experience{grid-template-columns:1fr;gap:30px;margin-top:55px}.wipe-experience h3{font-size:30px}.wipe-experience p{font-size:12px}.wipe-experience p br{display:none}.wipe-stage{width:100%;max-width:390px;margin:auto;max-height:none}.wipe-buttons{gap:17px}.wipe-buttons .button{font-size:12px}.wipe-buttons .text-link{font-size:12px}.check-heading{align-items:flex-start;gap:16px}.check-heading h2{font-size:32px;margin-bottom:20px}.check-heading p{font-size:12px}.check-heading p.small{font-size:12px}.water-counter{width:80px;height:96px;margin-top:10px}.water-counter b{font-size:48px}.water-counter small{font-size:12px;letter-spacing:.02em}.check-grid{grid-template-columns:1fr;gap:11px}.check-card,.check-card:nth-last-child(-n+2){grid-column:auto;min-height:105px;padding:19px 48px 18px 62px;align-items:center}.check-card:before{background:linear-gradient(90deg,#062c35f5,#062c35d6 60%,#062c3595)}.check-card>img{object-position:center 55%}.check-number{left:18px;top:34px;font-size:28px}.check-copy{padding:0}.check-copy strong{font-size:16px}.check-copy>span{font-size:12px;line-height:1.7;margin-top:7px}.check-mark{top:38px;right:15px;width:24px;height:24px}.check-card input{top:34px;right:15px}.check-actions{gap:13px 23px}.check-actions .button{width:100%;justify-content:space-between;min-height:56px;font-size:13px}.check-actions .text-link{font-size:12px}.check-actions .small{font-size:12px}.check-result{padding:23px 17px;border-radius:4px 25px}.check-result h3{font-size:22px}.recommendation{grid-template-columns:55px 1fr;gap:12px;position:relative;padding-right:0}.recommendation img{width:55px;height:65px}.recommendation strong{font-size:13px}.recommendation p{font-size:12px;line-height:1.8}.recommendation>a{grid-column:2;padding:4px 0;min-height:36px;display:flex;align-items:center;justify-self:start;font-size:12px}.result-actions{gap:14px}.result-actions .button{width:100%;font-size:12px}.completion{padding:20px 14px;gap:12px}.completion strong{font-size:14px;line-height:1.7}.completion p{font-size:12px}.completion>span{font-size:35px}.services{grid-template-columns:1fr;gap:25px}.service-photo{height:215px}.service-body{padding:25px}.service-body h3{font-size:25px}.service-body>p:not(.eyebrow){font-size:12px}.price strong{font-size:58px}.about-grid{grid-template-columns:1fr;gap:50px}.portrait-composition{max-width:430px;margin:auto;width:100%;padding-inline:10px 20px}.portrait-crop{height:450px;max-width:360px;margin:auto;border-radius:180px 180px 4px 4px}.portrait-crop img{width:100%;min-height:100%;object-fit:cover}.portrait-note{right:0;padding:20px 25px;min-width:195px}.portrait-stamp{left:0;top:20px;width:90px;height:90px;font-size:12px}.about-copy h2{font-size:36px}.about-copy>p{font-size:13px}.about-copy>.button{font-size:12px}.care-grid{grid-template-columns:1fr;gap:27px}.care-image{min-height:330px}.care-image>span{font-size:22px;left:25px;bottom:27px}.care-points article{gap:20px;padding-block:24px}.care-points h3{font-size:18px}.care-points p{font-size:12px}.review{grid-template-columns:38px 1fr;gap:15px;padding:25px 0}.review-index{font-size:29px}.review p{font-size:13px;line-height:2.2}.after-section{min-height:590px;padding-block:70px}.after-copy h2{font-size:33px;line-height:1.7}.after-copy>p:not(.eyebrow){font-size:12px}.after-image img{object-position:62% center}.after-section:after{background:linear-gradient(90deg,#082831e8,#08283192)}.faq-layout{grid-template-columns:1fr;gap:30px}.faq-layout>div:first-child>p:last-child{font-size:12px}.faq summary{font-size:12px;gap:10px;padding-block:18px;min-height:76px}.faq>p{padding-left:30px;padding-right:10px;font-size:12px}.faq-q{font-size:23px}.contact-grid{grid-template-columns:1fr;gap:40px}.contact-grid h2{font-size:33px}.contact-grid p{font-size:12px}.contact-phone strong{font-size:44px}.contact-note{padding:23px 18px}.contact-note .eyebrow{font-size:12px;letter-spacing:.03em}.contact-note textarea{font-size:16px;line-height:1.8;padding:12px}.note-controls{display:grid;grid-template-columns:1fr;gap:14px}.note-controls .button{font-size:12px;min-height:47px}.company-section{grid-template-columns:1fr;gap:35px;padding-block:55px 30px}.company-details dl>div{font-size:12px}.company-details dt{min-width:75px}.map-link{height:220px;max-height:none}.footer{font-size:12px;padding-bottom:110px;gap:10px}.footer>span:last-child{display:none}.mobile-dock{position:fixed;z-index:55;bottom:0;left:0;right:0;display:grid;grid-template-columns:.9fr 1.3fr;gap:9px;padding:10px 14px calc(12px + env(safe-area-inset-bottom));background:#edf6f4ed;backdrop-filter:blur(15px);border-top:1px solid #ffffffa0;box-shadow:0 -5px 25px #08283116}.mobile-dock a{min-height:47px;display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:700;padding:13px 16px;border-radius:4px 17px;box-shadow:0 3px 0 #0828313b}.dock-phone{background:linear-gradient(140deg,#fff,#e4edeb);color:var(--ink);border:1px solid #b8cecd}.dock-line{color:white;background:linear-gradient(135deg,#11b966,#009940)}dialog{padding:18px 13px}.dialog-bar h2{font-size:17px}.dialog-bar .button{font-size:12px;padding:9px 12px}.dialog-pair{gap:10px}.dialog-pair img{max-height:70svh}.toast{bottom:100px;font-size:12px}.noscript{padding-bottom:110px}}
@media(max-width:370px){.wrap,.hero-content{width:calc(100% - 32px)}.site-header{padding-inline:16px}.hero h1{font-size:42px}.hero{min-height:850px}.hero-content{padding-top:135px}.hero-case{left:16px;right:16px}.hero-case strong{font-size:12px}.hero-bottom{font-size:12px;left:16px;right:16px}.hero-bottom>span{font-size:12px}.check-heading h2{font-size:29px}.water-counter{width:65px;height:80px}.water-counter b{font-size:40px}.check-card{padding-left:53px}.check-copy strong{font-size:15px}.check-copy>span{font-size:12px}.contact-grid h2{font-size:30px}.contact-phone strong{font-size:39px}.portrait-crop{height:410px}.button{gap:12px}.mobile-dock a{padding-inline:12px;font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-delay:0s!important;transition-duration:.001ms!important;transition-delay:0s!important}.motion-ready .reveal:not(.in-view){opacity:1;transform:none;clip-path:none}.hero-wipe,.shine,.bubble{display:none}.hero h1 span{opacity:1;clip-path:none;transform:none}.hero-image{scale:1}.hero-case{opacity:1;transform:none}}
