
:root{--ink:#222222;--text:#444444;--green:#292929;--paper:#fff;--wash:#ffffff;--line:#e5e5e5;--muted:#707070;--serif:"Hiragino Mincho ProN","Yu Mincho","Noto Serif CJK JP",serif;--sans:"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans CJK JP",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--text);background:var(--paper);font:16px/1.95 var(--sans);-webkit-font-smoothing:antialiased}body.locked{overflow:hidden}h1,h2,h3,p,figure{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{max-width:100%;display:block}h1,h2,h3{color:var(--ink);font-weight:400;overflow-wrap:anywhere}p{overflow-wrap:anywhere}h1,h2{font-family:var(--serif)}h1{font-size:clamp(38px,4.1vw,62px);line-height:1.5;letter-spacing:.045em}h2{font-size:clamp(29px,3vw,43px);line-height:1.6;letter-spacing:.025em}h3{font-size:23px;line-height:1.65}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #777777;outline-offset:5px}.wrap{width:min(1184px,calc(100% - 96px));margin:auto}.section{padding:108px 0}.wash{background:var(--wash)}.eyebrow{font-family:Georgia,serif;color:var(--green);font-size:16px;letter-spacing:.08em;margin-bottom:22px}.kicker{font-size:14px;letter-spacing:.14em;color:var(--green);margin-bottom:22px}.intro{max-width:620px;margin-top:26px;line-height:2.15}.small{font-size:14px;line-height:1.85;color:var(--muted)}.muted{color:var(--muted)}.section-heading{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:48px}.section-heading>p{max-width:410px;line-height:2}.btn{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:54px;padding:13px 26px;border:1px solid var(--green);background:var(--green);color:white;font-size:14px;line-height:1.7;text-align:center;transition:background .18s,color .18s}.btn:hover{background:#111111}.btn::after{content:'↗';font-size:19px}.btn.secondary{background:transparent;color:var(--green)}.btn.secondary:hover{background:#f5f5f5}.btn.light{border-color:white;background:white;color:var(--ink)}.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}.text-link{display:inline-flex;align-items:center;gap:28px;border-bottom:1px solid currentColor;padding:8px 0;font-size:14px;line-height:1.7}.text-link::after{content:'↗';font-size:19px}.skip{position:fixed;top:-100px;left:16px;background:white;padding:12px;z-index:200}.skip:focus{top:10px}.header{height:90px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.97);position:sticky;top:0;z-index:50}.header-inner{width:min(1360px,calc(100% - 80px));height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;flex-direction:column;line-height:1}.brand-name{font:35px/1.1 Georgia,serif;letter-spacing:-.035em;color:var(--ink)}.brand-sub{font-size:10px;letter-spacing:.21em;margin-top:8px}.nav{display:flex;align-items:center;gap:31px}.nav-general{display:flex;align-items:center;gap:31px}.nav-services,.mobile-home{display:none}.nav a{font-size:14px}.nav .btn{min-height:44px;padding:9px 22px;gap:20px}.menu-toggle{display:none;flex:0 0 48px;width:48px;height:48px;padding:10px;border:0;background:transparent;color:var(--ink);align-items:center;justify-content:center}.menu-icon{position:relative;display:block;width:27px;height:20px}.menu-icon span{position:absolute;left:0;width:27px;height:2px;background:currentColor;transition:transform .18s,opacity .18s;transform-origin:center}.menu-icon span:nth-child(1){top:0}.menu-icon span:nth-child(2){top:9px}.menu-icon span:nth-child(3){top:18px}.menu-toggle[aria-expanded="true"] .menu-icon span:nth-child(1){transform:translateY(9px) rotate(45deg)}.menu-toggle[aria-expanded="true"] .menu-icon span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] .menu-icon span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}.breadcrumb{font-size:12px;padding-top:24px;color:var(--muted)}.breadcrumb a{text-decoration:underline;text-underline-offset:4px}.breadcrumb span{margin:0 14px}.hero{padding:36px 0 50px}.hero-grid{width:min(1360px,calc(100% - 80px));margin:auto;display:grid;grid-template-columns:1fr 1.1fr;gap:36px;align-items:center}.hero-copy{padding:20px 0 20px clamp(10px,3vw,56px)}.hero-copy .intro{max-width:440px;font-size:16px}.hero-photo img{width:100%;height:auto;object-fit:contain;border-radius:0}.hero .hero-photo{width:min(100%,410px);justify-self:center}.hero-photo figcaption{font-size:12px;color:var(--muted);margin-top:10px;text-align:right}.hero-micro{font:italic 17px/1.6 Georgia,serif;margin-top:40px;color:var(--muted)}.service-index{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr)}.service-index a{padding:25px 22px;border-right:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;line-height:1.7;transition:background .2s}.service-index a:first-child{border-left:1px solid var(--line)}.service-index a:hover{background:var(--wash)}.service-index span small{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.service-index b{font-size:20px;font-weight:400}.business-grid{display:grid;grid-template-columns:1fr 1fr;gap:58px 40px}.business-card{display:flex;flex-direction:column}.business-photo{aspect-ratio:1.55;overflow:hidden;background:var(--wash)}.business-photo img{width:100%;height:100%;object-fit:contain}.business-copy{padding-top:23px}.business-kind{font-size:13px;color:var(--muted);margin-bottom:6px}.business-card h3{font-family:var(--serif);font-size:29px}.business-card p.desc{margin:14px 0 17px;line-height:1.95;min-height:94px}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.split-photo img{width:100%;height:auto;object-fit:contain}.split-photo figcaption{font-size:12px;color:var(--muted);margin-top:12px}.split-copy p+p{margin-top:20px}.split-copy .eyebrow{margin-bottom:20px}.values{margin:30px 0 0;padding:0;list-style:none}.values li{padding:16px 0;border-bottom:1px solid var(--line);display:flex;gap:20px;align-items:start}.values b{font-size:14px;color:var(--green);font-weight:400;flex:0 0 24px}.values span{font-size:15px}.founder{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px;align-items:center}.founder figure{max-width:350px}.founder img{width:100%;height:auto;object-fit:contain}.founder .name{margin-top:24px;color:var(--ink)}.founder .name strong{font-family:var(--serif);font-size:24px;font-weight:400;display:block;margin-top:4px}.company-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px}.company-list{margin:0}.company-list div{display:grid;grid-template-columns:110px 1fr;gap:24px;padding:21px 0;border-bottom:1px solid var(--line)}.company-list dt{font-size:14px;color:var(--muted)}.company-list dd{margin:0;font-size:15px}.company-list a{text-decoration:underline;text-underline-offset:4px}.contact{background:white;color:var(--text);border-top:1px solid var(--line)}.contact h2,.contact .eyebrow,.contact h3{color:var(--ink)}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px}.contact-links{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-links a{padding:22px;border:1px solid #dedede;font-size:15px;line-height:1.8;min-height:110px;display:flex;flex-direction:column;justify-content:space-between}.contact-links a:hover{background:#f7f7f7}.contact-links small{font-size:12px;color:#707070}.contact-links span{display:flex;justify-content:space-between;gap:10px}.contact-meta{margin-top:28px;font-size:14px;color:#555555}.contact-meta a{text-decoration:underline;text-underline-offset:4px}.footer{border-top:1px solid var(--line);background:#ffffff;color:#444444;padding:42px 0 25px}.footer-top{display:flex;gap:32px;justify-content:space-between;align-items:start}.footer .brand-name{color:var(--ink);font-size:31px}.footer .brand-sub{color:#707070}.footer-nav{display:flex;flex-wrap:wrap;gap:14px 24px;max-width:630px;font-size:13px}.footer-bottom{border-top:1px solid #e5e5e5;margin-top:35px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;color:#707070;font-size:12px}.footer-address{font-size:12px;margin-top:22px;line-height:1.9}.page-hero{padding:32px 0 52px}.page-hero .hero-photo img{height:auto}.page-hero .hero-copy{padding-left:0}.page-hero .hero-grid{width:min(1184px,calc(100% - 96px));gap:64px}.page-name{font-family:var(--sans);font-size:15px;letter-spacing:.1em;color:var(--green);margin-bottom:20px}.page-hero h1{font-size:clamp(35px,3.65vw,53px)}.page-tags{display:flex;flex-wrap:wrap;gap:12px 23px;margin-top:28px;padding:0;list-style:none;font-size:13px;color:var(--green)}.page-tags li{border-bottom:1px solid #cccccc;padding-bottom:5px}.three-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.feature{border-top:1px solid var(--green);padding-top:23px}.feature .num{font:italic 25px Georgia,serif;color:#777777;display:block;margin-bottom:20px}.feature h3{font-family:var(--serif);font-size:25px;margin-bottom:17px}.feature p{font-size:15px;line-height:2}.feature ul{padding-left:1.2em;font-size:14px;line-height:2;color:var(--muted);margin:16px 0 0}.note{font-size:13px;color:var(--muted);margin-top:25px;line-height:1.9}.wide-note{border-left:3px solid var(--green);padding:22px 30px;background:var(--wash);margin-top:40px}.wide-note strong{color:var(--ink);font-weight:500;display:block;margin-bottom:6px}.flow{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.flow li{border-top:1px solid #cccccc;padding-top:24px}.flow .num{font:italic 28px Georgia,serif;color:#777777;display:block;margin-bottom:18px}.flow h3{font-size:19px;margin-bottom:12px}.flow p{font-size:14px;line-height:1.95}.faq-layout{display:grid;grid-template-columns:.65fr 1.35fr;gap:65px}.faqs details{border-top:1px solid var(--line)}.faqs details:last-child{border-bottom:1px solid var(--line)}.faqs summary{cursor:pointer;list-style:none;padding:24px 35px 24px 0;position:relative;font-size:16px;color:var(--ink);line-height:1.8}.faqs summary::-webkit-details-marker{display:none}.faqs summary::after{content:'+';position:absolute;right:3px;top:21px;font-size:25px;font-family:Georgia,serif}.faqs details[open] summary::after{content:'−'}.faqs details p{padding:0 30px 25px 0;font-size:15px;line-height:2}.enquiry{background:#ffffff;border:1px solid var(--line);padding:55px}.enquiry-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.enquiry h2{font-size:34px}.enquiry p{margin-top:22px}.enquiry ul{padding-left:1.25em;font-size:14px;line-height:2}.enquiry .actions{margin-top:24px}.email-line{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:22px;font-size:14px}.copy-btn{border:1px solid #cccccc;background:transparent;color:var(--ink);font-size:12px;padding:6px 12px;min-height:38px}.copy-status{min-height:26px;font-size:12px;color:var(--green);margin-top:4px}.contact-hint{font-size:12px!important;color:var(--muted);margin-top:10px!important}.service-bottom{padding:38px 0;border-top:1px solid var(--line);margin-top:80px;display:flex;gap:22px;flex-wrap:wrap;justify-content:space-between;font-size:14px}.oem-hero{text-align:center;padding:65px 24px 70px;background:var(--wash);margin-top:30px}.oem-hero h1{font-size:clamp(37px,4.3vw,64px)}.oem-hero .intro{margin:24px auto 0;max-width:660px}.oem-hero .actions{justify-content:center}.oem-hero .page-tags{justify-content:center}.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.product img{width:100%;height:470px;object-fit:contain;background:var(--wash)}.product .apparel{object-position:center 43%}.product .harness{object-position:center}.product h3{margin:23px 0 14px;font-family:var(--serif);font-size:27px}.product .small{margin-top:15px}.production{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:35px}.production>div{border-top:1px solid var(--green);padding-top:24px}.production h3{font-size:22px;margin-bottom:14px}.production p{font-size:15px}.oem-flow{grid-template-columns:repeat(5,1fr);gap:22px}.top-link{white-space:nowrap}.title-line{display:block}
@media(min-width:1700px){.hero-photo img{height:650px}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.header-inner,.hero-grid{width:calc(100% - 56px)}.nav,.nav-general{gap:22px}.hero-grid{gap:24px;grid-template-columns:1fr 1fr}.hero-copy{padding-left:0}.hero-photo img{height:570px}.split{gap:45px}.section{padding:85px 0}.founder{gap:50px}.contact-grid{gap:40px}.page-hero .hero-grid{width:calc(100% - 64px);gap:35px}.oem-flow{grid-template-columns:repeat(3,1fr);row-gap:35px}.service-index a{padding:22px 14px}.company-layout{gap:40px}.enquiry{padding:38px}.enquiry-grid{gap:35px}}
@media(max-width:760px){html{scroll-padding-top:85px}.wrap{width:calc(100% - 40px)}.header{height:76px}.header-inner{width:calc(100% - 40px)}.brand-name{font-size:29px}.brand-sub{font-size:9px;letter-spacing:.16em}.menu-toggle{display:flex;margin-right:-10px}.nav{display:none;position:fixed;left:0;top:76px;right:0;height:calc(100vh - 76px);height:calc(100dvh - 76px);background:#fff;padding:22px 24px max(30px,env(safe-area-inset-bottom));flex-direction:column;align-items:stretch;gap:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border-top:1px solid var(--line)}.nav.open{display:flex}.nav-services{display:block}.nav-caption{font-size:12px;letter-spacing:.08em;color:var(--muted);margin:0 0 12px}.nav .nav-service{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 0;border-bottom:1px solid var(--line);min-height:80px}.nav-service strong{display:block;font-size:17px;font-weight:500;line-height:1.65;color:var(--ink)}.nav-service small{display:block;font-size:11px;color:var(--muted);line-height:1.7;margin-top:3px}.nav-service::after{content:'';width:8px;height:8px;border-right:1.5px solid currentColor;border-top:1.5px solid currentColor;transform:rotate(45deg);flex:0 0 8px;margin-right:3px}.nav-service:hover{background:#fafafa}.nav-general{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:0 20px;margin-top:20px}.nav-general a{padding:12px 0;font-size:13px;min-height:44px}.nav-general .mobile-home{display:block}.nav-general .desktop-services{display:none}.nav-general .btn{grid-column:1/-1;margin-top:16px;padding:14px;min-height:52px}.nav-service[aria-current="page"] strong::after{content:'閲覧中';font:10px/1.5 var(--sans);color:var(--muted);display:inline-block;margin-left:9px;border:1px solid var(--line);padding:1px 5px;vertical-align:middle}.hero{padding:24px 0 32px}.hero-grid,.page-hero .hero-grid{width:calc(100% - 40px);grid-template-columns:1fr;gap:30px}.hero-copy,.page-hero .hero-copy{padding:12px 8px 0}.hero h1{font-size:42px;line-height:1.55;letter-spacing:.025em}.kicker{font-size:12px;margin-bottom:18px}.hero-copy .intro{margin-top:22px;font-size:15px;max-width:100%}.hero .actions{margin-top:24px}.hero-micro{display:none}.hero-photo img,.page-hero .hero-photo img{height:auto;border-radius:0;object-fit:contain}.hero-photo figcaption{font-size:10px}.service-index{grid-template-columns:1fr 1fr}.service-index a{padding:19px 14px;font-size:12px;border-bottom:1px solid var(--line)}.service-index a:nth-child(odd){border-left:1px solid var(--line)}.service-index a:nth-child(n+3){border-bottom:0}.service-index small{font-size:10px!important}.section{padding:68px 0}.eyebrow{font-size:15px;margin-bottom:15px}h2{font-size:29px;line-height:1.7}.section-heading{display:block;margin-bottom:32px}.section-heading>p{margin-top:22px;font-size:15px}.business-grid{grid-template-columns:1fr;gap:38px}.business-photo{aspect-ratio:1.5}.business-copy{padding-top:18px}.business-card h3{font-size:26px}.business-card p.desc{font-size:15px;min-height:0;margin:12px 0}.business-kind{font-size:12px}.split{grid-template-columns:1fr;gap:33px}.split-photo img{height:auto}.split-copy p{font-size:15px}.founder{grid-template-columns:1fr;gap:30px}.founder figure{width:70%;max-width:300px}.founder p{font-size:15px}.company-layout{grid-template-columns:1fr;gap:25px}.company-list div{grid-template-columns:76px 1fr;gap:14px;padding:18px 0}.company-list dt{font-size:12px}.company-list dd{font-size:14px}.contact-grid{grid-template-columns:1fr;gap:30px}.contact-links{gap:10px}.contact-links a{padding:18px 14px;font-size:13px;min-height:106px}.contact-links small{font-size:11px}.contact-meta{font-size:13px}.footer-top{display:block}.footer-nav{margin-top:28px;font-size:12px;gap:12px 19px}.footer-bottom{font-size:10px;align-items:start}.footer-address{font-size:11px}.page-hero{padding:26px 0 35px}.page-hero h1{font-size:38px}.page-name{font-size:13px}.page-tags{font-size:12px;gap:10px 20px}.three-grid{grid-template-columns:1fr;gap:35px}.feature .num{margin-bottom:13px}.feature h3{font-size:24px}.feature p{font-size:15px}.flow,.oem-flow{grid-template-columns:1fr 1fr;gap:28px 20px}.flow h3{font-size:17px}.flow p{font-size:13px}.flow .num{font-size:25px;margin-bottom:13px}.faq-layout{grid-template-columns:1fr;gap:28px}.faqs summary{font-size:15px;padding-top:20px;padding-bottom:20px}.faqs details p{font-size:14px;padding-right:10px}.enquiry{padding:30px 22px}.enquiry-grid{grid-template-columns:1fr;gap:24px}.enquiry h2{font-size:28px}.enquiry p{font-size:15px;margin-top:17px}.enquiry .btn{width:100%}.email-line{font-size:13px;gap:10px}.service-bottom{margin-top:50px;font-size:12px;gap:18px}.oem-hero{padding:45px 20px 42px;margin-top:24px}.oem-hero h1{font-size:clamp(24px,7.7vw,31px)}.oem-hero .intro{font-size:15px}.oem-hero .actions{gap:10px}.oem-hero .btn{width:100%}.product-grid{grid-template-columns:1fr;gap:40px}.product img{height:370px}.product h3{font-size:25px}.product p{font-size:15px}.production{grid-template-columns:1fr;gap:28px}.wide-note{padding:20px;font-size:14px}.btn{padding:13px 22px;font-size:13px;gap:23px}.breadcrumb{font-size:11px;padding-top:18px}.intro{font-size:15px}}
@media(max-width:360px){.hero h1{font-size:35px}.page-hero h1{font-size:33px}.oem-hero h1{font-size:24px}.contact-links{grid-template-columns:1fr}.service-index a{padding:15px 10px}.service-index b{display:none}.business-card h3{font-size:24px}.flow,.oem-flow{grid-template-columns:1fr}.hero-photo img,.page-hero .hero-photo img{height:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
@media print{.header,.footer,.menu-toggle,.actions,.copy-btn{display:none}.section{padding:25px 0}.wrap{width:100%}.hero-photo img{height:300px}.hero-grid{width:100%}.contact{background:white;color:var(--text)}.contact h2,.contact h3,.contact .eyebrow{color:var(--ink)}}
/* Every page begins with one photograph, followed by its copy. */
.visual-hero{padding:24px 0 48px;background:#fff}
.visual-hero .hero-grid{width:min(1000px,calc(100% - 80px));display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:start;margin:0 auto}
.visual-hero .hero-photo{width:100%;max-width:840px;justify-self:center;margin:0}
.visual-hero.hero .hero-grid{width:min(1184px,calc(100% - 64px))}
.visual-hero.hero .hero-photo{max-width:none}
.visual-hero .hero-photo picture{display:block;width:100%}
.visual-oem .hero-photo{max-width:740px}
.visual-hero .hero-photo img{display:block;width:100%;height:auto;object-fit:contain;border-radius:0}
.visual-hero .hero-copy{width:100%;max-width:760px;padding:0;min-width:0;margin:0 auto;text-align:center}
.visual-hero h1{font-size:clamp(34px,3.4vw,46px);line-height:1.55}
.visual-hero .hero-breadcrumb{width:100%;padding:0;margin:0 0 24px;font-size:11px;text-align:center}
.visual-hero .hero-photo figcaption{font-size:11px;text-align:left;line-height:1.8;margin-top:10px}
.visual-hero .intro{max-width:620px;margin-left:auto;margin-right:auto}
.visual-hero .actions,.visual-hero .page-tags{justify-content:center}
.visual-hero .hero-micro{margin-top:28px}
.visual-hero .page-tags{margin-top:24px}
.mobile-title-break{display:none}
@media(max-width:900px){.visual-hero .hero-grid{gap:26px;width:min(680px,calc(100% - 40px))}.visual-hero h1{font-size:36px}}
@media(max-width:760px){.visual-hero{padding:18px 0 38px}.visual-hero .hero-grid{width:calc(100% - 32px);gap:26px}.visual-hero .hero-copy{padding:0 4px;text-align:left}.visual-hero h1{font-size:clamp(28px,8.6vw,36px);letter-spacing:.025em}.visual-hero .kicker,.visual-hero .page-name{margin-bottom:14px}.visual-hero .hero-breadcrumb{font-size:10px;margin-bottom:18px;text-align:left}.visual-hero .hero-photo figcaption{font-size:10px;margin-top:8px}.visual-hero .intro{margin-top:20px;font-size:15px}.visual-hero .actions{margin-top:24px;justify-content:flex-start}.visual-hero .hero-micro{display:none}.visual-oem .actions .btn{width:100%}.visual-hero .page-tags{font-size:12px;gap:10px 18px;justify-content:flex-start}.visual-oem h1{font-size:clamp(25px,7.8vw,32px)}.mobile-title-break{display:block}}
@media(max-width:760px){.visual-hero.hero .hero-grid{width:calc(100% - 32px);gap:22px}.visual-hero.hero .hero-photo{max-width:420px}}

/* OEM extension: keeps the approved white background and type system. */
.growth-hero{padding-bottom:44px}
.growth-hero .hero-photo{max-width:640px}
.growth-hero .hero-photo.portrait{max-width:340px}
.growth-hero .hero-copy{max-width:800px}
.growth-hero .intro{max-width:650px}
.growth-hero h1{font-size:clamp(29px,3.3vw,44px)}
.hero-topic{display:block;font:14px/1.8 var(--sans);letter-spacing:.08em;margin-bottom:16px}
.oem-nav{display:flex;flex-wrap:wrap;gap:0 26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 0;justify-content:center}
.oem-nav a{font-size:13px;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-decoration-color:#ddd;text-underline-offset:6px}
.oem-nav a:hover{text-decoration-color:#292929}
.oem-section{padding:76px 0;border-bottom:1px solid #efefef}
.oem-section .wrap{max-width:1080px}
.oem-section .section-heading{gap:36px;margin-bottom:32px}
.oem-section .section-heading h2{font-size:clamp(27px,2.8vw,36px)}
.oem-section .section-heading p{font-size:15px}
.body-width{max-width:760px;line-height:2}
.oem-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.oem-card{border-top:1px solid #999;padding:20px 0 0;min-width:0}
.oem-card h3{font-family:var(--serif);font-size:23px;margin:12px 0 16px}
.oem-card p{font-size:15px;line-height:1.95}
.oem-card .card-number{font:italic 22px/1.5 Georgia,serif;color:#777}
.oem-card .text-link{margin-top:18px}
.category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 40px}
.category-card{min-width:0;border-bottom:1px solid var(--line);padding-bottom:28px;display:flex;flex-direction:column}
.category-card .category-label{font:12px/1.5 Georgia,serif;letter-spacing:.08em;color:#777;margin:0 0 12px}
.category-card h3{font:25px/1.6 var(--serif);margin-bottom:12px}
.category-card h3 a:hover{text-decoration:underline;text-underline-offset:5px}
.category-card p{font-size:15px}
.category-card .text-link{margin-top:16px}
.category-photo{margin:0 0 24px;display:flex;align-items:center;justify-content:center;background:#fcfcfc;min-width:0}
.category-photo img{width:100%;height:300px;object-fit:contain}
.spec-list{margin:28px 0 0;border-top:1px solid #bbb}
.spec-list>div{display:grid;grid-template-columns:minmax(120px,220px) minmax(0,1fr);gap:28px;padding:22px 0;border-bottom:1px solid var(--line)}
.spec-list dt{font-size:15px;font-weight:500;color:#292929}
.spec-list dd{margin:0;font-size:15px;overflow-wrap:anywhere;white-space:pre-wrap}
.related-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}
.related-links a{border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:20px 0;font-size:15px;gap:20px}
.related-links a:hover{text-decoration:underline;text-underline-offset:5px}
.oem-cta p{max-width:780px}
.oem-cta .small{margin-top:20px}
.oem-cta .small a,.contact-direct a,.form-note a,.mail-fallback a{text-decoration:underline;text-underline-offset:4px}
.form-wrap{max-width:850px!important}
.form-intro{margin-bottom:36px}
.form-intro h2{font-size:30px}
.form-intro p:last-child{margin-top:16px;font-size:15px}
fieldset{padding:0;margin:0;border:0;min-width:0}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}
.field{min-width:0}
.field-wide{grid-column:1/-1}
.field label{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:9px;font-size:15px;color:#292929}
.field-badge{font-size:10px;line-height:1.8;border:1px solid #ccc;padding:0 5px;color:#666}
.field:has([required]) .field-badge{background:#292929;color:#fff;border-color:#292929}
input,select,textarea{font:16px/1.65 var(--sans);color:#292929;border:1px solid #bbb;border-radius:0;background:#fff;width:100%;max-width:100%;padding:12px;min-height:50px}
input::placeholder,textarea::placeholder{color:#767676;font-size:14px}
textarea{resize:vertical}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #292929;outline-offset:3px}
.form-note{margin:30px 0 20px;padding:22px 24px;background:#f7f7f6;font-size:14px;border-left:2px solid #777}
.form-note strong{font-weight:500;color:#292929}
.form-note p{margin-top:8px}
.contact-direct{margin-top:44px;padding-top:24px;border-top:1px solid var(--line);font-size:14px}
.mail-fallback{margin-top:40px;padding-top:26px;border-top:1px solid var(--line)}
.mail-fallback h3{font-size:20px;margin-bottom:14px}
.mail-fallback p,.mail-fallback label{font-size:14px;margin-bottom:16px;display:block}
.mail-fallback textarea{font-size:14px;margin-bottom:12px}
.copy-body{border:1px solid #aaa;background:#fff;padding:10px 18px;min-height:44px;font-size:14px}
#copy-result{min-height:26px;margin:12px 0}
#review-title{font-size:30px;margin-bottom:14px}
#review[hidden],#oem-form[hidden]{display:none!important}
[hidden]{display:none!important}
.form-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.consent-label{display:flex;align-items:flex-start;gap:12px;font-size:14px;line-height:1.8}
.consent-label input{width:20px;height:20px;min-height:20px;flex:0 0 20px;margin:3px 0 0;accent-color:#292929}
.selected-files{white-space:pre-wrap;margin-top:10px;overflow-wrap:anywhere}
.form-error{font-size:14px;color:#983c2f;margin-top:8px}
.form-status,.form-connection{font-size:14px;line-height:1.8;margin-top:20px;overflow-wrap:anywhere}
.mail-fallback summary{cursor:pointer;font-size:15px;min-height:44px;padding:10px 0;text-decoration:underline;text-underline-offset:4px}
.mail-fallback[open] summary{margin-bottom:15px}
#complete h2{font-size:29px;margin:0 0 20px}.receipt{padding:20px 0;font-size:15px;overflow-wrap:anywhere}
button:disabled{opacity:.5;cursor:not-allowed}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){.oem-cards{gap:24px}.oem-card h3{font-size:21px}}
@media(max-width:760px){
 .growth-hero{padding-bottom:30px}.growth-hero .hero-photo{max-width:540px}.growth-hero .hero-photo.portrait{max-width:300px}
 .growth-hero h1{font-size:clamp(26px,7.6vw,34px)}
 .growth-hero .actions .btn{width:100%}
 .oem-nav{justify-content:flex-start;gap:0 18px;padding:7px 0}.oem-nav a{font-size:12px;min-height:40px}
 .oem-section{padding:48px 0}.oem-section .section-heading{margin-bottom:25px}.oem-section .section-heading h2{font-size:28px}
 .oem-cards,.category-grid,.related-links,.form-grid{grid-template-columns:minmax(0,1fr)}
 .oem-cards{gap:27px}.category-grid{gap:28px}.oem-card h3{font-size:23px}
 .category-photo img{height:280px}.category-card h3{font-size:25px}.category-photo{margin-bottom:20px}
 .spec-list>div{grid-template-columns:minmax(0,1fr);gap:8px;padding:19px 0}.spec-list dt{font-size:14px}.spec-list dd{font-size:14px}
 .form-grid{gap:23px}.form-note{padding:18px}.form-intro h2,#review-title{font-size:27px}
 .form-wrap .actions{gap:12px}.form-wrap .actions .btn{width:100%}
 .body-width,.oem-cta p{font-size:15px}.oem-section .note{font-size:12px}
}
@media print{.oem-nav,.contact-direct,.mail-fallback{display:none}.growth-hero .hero-photo{max-width:350px}.growth-hero .hero-photo.portrait{max-width:200px}.oem-section{padding:28px 0}.oem-section .wrap{width:100%}.category-card,.oem-card,.spec-list>div{break-inside:avoid}}
