*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:7rem}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;color:#112b3a;background:#fff;font-size:1rem;line-height:1.9}a{color:inherit}a:focus-visible{outline:3px solid #058d88;outline-offset:6px}.wrap{width:min(1120px,calc(100% - 64px));margin-inline:auto}.skip{position:absolute;top:-100px;left:1rem;background:#fff;padding:1rem;z-index:20}.skip:focus{top:1rem}.header{background:#fff;border-bottom:1px solid #e2eaed}.header-inner{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{text-decoration:none;font-size:1.55rem;letter-spacing:.12em;font-weight:800;line-height:1.4}.brand span{display:block;font-size:.75rem;letter-spacing:.15em;font-weight:500;margin-top:5px}nav{display:flex;gap:32px;font-size:.9rem}nav a{text-decoration:none}nav a:hover{text-decoration:underline;text-underline-offset:6px}.hero{display:grid;grid-template-columns:1.45fr 1fr;align-items:center;gap:72px;padding-block:80px 96px}.eyebrow{font-size:.8rem;letter-spacing:.16em;color:#087d7a;font-weight:750;margin:0 0 26px}.hero h1{font-size:clamp(2.25rem,4.5vw,3.85rem);line-height:1.55;letter-spacing:.02em;margin:0 0 30px;font-weight:750}.intro{font-size:1.03rem;color:#465b68;line-height:2.2;margin:0 0 34px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:16px 24px;background:#087d7a;color:#fff;text-decoration:none;font-weight:650;line-height:1.6;border-radius:5px;min-height:54px;font-size:.95rem;transition:background .18s}.button:hover{background:#08645f}.supervisor{font-size:.85rem;color:#62747d;margin:18px 0 0}.app-visual{margin:0;position:relative;padding:34px 36px 24px;background:#edf5f8;border-radius:48% 48% 22px 22px;display:flex;flex-direction:column;align-items:center}.app-visual img{display:block;width:min(100%,282px);height:auto;max-height:594px;object-fit:cover;object-position:top;border:1px solid #dde5e7;border-radius:18px;box-shadow:0 22px 42px #102b3a15;background:#fff}.app-visual figcaption{font-size:.75rem;color:#576e78;margin-top:20px;text-align:center}.product-section{background:#f4f8fa;padding-block:80px 88px}.section-heading h2{font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.65;letter-spacing:.03em;margin:0 0 22px}.section-heading>p:last-child{color:#465b68;margin-bottom:40px}.section-heading .eyebrow{margin-bottom:18px}.features{display:grid;grid-template-columns:1fr 1fr;column-gap:56px;row-gap:30px}.features article{border-top:1px solid #bacdd4;padding-top:26px}.feature-number{font-size:.75rem;letter-spacing:.09em;font-weight:700;color:#087d7a;margin:0 0 14px}.features h3{font-size:1.2rem;margin:0 0 12px}.features article>p:last-child{color:#465b68;margin:0;max-width:40em;line-height:2}.app-link-row{display:flex;gap:32px;align-items:center;margin-top:42px}.app-link-row p{font-size:.85rem;color:#5a6e79;margin:0;line-height:1.8}.dark{background:#112b3a}.dark:hover{background:#254959}.company-section{padding-block:84px 100px;display:grid;grid-template-columns:1fr 1.65fr;gap:48px}.company-table{margin:0}.company-table>div{display:grid;grid-template-columns:120px 1fr;gap:22px;padding:24px 0;border-bottom:1px solid #dde7eb}.company-table>div:first-child{border-top:1px solid #dde7eb}.company-table dt{color:#62747d;font-size:.9rem}.company-table dd{margin:0;overflow-wrap:anywhere}.roman-name{display:block;font-size:.85rem;color:#62747d}footer{border-top:1px solid #dde7eb;background:#fff}.footer-inner{padding-block:30px;display:flex;justify-content:space-between;align-items:center;gap:24px}.footer-brand{font-weight:800;letter-spacing:.1em}.footer-inner p{font-size:.8rem;color:#62747d;margin:0}.mobile-break{display:none}@media(max-width:800px){.wrap{width:calc(100% - 40px)}.header-inner{min-height:88px}.brand{font-size:1.25rem}.brand span{font-size:.75rem}nav{gap:20px;font-size:.85rem}.hero{gap:32px;padding-block:54px 64px;grid-template-columns:1.2fr 1fr}.hero h1{font-size:2.25rem}.hero .button{padding-inline:16px}.app-visual{padding:24px 18px 18px}.app-visual figcaption{font-size:.75rem}.features{gap:30px}.company-section{grid-template-columns:1fr;gap:12px}.company-table>div{grid-template-columns:110px 1fr}.desktop-break{display:none}}@media(max-width:580px){html{scroll-padding-top:2rem}.wrap{width:calc(100% - 40px)}.header-inner{gap:10px;min-height:82px}.brand{font-size:1.1rem}.brand span{font-size:.75rem;letter-spacing:.04em}nav{gap:16px;font-size:.85rem}.hero{grid-template-columns:1fr;gap:42px;padding-block:44px 56px}.hero h1{font-size:clamp(2rem,8vw,2.8rem);line-height:1.5}.eyebrow{margin-bottom:20px}.intro{font-size:1rem}.hero .button{width:100%;padding:16px}.app-visual{width:min(100%,340px);margin-inline:auto;padding:28px 34px 20px}.app-visual img{max-height:550px}.product-section{padding-block:56px}.section-heading h2{font-size:1.9rem}.features{grid-template-columns:1fr;gap:32px}.features h3{font-size:1.15rem}.app-link-row{flex-direction:column;align-items:flex-start;gap:18px}.company-section{padding-block:56px 64px}.company-table>div{grid-template-columns:90px 1fr;gap:16px;padding:20px 0}.company-table dd{font-size:.95rem}.footer-inner{flex-direction:column;align-items:flex-start;gap:10px}.mobile-break{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

.contact-section{background:#f4f8fa;padding-block:64px}.contact-inner{display:grid;grid-template-columns:1fr 1.65fr;gap:48px}.contact-section .eyebrow{margin-bottom:16px}.contact-section h2{font-size:2rem;line-height:1.6;margin:0 0 16px}.contact-section p{color:#465b68;margin:0;line-height:2}.contact-details{padding-top:12px}.contact-email{display:inline-block;font-weight:700;font-size:clamp(1rem,2vw,1.3rem);color:#087d7a;overflow-wrap:anywhere;text-underline-offset:6px;margin-bottom:20px}.contact-details p{font-size:.9rem}.contact-details p a{color:#087d7a;text-underline-offset:4px}.footer-inner a{text-underline-offset:4px}@media(max-width:800px){.contact-inner{grid-template-columns:1fr;gap:24px}.contact-details{padding-top:0}.contact-section{padding-block:48px}}@media(max-width:580px){.header-inner{flex-wrap:wrap;padding-block:16px}nav{flex-wrap:wrap;row-gap:8px;column-gap:16px;font-size:.8rem}}
