:root{--ink:#1d303c;--muted:#667078;--line:#dedfda;--paper:#fdfcf9;--serif:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;--sans:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.95;letter-spacing:.035em}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid #567988;outline-offset:6px}img{display:block;max-width:100%}figure{margin:0}p,h1,h2,h3,h4{margin-top:0}h1,h2,h3,h4{font-weight:400;line-height:1.55}h1,h2,h3{font-family:var(--serif)}h2{font-size:clamp(1.8rem,3.2vw,2.8rem);letter-spacing:.06em}p{font-size:1rem}.eyebrow{font-family:Arial,var(--sans);font-size:.75rem;letter-spacing:.19em;color:var(--muted);margin-bottom:20px}.site-header{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:27px 5.5%;position:relative;z-index:10;background:var(--paper)}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.symbol{display:flex;width:58px}.symbol svg{width:100%;height:auto}.brand>span:last-child{font-family:var(--serif);font-size:1.4rem;letter-spacing:.13em;line-height:1.4}.brand small{display:block;font-family:Arial,var(--sans);font-size:.65rem;letter-spacing:.15em;margin-top:5px}.site-header nav{display:flex;align-items:center;gap:27px}.site-header nav a{font-size:.8rem;white-space:nowrap;line-height:1.6;padding:10px 0}.site-header nav a:last-child{color:white;background:var(--ink);padding:13px 27px;border-radius:30px}.site-header nav a[aria-current]{text-decoration:underline;text-underline-offset:7px}.menu-toggle{display:none}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;border:1px solid #8c969b;border-radius:28px;padding:10px 25px;min-height:46px;font-size:.875rem;line-height:1.5;background:transparent;transition:background .2s,border-color .2s}.button:hover{background:#f0eee7;border-color:var(--ink)}.button-arrow{font-family:Arial,sans-serif;font-size:1.1rem}
/* Light and overlapping horizons: abstract brand geometry, independent of the reference bitmap. */
.hero{position:relative;isolation:isolate;min-height:740px;overflow:hidden;background:linear-gradient(120deg,#fdfcf9 35%,#fbf5ec 78%,#f9fbfc)}.hero-inner{position:relative;z-index:2;padding:68px 6.5% 170px;max-width:1450px;margin:auto;pointer-events:none}.hero-inner .eyebrow{margin-bottom:30px}.hero h1{font-size:clamp(3.3rem,6.4vw,6rem);line-height:1.35;letter-spacing:.035em;margin:0 0 34px}.hero-description{font-size:.9375rem;line-height:2.15;max-width:610px;margin-bottom:30px}.hero-inner .button{pointer-events:auto;background:#fdfcf966}.hero-art{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}.art-halo{position:absolute;width:750px;height:820px;right:-90px;top:-360px;background:radial-gradient(ellipse at 50% 65%,#d7e7ee 0%,#e8eef0 42%,transparent 70%);border-radius:50%;opacity:.9}.art-sun{position:absolute;border-radius:50%;background:linear-gradient(120deg,#fff4d4 10%,#ffd29f 55%,#edac94 100%);box-shadow:inset 0 0 65px #fff4dc80}.art-sun-far{width:360px;height:360px;right:12%;top:235px}.art-sun-near{width:260px;height:260px;right:32%;top:410px;background:linear-gradient(120deg,#ffd5b0,#f3ae91)}.art-ribbon{position:absolute;border:1px solid #ffffff90;border-radius:50%;box-shadow:inset 0 15px 70px #ffffff45}.art-ribbon-cream{width:1250px;height:440px;right:-185px;top:430px;transform:rotate(-29deg);background:linear-gradient(120deg,#b7d1d5 0%,#dce0d3 37%,#f5e6d5 65%,#fffaf0 88%)}.art-ribbon-blue{width:790px;height:350px;right:-360px;top:442px;transform:rotate(20deg);background:linear-gradient(135deg,#a8cddc,#d9e8ea 40%,#fcfaf3 76%)}.art-light{position:absolute;width:180px;height:180px;right:32%;top:390px;background:radial-gradient(circle,#fff 0%,#fffaf7cc 8%,transparent 65%);mix-blend-mode:screen}.hero-side{position:absolute;right:6.5%;top:64px;z-index:2;display:flex;gap:65px}.hero-side p{font-family:var(--serif);font-size:.875rem;line-height:2.1;letter-spacing:.2em;margin-top:12px}.hero-side>span{writing-mode:vertical-rl;font-family:Arial,sans-serif;font-size:.625rem;letter-spacing:.19em;border-right:1px solid #a2abb0;padding-right:14px;height:220px}.hero-index{position:absolute;left:6.5%;bottom:35px;display:grid;gap:7px;z-index:3}.hero-index a{display:flex;gap:16px;font: .625rem/1.7 Arial,sans-serif;letter-spacing:.14em;min-height:19px}.hero-index a span{color:#707981}.scroll-cue{position:absolute;right:6.5%;bottom:40px;display:flex;flex-direction:column;align-items:center;gap:15px;font:.625rem Arial,sans-serif;letter-spacing:.14em;z-index:3}.scroll-cue span{height:54px;width:1px;background:#8d9b9f}
.section{max-width:1320px;margin:auto;padding:96px 6.5%}.section-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:0 70px;margin-bottom:55px}.section-heading>.eyebrow{grid-column:1/-1}.section-heading h2{margin-bottom:0}.section-heading>p:last-child{align-self:end;justify-self:end;max-width:370px;border-left:1px solid var(--line);padding-left:28px;font-size:.9375rem;line-height:2;color:var(--muted);margin-bottom:7px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.service-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 190px;grid-template-rows:auto 1fr;gap:20px 18px;padding:35px 27px 33px 32px;min-height:515px;border-radius:9px;overflow:hidden}.coral{background:linear-gradient(125deg,#f9f5ed,#f7f3ef 60%,#edf4ef)}.mint{background:linear-gradient(125deg,#f9f5f1,#faf3ef 60%,#edf3f1)}.service-title{grid-column:1}.service-title .eyebrow{font-size:.625rem;margin-bottom:23px}.service-title h3{font-size:2.45rem;letter-spacing:.14em;margin:12px 0 0}.service-icon{width:47px;height:47px;object-fit:contain;border-radius:10px}.service-card.mint .service-title{padding-top:0}.service-card.mint .service-title h3{margin-top:82px}.service-copy{grid-column:1;grid-row:2;align-self:end;min-width:0}.service-copy h4{font-family:var(--serif);font-size:1rem;line-height:1.8;letter-spacing:.05em;margin-bottom:23px}.service-copy p{font-size:.875rem;line-height:2;margin-bottom:25px}.service-copy .button{font-size:.8rem;padding:10px 17px;gap:15px;white-space:nowrap}.phone-figure{grid-column:2;grid-row:1/3;align-self:center;max-width:190px;width:100%;position:relative}.phone{border:5px solid #242a2b;box-shadow:0 2px 0 2px #969b97,8px 20px 22px #36473b25;border-radius:29px;overflow:hidden;background:#f0f7f8;transform:rotate(5deg)}.mint .phone{transform:rotate(6deg)}.product-screen{width:100%;height:auto}.screen-crop{position:relative;aspect-ratio:252/545;overflow:hidden;background:#f0f8fd}.screen-crop img{position:absolute;width:436.508%;max-width:none;left:-218.254%;top:-23.853%;height:auto}.phone-figure figcaption{position:relative;margin-top:26px;font-size:.6875rem;line-height:1.7;letter-spacing:0;text-align:center;color:#69716f}.store-slot:empty{display:none}.store-slot{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.store-slot a{color:white;background:var(--ink);padding:7px 12px;border-radius:5px;font-size:.8rem}
.purpose{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center;padding-top:35px;padding-bottom:95px}.purpose-copy h2{font-size:clamp(1.8rem,2.8vw,2.5rem);margin-bottom:30px}.purpose-copy p:not(.eyebrow){font-size:.9375rem;line-height:2.15;margin-bottom:23px}.purpose-copy .button{margin-top:9px}.purpose-art{height:440px;position:relative}.purpose-circle{position:absolute;overflow:hidden;border-radius:50%;background:#edf1ed}.purpose-family{width:280px;height:280px;left:0;top:15px}.purpose-circle img{width:100%;height:100%;object-fit:cover}.purpose-family img{object-position:88% center;transform:scale(1.2);transform-origin:85% 70%}.purpose-town{width:210px;height:210px;right:0;top:210px}.purpose-town img{object-position:30% center}.purpose-orbit{position:absolute;left:-35px;top:110px;width:450px;height:180px;border-top:1px solid #c9d0cc;border-radius:50%;transform:rotate(-31deg);z-index:2;pointer-events:none}.purpose-label{font-family:var(--serif);font-size:1.3rem;line-height:1.3;position:absolute;z-index:3}.purpose-label small{display:block;font-family:Arial,sans-serif;font-size:.6875rem;letter-spacing:.04em;color:var(--muted);margin-top:7px}.label-family{right:0;top:40px}.label-life{left:0;bottom:42px}.label-future{right:0;bottom:-25px}.news-section{display:grid;grid-template-columns:160px 1fr auto;align-items:center;gap:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:35px;padding-bottom:35px}.news-section .eyebrow{margin-bottom:8px}.news-section h2{font-size:1.8rem;margin:0}.news-empty p{font-size:.9375rem;margin-bottom:4px}.news-empty span{color:var(--muted);font-size:.8125rem}.news-section .button{border:0;padding:10px 0;gap:25px}.company-section{display:grid;grid-template-columns:1fr 1fr;max-width:1320px;margin:55px auto 0;align-items:center}.company-photo{height:270px;overflow:hidden}.company-photo img{width:100%;height:100%;object-fit:cover;object-position:25% 55%}.company-intro{padding:40px 13%}.company-intro .eyebrow{margin-bottom:12px}.company-intro h2{font-size:2.1rem;margin-bottom:16px}.company-intro p:not(.eyebrow){font-size:.875rem;line-height:2;margin-bottom:22px}.contact-band{position:relative;display:flex;justify-content:space-between;align-items:center;gap:35px;padding:66px max(6.5%,calc((100vw - 1140px)/2));background:linear-gradient(115deg,#f6f3eb,#f9f8f4 65%,#edf3f1);margin-top:0}.contact-band h2{font-size:2.6rem;margin-bottom:14px}.contact-band p:last-child{font-size:.9375rem;margin:0;color:var(--muted)}.contact-band .button{white-space:nowrap}.site-footer{padding:62px 5.5% 28px;background:#fdfcf9}.footer-main{display:flex;justify-content:space-between;align-items:flex-start;gap:40px}.site-footer nav{display:flex;flex-wrap:wrap;gap:15px 27px;max-width:730px;justify-content:flex-end}.site-footer nav a{font-size:.75rem;padding:6px 0}.footer-bottom{display:flex;justify-content:space-between;gap:25px;margin-top:48px;padding-top:22px;border-top:1px solid var(--line);font-size:.75rem;color:var(--muted)}.footer-bottom small{font-size:.6875rem;letter-spacing:.08em}.page-heading{padding:85px 6.5% 58px;background:linear-gradient(125deg,#f8f6ef,#f0f5f5)}.page-heading h1{font-size:clamp(2rem,4.5vw,3.6rem);margin-bottom:14px}.page-heading>p:last-child{margin-bottom:0}.narrow{max-width:1040px}.reading{max-width:920px}.reading p{line-height:2.2}.large-copy{font-family:var(--serif);font-size:1.5rem;margin-bottom:38px}.notice{background:#f4f4ef;border-left:2px solid #a0b2aa;padding:26px 30px}.notice h2{font-size:1.3rem}.notice p:last-child{margin-bottom:0}.company-list{margin:0}.company-list div{display:grid;grid-template-columns:140px 1fr;gap:25px;padding:22px 0;border-bottom:1px solid var(--line)}.company-list dt{font-size:.875rem;color:var(--muted)}.company-list dd{margin:0;font-size:.9375rem}.detail-service{display:grid;grid-template-columns:260px 1fr;align-items:center;gap:85px;max-width:1040px;margin-top:60px;margin-bottom:25px}.detail-service .phone-figure{grid-column:1;grid-row:auto;max-width:220px}.detail-service h2{font-size:2rem}.skip-link{position:fixed;top:-100px;left:20px;background:var(--ink);color:white;padding:12px;z-index:100}.skip-link:focus{top:10px}
@media(min-width:1600px){.hero-inner{padding-top:90px}.hero-art{max-width:1650px;left:auto;width:100%}.hero{min-height:780px}}
@media(max-width:1100px){.site-header{padding:22px 5%}.site-header nav{gap:15px}.site-header nav a{font-size:.75rem}.brand>span:last-child{font-size:1.2rem}.symbol{width:48px}.service-grid{grid-template-columns:1fr}.service-card{grid-template-columns:1fr 240px;padding:40px 55px;gap:25px 45px;min-height:535px}.phone-figure{max-width:210px;justify-self:center}.service-title h3{font-size:2.8rem}.service-copy p{font-size:1rem;max-width:400px}.service-copy .button{font-size:.875rem}.purpose{gap:30px}.purpose-art{height:375px}.purpose-family{width:230px;height:230px}.purpose-town{width:175px;height:175px;top:175px}.purpose-orbit{width:350px}.purpose-label{font-size:1.1rem}.news-section{grid-template-columns:140px 1fr}.news-section .button{grid-column:2;justify-self:start}.footer-main{flex-direction:column}.site-footer nav{justify-content:flex-start}}
@media(max-width:1050px){.menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:transparent;border:0;padding:10px;min-height:48px;min-width:48px;color:var(--ink)}.menu-bars{width:23px;height:11px;border-top:1px solid;border-bottom:1px solid}.menu-label{font-size:.6875rem;line-height:1}.site-header nav{display:none;position:absolute;left:0;right:0;top:100%;padding:12px 5% 25px;background:var(--paper);box-shadow:0 15px 20px #2133420c;flex-direction:column;align-items:stretch;gap:0}.site-header nav.is-open{display:flex}.site-header nav a{font-size:.9375rem;padding:14px 5px}.site-header nav a:last-child{text-align:center;margin-top:10px}.hero{min-height:720px}.hero h1{font-size:clamp(3rem,6.4vw,4.5rem)}.hero-inner{padding-top:65px}.hero-side{right:4%;gap:24px}.hero-side p{font-size:.75rem}.art-sun-far{right:4%;top:330px;width:300px;height:300px}.art-sun-near{right:31%;top:485px;width:210px;height:210px}.art-ribbon-cream{top:550px;right:-320px}.art-ribbon-blue{top:570px}.art-light{top:495px;right:25%}}
@media(max-width:760px){.site-header{padding:18px 22px}.brand>span:last-child{font-size:1.18rem}.brand small{font-size:.6rem}.symbol{width:44px}.hero{min-height:755px}.hero-inner{padding:43px 25px 225px}.hero-inner .eyebrow{font-size:.6875rem;margin-bottom:29px}.hero h1{font-size:clamp(2.2rem,9.5vw,4rem);line-height:1.5;letter-spacing:.02em;margin-bottom:29px;white-space:nowrap}.hero-description{font-size:.875rem;line-height:2.15;margin-bottom:25px;max-width:420px}.desktop{display:none}.hero-side{display:none}.hero-index{left:25px;bottom:23px;gap:5px}.hero-index a{font-size:.6rem;gap:10px}.scroll-cue{right:25px;bottom:30px;font-size:.6rem}.scroll-cue span{height:37px}.art-halo{width:450px;height:550px;right:-150px;top:-150px;opacity:.65}.art-sun-far{width:210px;height:210px;right:0;top:485px}.art-sun-near{width:150px;height:150px;right:42%;top:585px}.art-ribbon-cream{width:650px;height:240px;right:-130px;top:635px;transform:rotate(-29deg)}.art-ribbon-blue{width:450px;height:230px;right:-230px;top:675px}.art-light{width:110px;height:110px;top:580px;right:33%}.section{padding:65px 24px}.section-heading{display:block;margin-bottom:34px}.section-heading h2{font-size:1.95rem;margin-bottom:24px}.section-heading>p:last-child{max-width:none;border:0;padding:0;font-size:.875rem;margin:0}.service-grid{gap:22px}.service-card{display:flex;flex-direction:column;align-items:center;padding:30px 28px 34px;gap:0;min-height:0}.service-title{align-self:flex-start;position:relative;width:100%}.service-title .eyebrow{margin-bottom:18px}.service-icon{position:absolute;top:38px;right:0;width:43px;height:43px}.service-title h3{font-size:2.4rem;margin:0 0 26px}.service-card.mint .service-title h3{margin:0 0 26px}.phone-figure{max-width:190px;margin:5px auto 30px}.phone{transform:rotate(3deg)}.mint .phone{transform:rotate(-3deg)}.service-copy{width:100%;align-self:auto}.service-copy h4{font-size:1.05rem;margin-bottom:18px}.service-copy p{font-size:.9375rem;margin-bottom:23px}.service-copy .button{font-size:.875rem;gap:25px}.phone-figure figcaption{font-size:.6875rem;margin-top:23px}.purpose{display:flex;flex-direction:column;align-items:stretch;gap:30px;padding-top:20px;padding-bottom:45px}.purpose-copy h2{font-size:1.75rem;letter-spacing:.01em}.purpose-copy p:not(.eyebrow){font-size:.9375rem}.purpose-art{height:370px;max-width:420px;width:100%;margin:auto}.purpose-family{width:215px;height:215px;left:5px;top:20px}.purpose-town{width:170px;height:170px;top:180px;right:8px}.purpose-orbit{left:-5px;width:300px;height:150px;top:120px}.label-family{right:5px;top:35px}.label-life{left:5px;bottom:54px}.label-future{right:2px;bottom:-4px}.news-section{display:block;padding-top:32px;padding-bottom:32px}.news-section>div:first-child{margin-bottom:24px}.news-empty span{display:block;font-size:.8125rem}.news-section .button{margin-top:18px}.company-section{display:flex;flex-direction:column;align-items:stretch;margin-top:30px}.company-photo{height:210px}.company-intro{padding:38px 24px 45px}.company-intro h2{font-size:1.9rem}.contact-band{display:block;padding:46px 24px}.contact-band h2{font-size:2.1rem}.contact-band p:last-child{font-size:.875rem}.contact-band .button{margin-top:27px}.site-footer{padding:40px 24px 25px}.footer-main{gap:30px}.site-footer nav{display:grid;grid-template-columns:1fr 1fr;gap:8px 25px}.site-footer nav a{font-size:.8125rem}.footer-bottom{display:block;margin-top:30px}.footer-bottom small{display:block;margin-top:10px}.page-heading{padding:48px 24px 40px}.page-heading h1{font-size:1.9rem}.large-copy{font-size:1.2rem}.company-list div{grid-template-columns:90px 1fr;gap:15px}.company-list dd{font-size:.875rem;overflow-wrap:anywhere}.notice{padding:22px 20px}.detail-service{display:flex;flex-direction:column;gap:25px;margin:25px 20px;padding:35px 25px}.detail-service .phone-figure{margin:0 auto 20px}.detail-service>div{width:100%}.detail-service h2{font-size:1.7rem}}
@media(prefers-reduced-motion:no-preference){.art-halo{animation:light-breathe 20s ease-in-out infinite alternate}@keyframes light-breathe{from{opacity:.6}to{opacity:.95}}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.purpose-art{overflow:hidden}.label-future{bottom:0}
@media(max-width:760px){.hero h1{font-size:clamp(1.9rem,9.5vw,4rem)}}
@media(max-width:760px){.section-heading h2{font-size:clamp(1.4rem,7vw,1.95rem)}}
/* TOP 2026-10: overlapping time layers and product-led editorial layout. */
.home{background:#fff;color:#182d3d}.home .site-header{background:#fff;padding-block:24px}.home .site-header nav a:last-child{background:#45889d}.home .eyebrow{font-size:.7rem;letter-spacing:.12em;color:#475d6b}.home .button{border-color:#bdcbd1;font-size:.8rem;min-height:44px;background:#ffffff80}.home .button:hover{background:#edf5f7}.home-hero{position:relative;isolation:isolate;overflow:hidden;min-height:580px;background:#f1f7f8;border-radius:0 0 50% 5% / 0 0 9% 4%}.home-hero-copy{position:relative;z-index:2;max-width:1320px;margin:auto;padding:72px 6.5% 102px}.home-hero h1{font-size:clamp(2.3rem,4.8vw,4.9rem);line-height:1.4;letter-spacing:.045em;margin-bottom:27px}.home-hero-copy p{font-size:.9rem;line-height:2.1;margin-bottom:26px}.home-horizon{position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,#ffffffe8 29%,#ffffff73 60%,#ffffff0d),url('/assets/hero.webp') center 45%/cover}.home-horizon::after{content:"";position:absolute;inset:auto 0 0;height:26%;background:linear-gradient(0deg,#e8f0e9aa,transparent)}.time-layer{position:absolute;border:1px solid #ffffffa8;box-shadow:inset 0 0 40px #fff8;border-radius:50%;background:linear-gradient(145deg,#c4e2ee75,#fff8 55%,#f5d8b650)}.today{width:330px;height:330px;left:46%;top:9%}.tomorrow{width:540px;height:330px;left:57%;top:26%;transform:rotate(8deg)}.beyond{width:850px;height:190px;left:22%;bottom:-90px;transform:rotate(-8deg);background:#edf6f580}.home .section{padding:64px 5.5%;max-width:1400px}.home-services{display:grid;grid-template-columns:235px minmax(0,1fr);gap:25px 30px}.home-services-heading h2{font-size:2.55rem;line-height:1.55;letter-spacing:.035em}.home-products{display:grid;grid-template-columns:1fr 1fr;gap:24px;min-width:0}.home-product{display:grid;grid-template-columns:minmax(0,1fr) 43%;grid-template-rows:auto auto 1fr auto;gap:18px 12px;padding:30px 24px;border-radius:12px;overflow:hidden;min-height:425px;position:relative}.home-product.coral{background:radial-gradient(ellipse at 85% 85%,#cedcc550,transparent 50%),linear-gradient(135deg,#fffcf6,#f4eadd)}.home-product.mint{background:radial-gradient(ellipse at 85% 85%,#c6dec950,transparent 50%),linear-gradient(135deg,#f5faf9,#eaf3f0)}.home-product-name{display:flex;align-items:center;gap:10px;grid-column:1/-1}.home-product-name h3{font-family:var(--sans);font-size:1.4rem;letter-spacing:.07em;margin:0;line-height:1.5}.home-product-name small{display:block;font: .55rem/1.7 Arial,sans-serif;letter-spacing:.2em}.home-service-icon{width:38px;height:38px;object-fit:contain}.seed-mark{display:grid;place-items:center;width:38px;height:38px;color:#529f95;background:#e0f0eb;border-radius:50%;font-size:1.8rem}.home-product h4{font-family:var(--serif);font-size:clamp(1.1rem,1.6vw,1.65rem);line-height:1.65;margin:8px 0 0;grid-column:1;grid-row:2;overflow-wrap:anywhere}.home-product .phone-figure{grid-column:2;grid-row:2/5;max-width:185px;align-self:center;margin:0;min-width:0}.home-product-description{font-size:.78rem;line-height:2;grid-column:1;grid-row:3;align-self:end;margin:0}.home-product-link{grid-column:1;grid-row:4;min-width:0}.home-product-link .button{font-size:.75rem;gap:10px;padding:8px 0;border:0;color:#316b81;background:transparent}.home-product .phone{border-width:4px;border-radius:25px}.home-product figcaption{font-size:.6rem;margin-top:18px;line-height:1.6}.home-services-all{grid-column:2;text-align:right}.home-purpose{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center;border-top:1px solid #e5ebec}.home-purpose h2{font-size:clamp(2rem,3.3vw,3.2rem);line-height:1.5}.home-purpose-copy p:not(.eyebrow){font-size:.875rem;line-height:2.2;color:#52616a}.home-purpose-photo{height:440px;overflow:hidden;border-radius:12px 80px 12px 12px}.home-purpose-photo img{width:100%;height:100%;object-fit:cover;object-position:75% center}.home .news-section{padding-block:30px;grid-template-columns:160px 1fr auto;border-color:#e5ebec}.home .company-section{max-width:1246px;margin:35px auto;grid-template-columns:1fr 220px;padding:0 24px;gap:40px}.home .company-photo{grid-column:2;grid-row:1;height:155px;border-radius:10px}.home .company-intro{grid-column:1;grid-row:1;padding:20px 0}.home .company-intro h2{font-size:1.6rem}.home .company-intro p{font-size:.85rem}.home .contact-band{min-height:260px;background:linear-gradient(90deg,#fff 30%,#ffffffe0 55%,#ffffff70),url('/assets/hero.webp') center 40%/cover}.home .contact-band h2{font-size:2rem}.home .site-footer{background:#fff}
@media(min-width:1600px){.home-hero{min-height:660px}.home-hero-copy{padding-top:100px}}
@media(max-width:1150px){.home-services{grid-template-columns:1fr}.home-services-heading h2 br{display:none}.home-services-all{grid-column:1}.home-product{min-height:440px}.home-product h4{font-size:1.5rem}.home-product .phone-figure{max-width:180px}}
@media(max-width:760px){.home .site-header{padding:16px 22px}.home-hero{min-height:575px;border-radius:0 0 32px 0}.home-hero-copy{padding:35px 24px 175px}.home-hero h1{font-size:clamp(1.8rem,8.4vw,3.7rem);letter-spacing:.02em;margin-bottom:20px}.home-hero-copy p{font-size:.82rem;line-height:2.1;max-width:420px}.home-horizon{background:linear-gradient(180deg,#ffffffeb 0%,#ffffffd9 53%,#ffffff10 100%),url('/assets/hero.webp') 42% 50%/cover}.today{width:230px;height:230px;left:45%;top:35%}.tomorrow{width:350px;height:200px;left:20%;top:69%}.beyond{left:-35%;bottom:-60px;height:150px}.home .section{padding:44px 22px}.home-services{gap:24px}.home-services-heading h2{font-size:2.1rem;margin-bottom:0}.home-services-heading h2 br{display:block}.home-products{grid-template-columns:1fr;gap:25px}.home-product{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:27px 25px;min-height:0}.home-product-name{margin-bottom:19px}.home-product h4{font-size:1.6rem;margin:0 0 20px}.home-product .phone-figure{width:195px;max-width:100%;align-self:center;margin:3px auto 26px}.home-product-description{font-size:.875rem;align-self:auto;margin:0 0 12px}.home-product-link .button{font-size:.85rem;min-height:44px}.home-services-all{text-align:center}.home-services-all .button{width:100%;max-width:400px}.home-purpose{grid-template-columns:1fr;gap:25px}.home-purpose h2{font-size:2rem}.home-purpose-copy p:not(.eyebrow){font-size:.85rem}.home-purpose-photo{height:230px;border-radius:10px 45px 10px 10px}.home .news-section{padding-block:28px;display:block}.home .news-section>div:first-child{margin-bottom:16px}.home .company-section{grid-template-columns:1fr 95px;gap:15px;margin:20px auto;padding:0 22px;display:grid}.home .company-photo{height:130px;align-self:start;margin-top:24px}.home .company-intro h2{font-size:1.6rem}.home .company-intro p{font-size:.75rem}.home .company-intro .button{gap:15px;padding-inline:15px;font-size:.75rem}.home .contact-band{padding:38px 22px;min-height:260px}.home .contact-band p:last-child{max-width:240px}.home .site-footer nav{gap:8px 18px}.home .site-footer nav a{font-size:.75rem}}

/* Design refinement: thought → product → people; restricted to TOP's first three sections. */
.home-hero {
  min-height: 590px;
  background: #f7faf9;
  border-radius: 0 0 45% 0 / 0 0 7% 0;
}
.home-horizon {
  background: radial-gradient(ellipse at 82% 66%, #fff5cc 0%, #fce9d7 18%, transparent 43%),
    linear-gradient(112deg, #fff 23%, #eef7f7 58%, #cae5ee 100%);
}
.home-horizon::before {
  content: "";
  position: absolute;
  width: 100%; height: 240px;
  right: -25%; bottom: -125px;
  border-radius: 50%; transform: rotate(-9deg);
  background: linear-gradient(155deg, #bbd9df88, #edf3eac9 65%, #fff7e1);
  border-top: 1px solid #ffffffc0;
}
.home-horizon::after {
  height: 17%;
  background: linear-gradient(0deg, #edf4efbb, transparent);
  border-bottom: 1px solid #ffffffb0;
}
.time-layer {
  border: 1px solid #ffffffc9;
  box-shadow: inset 0 0 75px #ffffff40;
  background: linear-gradient(145deg, #ffffff20, #f5f8f065 60%, #fff4de55);
}
.today {width: 570px; height: 570px; left: 49%; top: 24%;}
.tomorrow {width: 760px; height: 760px; left: 60%; top: 3%; transform: none;}
.beyond {width: 1030px; height: 1030px; left: 72%; top: -20%; bottom: auto; transform: none; background: transparent;}
.home-hero-copy {padding-block: 84px 100px;}
.home-hero h1 {font-size: clamp(2.3rem, 5.2vw, 5.1rem);}

.home-services {
  display: block;
  padding-top: 78px !important;
  padding-bottom: 76px !important;
}
.home-services-heading {text-align: center; margin-bottom: 46px;}
.home-services-heading h2 {font-size: clamp(2rem, 3.3vw, 3rem); margin: 0;}
.home-services-heading h2 br {display: none;}
.home-products {grid-template-columns: minmax(0, 1fr); gap: 36px;}
.home-product {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-template-rows: auto auto auto auto;
  column-gap: 65px; row-gap: 20px;
  padding: 52px 9%; min-height: 650px;
  border-radius: 18px;
}
.home-product.coral {
  background: radial-gradient(ellipse at 80% 60%, #dceef0aa, transparent 65%),
    linear-gradient(135deg, #fbfcfa, #eff5ee);
}
.home-product.mint {
  background: radial-gradient(ellipse at 20% 60%, #fff0d0aa, transparent 65%),
    linear-gradient(135deg, #fffbf4, #f4f5e9);
}
.home-product-name {grid-column: 1; grid-row: 1; align-self: end;}
.home-product-name h3 {font-size: 1.8rem;}
.home-product-name small {font-size: .65rem;}
.home-service-icon, .seed-mark {width: 44px; height: 44px; flex-shrink: 0;}
.home-product h4 {
  grid-column: 1; grid-row: 2;
  font-size: clamp(1.5rem, 2.4vw, 2.3rem);
  margin: 0; align-self: center; max-width: 380px;
  word-break: normal; overflow-wrap: normal;
}
.home-product-description {
  grid-column: 1; grid-row: 3; font-size: .9375rem;
  line-height: 2.1; align-self: center;
}
.home-product-link {grid-column: 1; grid-row: 4; align-self: start;}
.home-product-link .button {
  border: 1px solid #bdcbd1; background: #ffffff99;
  padding: 10px 22px; font-size: .875rem; gap: 30px;
}
.home-product .phone-figure {
  grid-column: 2; grid-row: 1 / 5;
  width: 260px; max-width: 100%; justify-self: center;
  margin: 0; align-self: center;
}
.home-product .phone {border-width: 5px; border-radius: 36px; transform: rotate(4deg);}
.home-product.mint .phone {transform: rotate(-4deg);}
.home-product figcaption {font-size: .6875rem; margin-top: 22px;}
.home-product.mint .phone-figure {grid-column: 1;}
.home-product.mint .home-product-name,
.home-product.mint h4,
.home-product.mint .home-product-description,
.home-product.mint .home-product-link {grid-column: 2;}
.home-services-all {text-align: center; margin-top: 30px;}

.home-purpose {
  grid-template-columns: minmax(0, 7fr) minmax(0, 3fr);
  gap: 52px;
  padding-top: 72px !important; padding-bottom: 72px !important;
}
.home-purpose h2 {font-size: clamp(2rem, 3vw, 2.85rem);}
.home-purpose-copy p:not(.eyebrow) {font-size: .9375rem;}
.home-purpose-photo {height: 330px; border-radius: 12px 55px 12px 12px;}
.home-purpose-photo img {object-position: 83% center;}

@media (min-width: 1600px) {
  .home-hero {min-height: 630px;}
}
@media (min-width: 761px) and (max-width: 1100px) {
  .home-product {padding: 42px 6%; column-gap: 40px; min-height: 620px;}
  .home-product .phone-figure {width: 245px;}
  .home-product h4 {font-size: 1.8rem;}
  .home-purpose {grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 30px;}
  .home-purpose-copy p:not(.eyebrow) br {display: none;}
}
@media (max-width: 760px) {
  .home-hero {min-height: 510px; border-radius: 0 0 32px 0;}
  .home-hero-copy {padding: 40px 24px 115px;}
  .home-hero h1 {font-size: clamp(1.8rem, 8.4vw, 3.7rem);}
  .home-horizon {background: radial-gradient(ellipse at 80% 84%, #fff0d5 0%, transparent 55%), linear-gradient(145deg, #fff 30%, #ddecf2 100%);}
  .home-horizon::before {width: 140%; height: 160px; bottom: -90px; right: -35%;}
  .today {width: 310px; height: 310px; left: 25%; top: 60%;}
  .tomorrow {width: 440px; height: 440px; left: 49%; top: 44%;}
  .beyond {width: 580px; height: 580px; left: 74%; top: 26%; bottom: auto;}
  .home-services {padding-top: 46px !important; padding-bottom: 44px !important;}
  .home-services-heading {text-align: left; margin-bottom: 30px;}
  .home-services-heading h2 {font-size: 2rem;}
  .home-services-heading h2 br {display: block;}
  .home-products {gap: 26px;}
  .home-product {display: flex; padding: 30px 24px; gap: 0; min-height: 0; border-radius: 12px;}
  .home-product-name {margin-bottom: 20px; align-self: stretch;}
  .home-product-name h3 {font-size: 1.55rem;}
  .home-product h4 {font-size: 1.55rem; margin-bottom: 26px; align-self: stretch;}
  .home-product .phone-figure {width: 225px; max-width: calc(100% - 10px); margin: 0 auto 28px;}
  .home-product .phone {border-radius: 30px; transform: rotate(2deg);}
  .home-product.mint .phone {transform: rotate(-2deg);}
  .home-product-description {font-size: .875rem; margin-bottom: 20px; align-self: stretch;}
  .home-product-link {align-self: stretch;}
  .home-product-link .button {font-size: .85rem; padding: 10px 17px; gap: 20px;}
  .home-purpose {grid-template-columns: 1fr; gap: 28px; padding-block: 44px !important;}
  .home-purpose h2 {font-size: 1.9rem;}
  .home-purpose-copy p:not(.eyebrow) {font-size: .875rem;}
  .home-purpose-copy p:not(.eyebrow) br {display: none;}
  .home-purpose-photo {height: 220px; width: 100%; border-radius: 10px 45px 10px 10px;}
}

/* Preview 1.1: group related text; keep desktop UI scale and focus PURPOSE on people. */
.home-purpose-photo {height: 350px;}
.home-purpose-photo img {
  transform: scale(3.2);
  transform-origin: 83% 95%;
}
@media (min-width: 761px) {
  .home-services {padding-top: 66px !important; padding-bottom: 64px !important;}
  .home-services-heading {margin-bottom: 36px;}
  .home-products {gap: 30px;}
  .home-product {
    grid-template-rows: max-content max-content max-content max-content;
    align-content: center; row-gap: 20px;
    padding-block: 34px;
    min-height: 665px;
  }
  .home-product-name, .home-product h4, .home-product-description,
  .home-product-link {align-self: start;}
  .home-product h4 {margin: 0;}
  .home-product .phone-figure {
    position: absolute; grid-area: auto; left: 75%; top: 50%;
    transform: translate(-50%, -50%);
    width: 260px;
  }
  .home-product.mint .phone-figure {grid-area: auto; left: 25%;}
}
@media (min-width: 761px) and (max-width: 1100px) {
  .home-product {min-height: 630px;}
  .home-product .phone-figure {width: 245px;}
}
@media (max-width: 760px) {
  .home-services {padding-top: 40px !important; padding-bottom: 38px !important;}
  .home-services-heading {margin-bottom: 24px;}
  .home-products {gap: 22px;}
  .home-product {padding-block: 25px;}
  .home-product-name {margin-bottom: 16px;}
  .home-product h4 {margin-bottom: 20px;}
  .home-product .phone-figure {
    width: 202.5px; max-width: calc((100% - 10px) * .9);
    margin-bottom: 20px;
  }
  .home-product figcaption {margin-top: 16px;}
  .home-product-description {margin-bottom: 16px;}
  .home-purpose-photo {height: 230px; max-width: 390px; margin-inline: auto;}
  .home-purpose-photo img {transform-origin: 83% 95%;}
}

/* Service-making is supporting information; products remain the focus. */
.home-making {max-width: 540px; margin: 24px auto 0;}
.home-making ol {display: grid; grid-template-columns: repeat(4, 1fr); list-style: none; margin: 0; padding: 16px 12px; border-radius: 12px; background: #eff8f3; color: #38675d;}
.home-making li {position: relative; font-size: .85rem; font-weight: 600; text-align: center;}
.home-making li:not(:last-child)::after {content: "›"; position: absolute; right: -4px; color: #7b9b91; font-weight: 400;}
.home-making p {font-size: .75rem; color: #52616a; margin: 10px 0 0; line-height: 1.8;}
.home-product-name .home-app-meta {font: .7rem/1.6 var(--sans); letter-spacing: .04em; color: #52616a; margin-top: 8px;}
.home-purpose {grid-template-columns: 65fr 35fr;}
.home-purpose-photo {height: auto; aspect-ratio: 3 / 2;}
.home-purpose-photo img {transform: none; object-position: 50% 45%;}
@media (max-width: 760px) {
 .home-making {margin-top: 20px;}
 .home-making ol {padding: 14px 8px;}
 .home-making p {font-size: .7rem;}
 .home-purpose {grid-template-columns: 1fr;}
 .home-purpose-photo img {object-position: 50% 48%;}
}

/* Final polish: a quiet horizon and a clear hierarchy around the products. */
.home-horizon {
  background: radial-gradient(ellipse at 79% 72%, #fff6d7 0%, #f9eadc 17%, transparent 42%),
    linear-gradient(112deg, #fff 24%, #eff7f7 57%, #cee6ed 100%);
}
.home-horizon::before {
  right: -18%; bottom: -135px; height: 245px;
  transform: rotate(-6deg);
  background: linear-gradient(155deg, #b9d7df80, #e7f1edcc 64%, #fff7e7);
  border-top-color: #ffffffef;
}
.home .today {
  border-color: #83aebc66;
  background: transparent; box-shadow: none;
}
.home .tomorrow {
  border-color: #ffffffe0;
  background: linear-gradient(145deg, #ffffff08, #f5f8f02e 60%, #fff4de30);
  box-shadow: inset 0 0 60px #ffffff20;
}
.home .beyond {opacity: .5;}
.home-making ol {background: #f3f8f5; padding-block: 13px;}
.home-making li {font-size: .8125rem; font-weight: 500;}
.home-product-name .home-app-meta {letter-spacing: .025em;}
@media (max-width: 760px) {
  .home-horizon::before {right: -32%; height: 190px; bottom: -95px;}
  .home-services-heading {margin-bottom: 20px;}
  .home-making ol {padding-block: 12px;}
  .home-product-name {margin-bottom: 14px;}
  .home-product h4 {margin-bottom: 18px;}
  .home-product-description {margin-bottom: 14px;}
}

/* Brand finishing: light arcs, product-led links and readable mobile details. */
.home .today {
  mask-image: linear-gradient(180deg, #000 0%, #000 48%, transparent 88%);
}
.home-hero h1 {line-height: 1.35;}
.home-product-link .button-arrow {
  display: inline-grid; place-items: center; width: 26px; height: 26px;
  flex: 0 0 26px; border-radius: 50%; background: #ffffffb3;
}
.home .site-footer nav a {line-height: 1.8;}
@media (max-width: 760px) {
  .home-product figcaption {margin-top: 12px;}
  .home .company-section {grid-template-columns: minmax(0, 1fr) 80px;}
  .home .company-intro p {font-size: .8125rem; line-height: 1.9;}
}
