:root{--ink:#102b40;--muted:#536575;--blue:#006fa1;--yellow:#f3ce51;--paper:#fafbf9;--line:#d9e0e3;--sans:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.95;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:5px}img{display:block;max-width:100%;height:auto}svg{width:15px;height:15px;flex-shrink:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:700;letter-spacing:.025em;line-height:1.5}p+p{margin-top:20px}.wrap{max-width:1200px;margin:auto;padding-left:48px;padding-right:48px}.section{padding-top:112px;padding-bottom:112px}.header{height:100px;padding:0 4.2%;display:flex;justify-content:space-between;align-items:center;background:rgba(250,251,249,.97);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(16,43,64,.07)}.wordmark{display:inline-flex;align-items:baseline;font-family:Arial,sans-serif;font-size:27px;font-weight:800;letter-spacing:-1px;white-space:nowrap;line-height:1}.wordmark small{font-size:11px;letter-spacing:.05em;margin-left:8px}.brand-dot{color:var(--blue)}.header nav{display:flex;align-items:center;gap:36px;font-size:14px;font-weight:600}.header nav a:not(.nav-contact){display:flex;align-items:center;gap:9px;position:relative}.header nav a[aria-current=page]:not(.nav-contact):after{content:"";height:2px;background:var(--blue);position:absolute;bottom:-10px;left:0;right:0}.header nav a:hover{color:var(--blue)}.nav-contact{background:var(--ink);color:white;border-radius:3px;padding:13px 25px}.header nav .nav-contact:hover{background:var(--blue);color:white}.menu-toggle{display:none}.eyebrow{font-family:Arial,sans-serif;color:var(--blue);font-weight:700;letter-spacing:.18em;font-size:13px;line-height:1.5;margin-bottom:24px}.hero{max-width:1600px;margin:auto;padding:58px 4.2% 0;display:grid;grid-template-columns:1fr 1fr;column-gap:40px}.hero-copy{padding:32px 0 52px}.hero h1{font-size:clamp(48px,5.7vw,86px);letter-spacing:.01em;line-height:1.38;position:relative}.accent-underline{position:relative;z-index:0;white-space:nowrap}.accent-underline:after{content:"";position:absolute;bottom:.04em;left:0;right:.04em;height:.18em;background:var(--yellow);z-index:-1}.hero-lead{font-weight:600;font-size:21px;margin-top:30px;line-height:1.8;letter-spacing:.06em}.hero-description{font-size:15px;color:var(--muted);margin-top:18px}.text-link{display:inline-flex;gap:14px;align-items:center;font-size:14px;font-weight:600;min-height:44px;margin-top:27px}.text-link:hover{color:var(--blue)}.link-line{width:45px;height:1px;background:currentColor;transition:width .2s}.text-link:hover .link-line{width:65px}.hero-image{position:relative;margin-top:2px;border-radius:100px 4px 4px 4px;overflow:hidden;min-height:620px}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:54% center}.image-label{position:absolute;bottom:0;right:0;background:var(--yellow);padding:16px 24px;font-size:12px;font-family:Arial,sans-serif;letter-spacing:.18em;font-weight:700}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);font-size:12px;padding:27px 0;letter-spacing:.08em}.english{font-family:Arial,sans-serif;color:var(--muted);letter-spacing:.16em}.intro{display:grid;grid-template-columns:1fr 2fr;gap:30px}.intro>.eyebrow{padding-top:14px}h2{font-size:clamp(28px,3.3vw,44px);line-height:1.6}.intro p:not(.eyebrow){color:var(--muted);margin-top:30px;line-height:2.2}.business{background:#edf3f5}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:48px}.section-number{font-family:Arial,sans-serif;font-size:105px;line-height:1;color:#c1d1d9;font-weight:400}.business-card{display:grid;grid-template-columns:1fr 1fr;background:white;min-height:470px}.bibi-brand{display:flex;flex-direction:column;justify-content:center;align-items:center;background:#f6f4ed;padding:48px;position:relative}.bibi-brand img{width:100%;max-width:360px;height:auto}.bibi-brand span{font-family:Arial,sans-serif;font-size:11px;letter-spacing:.12em;position:absolute;bottom:38px;color:var(--muted)}.business-copy{padding:52px 46px}.business-copy .eyebrow{font-family:var(--sans);letter-spacing:.06em;font-size:14px;margin-bottom:18px}.business-copy h3{font-size:30px;margin-bottom:25px}.business-copy p:not(.eyebrow){font-size:15px;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;background:var(--ink);border:1px solid var(--ink);padding:16px 29px;color:white;font-size:14px;font-weight:600;min-height:54px;cursor:pointer;transition:background .2s;line-height:1.6;border-radius:3px;margin-top:28px}.button:hover{background:var(--blue);border-color:var(--blue)}.button:disabled{opacity:.5;cursor:not-allowed}.button.light{background:white;color:var(--ink);border-color:white;min-width:230px}.button.light:hover{background:var(--yellow);border-color:var(--yellow)}.contact-band{background:var(--ink);color:white;display:grid;grid-template-columns:1.3fr 1fr;padding:86px max(6%,calc((100vw - 1104px)/2));gap:60px;align-items:center}.contact-band .eyebrow{color:var(--yellow)}.contact-band h2{font-size:36px}.contact-band>div>p:not(.eyebrow){color:#d0dce4;font-size:15px}.footer{padding:57px max(4.2%,calc((100vw - 1104px)/2)) 26px;background:var(--paper)}.footer-top,.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px}.footer-top{padding-bottom:45px}.footer-top p{font-size:14px;color:var(--muted)}.footer-bottom{border-top:1px solid var(--line);padding-top:23px;color:var(--muted);font-size:12px}.footer-bottom small{font-family:Arial,sans-serif}.footer nav{display:flex;gap:25px;font-size:12px}.footer nav a{display:inline-flex;gap:7px;align-items:center}.footer a:hover{color:var(--blue)}.page-title{padding-top:82px;padding-bottom:78px}.page-title h1{font-size:clamp(38px,5.5vw,70px);line-height:1.5}.page-title>p:last-of-type{margin-top:25px;color:var(--muted);font-size:17px}.about-message{display:grid;grid-template-columns:1fr 2fr;gap:30px;padding-top:67px;padding-bottom:112px;border-top:1px solid var(--line)}.about-message h2{font-size:32px;margin-bottom:34px}.about-message p{color:var(--muted);line-height:2.2}.about-message .signature{font-family:Arial,sans-serif;font-size:14px;letter-spacing:.15em;margin-top:40px;color:var(--ink)}.message-label{display:flex;flex-direction:column;align-items:flex-start}.vertical-english{writing-mode:vertical-rl;font-family:Arial,sans-serif;color:#aab8c1;font-size:12px;letter-spacing:.2em;margin-top:35px}.principles{background:var(--ink);color:white}.principles article{display:grid;grid-template-columns:1fr 2fr;gap:30px}.principles article+article{margin-top:65px;padding-top:65px;border-top:1px solid #395365}.principles .eyebrow{color:var(--yellow);padding-top:14px}.principles h2{font-size:30px}.principles p:not(.eyebrow){margin-top:25px;color:#d0dce4}.service-summary{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:65px;border-bottom:1px solid var(--line)}.service-summary h2{font-size:32px}.service-summary p:not(.eyebrow){color:var(--muted);margin-top:22px}.service-logo{padding:45px;background:#f6f4ed;min-height:250px;display:flex;align-items:center}.company{display:grid;grid-template-columns:1fr 2fr;gap:30px}.company h2{font-size:32px}dl{margin:0}dl>div{display:grid;grid-template-columns:125px 1fr;border-bottom:1px solid var(--line);padding:23px 0;font-size:15px}dl>div:first-child{border-top:1px solid var(--line)}dt{font-weight:600}dd{margin:0;color:var(--muted)}.contact-title{border-bottom:1px solid var(--line)}.contact-layout{display:grid;grid-template-columns:1fr 1.65fr;gap:95px;padding-top:70px;padding-bottom:112px}.contact-layout h2{font-size:27px}.contact-layout aside>p:not(.eyebrow){font-size:14px;margin-top:22px;color:var(--muted)}.nursery-note{border-top:1px solid var(--line);padding-top:28px;margin-top:45px;font-size:14px;color:var(--muted)}.nursery-note h3{font-size:15px;color:var(--ink);margin-bottom:12px}.nursery-note .text-link{margin-top:16px;font-size:13px}.form-note{font-size:13px;color:var(--muted);margin-bottom:25px}.availability{background:#eef3f5;font-size:14px;padding:14px 18px;margin-bottom:27px;border-left:3px solid var(--blue)}.availability:empty{display:none}.field{margin-bottom:29px}.field label{display:flex;align-items:center;gap:13px;font-size:15px;font-weight:600;margin-bottom:10px}.required,.optional{font-size:11px;letter-spacing:.03em;font-weight:400;padding:1px 8px;background:#e7eff3;color:var(--blue);border-radius:2px}.optional{background:#edf0ef;color:var(--muted)}input:not([type=checkbox]),textarea{width:100%;border:1px solid #b6c3cb;border-radius:3px;background:white;padding:13px 15px;color:var(--ink);font-size:16px}textarea{resize:vertical;min-height:180px}.field small{font-size:12px;color:var(--muted);display:block;margin-top:6px}.privacy-note{font-size:13px;line-height:1.9;color:var(--muted);background:#edf3f5;padding:18px 20px}.checkbox{display:flex;gap:12px;margin-top:24px;font-size:14px;align-items:flex-start}.checkbox input{width:18px;height:18px;margin:4px 0 0;flex-shrink:0;accent-color:var(--ink)}#turnstile{margin-top:25px}#form-result{font-size:14px;margin-top:20px}#form-result.error{color:#9d2835}#form-result.success{color:#22634c}.honeypot{position:absolute;left:-10000px}.skip{position:fixed;top:-100px;left:15px;background:white;color:var(--ink);z-index:100;padding:10px}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(min-width:1500px){.hero{padding-left:80px;padding-right:80px}}@media(max-width:1000px){.header nav{gap:22px}.hero{column-gap:25px}.hero-image{min-height:570px}.hero-copy{padding-top:20px}.hero h1{font-size:60px}.business-copy{padding:35px 30px}.contact-layout{gap:45px}.contact-band{gap:30px}.wrap{padding-left:35px;padding-right:35px}}@media(max-width:760px){.header{height:76px;padding:0 23px}.wordmark{font-size:24px}.menu-toggle{display:flex;align-items:center;gap:12px;background:none;border:1px solid var(--line);border-radius:3px;padding:8px 12px;font-size:12px;color:var(--ink);min-height:44px;cursor:pointer}.menu-toggle span{font-size:20px;line-height:1}.header nav{display:none;position:absolute;top:76px;left:0;right:0;padding:20px 24px 25px;background:var(--paper);box-shadow:0 12px 20px #102b4012;align-items:stretch;gap:8px}.header nav.open{display:flex;flex-direction:column}.header nav a{padding:12px}.header nav .nav-contact{margin-top:8px;text-align:center}.header nav a[aria-current=page]:not(.nav-contact):after{bottom:5px;right:auto;width:35px;left:12px}.wrap{padding-left:24px;padding-right:24px}.section{padding-top:72px;padding-bottom:72px}.hero{padding:36px 24px 0;grid-template-columns:1fr;gap:0}.hero-copy{padding:0 0 36px}.hero .eyebrow{margin-bottom:20px}.hero h1{font-size:clamp(48px,10vw,68px)}.hero-lead{font-size:18px;margin-top:24px}.hero-description{font-size:14px}.hero-image{min-height:0;height:350px;border-radius:65px 3px 3px 3px}.hero-image img{object-position:center 43%}.hero-bottom{font-size:11px;padding:20px 0;gap:20px}.hero-bottom .english{display:none}.image-label{font-size:10px;padding:13px 18px}.intro{grid-template-columns:1fr;gap:12px}.intro>.eyebrow{padding:0;margin-bottom:10px}h2{font-size:29px}.intro p:not(.eyebrow){font-size:15px;margin-top:25px}.eyebrow{font-size:12px;margin-bottom:18px}.section-heading{margin-bottom:32px}.section-number{font-size:74px}.business-card{grid-template-columns:1fr}.bibi-brand{min-height:245px;padding:40px 32px 65px}.bibi-brand img{max-width:320px}.bibi-brand span{bottom:26px;font-size:10px}.business-copy{padding:34px 26px 40px}.business-copy h3{font-size:27px}.contact-band{grid-template-columns:1fr;padding:60px 24px;gap:26px}.contact-band h2{font-size:30px}.contact-band .button{margin-top:24px}.footer{padding:42px 24px 25px}.footer-top,.footer-bottom{align-items:flex-start;flex-direction:column;gap:22px}.footer-top{padding-bottom:30px}.footer-top p{font-size:13px}.footer-bottom{gap:20px;flex-direction:column-reverse}.footer nav{flex-wrap:wrap;gap:12px 20px;font-size:12px}.page-title{padding-top:50px;padding-bottom:50px}.page-title h1{font-size:40px}.page-title>p:last-of-type{font-size:15px}.about-message{grid-template-columns:1fr;padding-top:42px;padding-bottom:66px;gap:15px}.vertical-english{display:none}.about-message h2{font-size:28px;margin-bottom:25px}.about-message p{font-size:15px}.principles article{grid-template-columns:1fr;gap:8px}.principles h2{font-size:26px}.principles p:not(.eyebrow){font-size:15px}.principles article+article{padding-top:42px;margin-top:42px}.service-summary{grid-template-columns:1fr;gap:30px}.service-summary h2{font-size:27px}.service-summary p:not(.eyebrow){font-size:15px}.service-logo{min-height:190px;padding:35px}.company{grid-template-columns:1fr;gap:30px}.company h2{font-size:28px}dl>div{grid-template-columns:90px 1fr;gap:12px;font-size:14px;padding:20px 0}.contact-layout{grid-template-columns:1fr;gap:38px;padding-top:42px;padding-bottom:65px}.contact-layout aside h2{font-size:26px}.nursery-note{margin-top:26px;padding-top:22px}.contact-layout .eyebrow{display:none}.contact-layout aside h2 br{display:none}.form-note{margin-bottom:20px}.desktop{display:none}#submit-button{width:100%}.contact-title h1{font-size:34px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
