:root{--ink:#10253e;--blue:#185fe9;--paper:#fff;--muted:#647080;--line:#dbe1e9;--soft:#f1f4f8;--font:Arial,Helvetica,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(--font);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #4a8bff;outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2{font-weight:500;letter-spacing:-.045em;line-height:1.1}h2{font-size:clamp(2rem,3.6vw,3.5rem);margin-bottom:24px}h3{font-size:1.2rem;line-height:1.3}.header{height:104px;max-width:1440px;margin:auto;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:flex;gap:12px;align-items:center;font-size:1.7rem;font-weight:800;line-height:1}.brand-mark{background:var(--ink);color:#fff;border-radius:3px;width:43px;height:43px;display:grid;place-items:center;font-size:1.8rem;font-weight:700}.brand-sub{display:block;font-size:.68rem;letter-spacing:.18em;font-weight:600;margin-top:6px}.header nav{display:flex;gap:30px;align-items:center;font-size:.9rem;font-weight:600}.header nav a:hover,.text-link:hover{color:var(--blue)}.nav-contact{border:1px solid var(--line);padding:10px 24px}.hero{display:grid;grid-template-columns:1.12fr 1fr;min-height:630px;max-width:1440px;margin:0 auto;background:var(--ink);color:#fff}.hero-copy{padding:68px 8% 30px}.eyebrow{font-size:.75rem;letter-spacing:.14em;font-weight:700;display:flex;align-items:center;gap:12px;margin-bottom:28px;color:#c1d2e7}.eyebrow.dark{color:var(--blue)}.line{width:28px;height:2px;background:#71a4ff}.hero h1{font-size:clamp(2.7rem,4.5vw,4.8rem);margin-bottom:30px}.hero h1 span{color:#a9c7ff}.hero-description{max-width:440px;color:#d0d9e5;margin-bottom:32px;font-size:1.05rem;line-height:1.8}.button{display:inline-flex;align-items:center;justify-content:center;border:none;min-height:50px;padding:13px 25px;font-size:.9rem;font-weight:600;cursor:pointer}.primary{background:var(--blue);color:#fff}.primary:hover{background:#084cd1}.text-link{display:inline-block;margin-left:20px;font-size:.9rem;padding:12px 0;border-bottom:1px solid #78899f}.hero-bottom{display:flex;gap:20px;justify-content:space-between;margin-top:62px;border-top:1px solid #33445a;padding-top:20px;font-size:.65rem;letter-spacing:.1em;color:#b2c1d3}.hero-editorial{background:#e9eef5;color:var(--ink);padding:45px;display:flex;flex-direction:column;justify-content:space-between}.small-label,.editorial-foot{font-size:.7rem;letter-spacing:.14em}.hero-editorial strong{font-weight:400;letter-spacing:-.08em;font-size:clamp(9rem,20vw,19rem);line-height:.95;color:var(--blue)}.editorial-title{font-size:1.5rem;line-height:1.4}.editorial-foot{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #cbd5e1;padding-top:22px;margin-top:35px}.section{max-width:1440px;margin:auto;padding:90px 5%}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:42px}.section-heading>p{max-width:330px;color:var(--muted);margin-bottom:25px}.catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.catalog-text .category{border-top:1px solid var(--line);padding:24px 0}.category-number{color:var(--blue);font-size:.8rem;font-weight:700}.category h3{margin-top:16px;margin-bottom:10px}.category p{color:var(--muted);font-size:.9rem}.standards{background:var(--ink);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:90px}.standards-intro{color:#c6d2e0;max-width:440px}.standards-list article{display:flex;gap:25px;padding:26px 0;border-top:1px solid #40516a}.standards-list article>span{color:#99baff;font-size:.8rem}.standards-list h3{margin-bottom:9px}.standards-list p{color:#c6d2e0;font-size:.95rem;margin-bottom:0}.about-body{display:grid;grid-template-columns:1fr 1fr;gap:90px}.about-body p{color:var(--muted);font-size:1.05rem}.contact{border-top:1px solid var(--line);background:var(--soft);display:grid;grid-template-columns:1fr 1fr;gap:90px}.contact p{color:var(--muted)}.address-label{font-size:.8rem;letter-spacing:.13em;font-weight:700}.address address{font-style:normal;font-size:1.35rem;line-height:1.65;margin:18px 0 25px}footer{max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:38px 5%;font-size:.8rem;color:var(--muted)}footer p{margin:0}.footer-brand{color:var(--ink);font-size:1.2rem}.footer-brand .brand-mark{width:34px;height:34px;font-size:1.4rem}.footer-brand .brand-sub{font-size:.6rem}@media(min-width:1441px){body{background:#f5f7fa}.header,.section,footer{background:#fff}.standards{background:var(--ink)}.contact{background:var(--soft)}}@media(max-width:950px){.header nav{gap:15px}.hero-copy{padding:45px 8% 25px}.hero-editorial{padding:30px}.hero{min-height:570px}.text-link{margin-left:0;margin-top:12px;display:table}.hero-bottom{margin-top:34px;flex-wrap:wrap}.catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.standards,.about-body,.contact{gap:45px}.section{padding:65px 5%}.hero h1{font-size:3.1rem}footer{flex-wrap:wrap}}@media(max-width:640px){html{scroll-padding-top:30px}.header{height:auto;min-height:100px;padding:20px 6%;align-items:flex-start;gap:16px;flex-wrap:wrap}.header nav{flex-wrap:wrap;width:100%;gap:16px;font-size:.85rem}.nav-contact{padding:0;border:0}.brand{font-size:1.45rem}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:46px 6% 26px}.hero h1{font-size:clamp(2.5rem,10vw,3.6rem)}.hero-description{font-size:1rem}.hero-bottom{font-size:.6rem;margin-top:40px}.hero-editorial{padding:28px 6%;display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:center}.small-label{grid-column:1/-1}.hero-editorial strong{font-size:7rem}.editorial-title{font-size:1.1rem}.editorial-foot{grid-column:1/-1;margin-top:0;font-size:.65rem}.section{padding:55px 6%}.section-heading{display:block;margin-bottom:25px}.section-heading>p{max-width:100%}.catalog{grid-template-columns:1fr;gap:18px}.standards,.about-body,.contact{grid-template-columns:1fr;gap:28px}.standards-list article{padding:22px 0}.eyebrow{font-size:.7rem;letter-spacing:.11em}.address address{font-size:1.2rem}footer{padding:30px 6%;gap:22px}footer>span{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.portfolio-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px;padding-bottom:20px;border-bottom:1px solid var(--line)}.filters{display:flex;flex-wrap:wrap;gap:8px}.filter{border:1px solid transparent;color:var(--muted);background:none;border-radius:3px;padding:10px 16px;font-size:.85rem;cursor:pointer;font-weight:600}.filter:hover{color:var(--blue);background:var(--soft)}.filter.active{background:var(--ink);color:#fff}.result-count{font-size:.85rem;color:var(--muted);white-space:nowrap}.category{min-width:0;border:1px solid var(--line);background:#fff;transition:border-color .2s,transform .2s}.category:hover{border-color:#9dabc0;transform:translateY(-3px)}.category-open{background:none;border:0;padding:0;display:block;width:100%;height:100%;text-align:left;color:var(--ink);cursor:pointer}.category-media{aspect-ratio:3/2;position:relative;background:#eef1f5;overflow:hidden}.category-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}.category:hover img{transform:scale(1.025)}.image-count{position:absolute;bottom:13px;right:13px;background:#fffffff0;padding:4px 8px;font-size:.65rem;font-weight:700;letter-spacing:.1em}.category-body{padding:24px}.category-meta{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:var(--muted)}.category h3{font-size:1.25rem;min-height:3.25rem;margin-top:18px}.category p{font-size:.95rem;min-height:4.5rem;margin-bottom:20px}.category-action{display:flex;align-items:center;justify-content:space-between;font-size:.85rem;font-weight:600;border-top:1px solid var(--line);padding-top:17px}.plus{font-size:1.5rem;font-weight:400;line-height:1}.portfolio-note{font-size:.8rem;color:var(--muted);margin-top:30px;margin-bottom:0}.hero-editorial.hero-photo{padding:0;position:relative;overflow:hidden;min-height:550px;background:#d6e0ea}.hero-photo>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.hero-photo:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(5,18,34,.78))}.hero-photo-caption{position:absolute;bottom:35px;left:35px;right:35px;z-index:1;color:white;border-top:1px solid #ffffff70;padding-top:20px}.hero-photo-caption span{font-size:.68rem;letter-spacing:.12em;font-weight:600}.hero-photo-caption p{font-size:1.8rem;line-height:1.2;letter-spacing:-.02em;margin:14px 0 0}.product-dialog{border:0;border-radius:0;padding:0;width:min(1040px,92vw);max-height:90vh;background:#fff;color:var(--ink);overscroll-behavior:contain}.product-dialog::backdrop{background:#081a30bd;backdrop-filter:blur(4px)}.dialog-open{overflow:hidden}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 36px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:2;background:#fff}.dialog-brand{font-size:.7rem;letter-spacing:.12em;font-weight:700}.close-dialog{width:42px;height:42px;border:1px solid var(--line);background:#fff;font-size:1.8rem;line-height:1;cursor:pointer;color:var(--ink)}.close-dialog:hover{background:var(--soft)}#detail-content{padding:34px 36px 28px}.detail-heading .eyebrow{margin-bottom:18px}.detail-heading h2{font-size:clamp(2rem,4vw,3rem);max-width:800px}.detail-heading>p:last-child{color:var(--muted);max-width:700px}.detail-gallery{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:30px}.detail-gallery figure{margin:0;min-width:0}.detail-gallery img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block}.detail-gallery figcaption{font-size:.8rem;display:flex;flex-direction:column;gap:5px;margin-top:12px}.detail-gallery figcaption>span{font-weight:700}.detail-gallery a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}.detail-bottom{display:grid;grid-template-columns:1fr 1fr;gap:40px;border-top:1px solid var(--line);margin-top:30px;padding-top:30px}.detail-bottom h3{font-size:1.1rem}.detail-bottom ul{padding-left:20px}.detail-bottom p,.detail-bottom li{font-size:.95rem;color:var(--muted)}.detail-standards{font-size:.9rem;color:var(--blue);text-decoration:underline;text-underline-offset:3px}.image-note{font-size:.75rem;color:var(--muted);border-top:1px solid var(--line);margin:30px 0 0;padding-top:18px}@media(max-width:640px){.portfolio-controls{align-items:flex-start;flex-direction:column;gap:15px}.filter{padding:9px 12px;font-size:.8rem}.catalog{grid-template-columns:1fr}.category h3{min-height:0}.category p{min-height:0}.hero-editorial.hero-photo{min-height:360px;display:block}.hero-photo-caption{left:24px;right:24px;bottom:24px}.hero-photo-caption p{font-size:1.6rem}.product-dialog{width:94vw;max-height:92vh}.dialog-top{padding:12px 20px}.dialog-brand{font-size:.6rem;letter-spacing:.07em}#detail-content{padding:28px 20px}.detail-gallery,.detail-bottom{grid-template-columns:1fr;gap:25px}.detail-gallery figcaption{font-size:.85rem}.image-note{font-size:.8rem}.detail-heading .eyebrow{font-size:.65rem}.category-body{padding:22px}.image-count{font-size:.7rem}}
.contact-person{margin-top:20px;margin-bottom:22px;color:var(--ink)!important}.contact-person a{color:var(--blue);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.contact-person strong{font-size:1.1rem}.address .button{background:none;color:var(--ink);border:1px solid #bec9d7}.address .button:hover{background:#e5ebf2}
.brand-sub,.footer-brand .brand-sub,.hero-bottom,.small-label,.editorial-foot,.hero-photo-caption span,.dialog-brand,.detail-heading .eyebrow,.image-count{font-size:.75rem}.filter,.category-action,.text-link,.header nav{font-size:.875rem}@media(max-width:640px){.dialog-brand{font-size:.75rem;letter-spacing:.03em}.hero-bottom,.editorial-foot,.image-count{font-size:.75rem}.filter{font-size:.875rem}}

/* Inquiry form follows the existing navy/blue TWY visual language. */
.contact{grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);gap:70px}.inquiry-form{margin-top:30px;max-width:700px}.inquiry-form fieldset{border:0;margin:0;padding:0;min-width:0}.inquiry-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}.form-field{display:flex;flex-direction:column;gap:7px;min-width:0}.form-wide{grid-column:1/-1}.form-field label{font-size:.9rem;font-weight:600}.optional{font-weight:400;color:var(--muted);font-size:.875rem}.inquiry-form input:not([type=checkbox]),.inquiry-form textarea,.inquiry-form select{width:100%;background:white;border:1px solid #aebccc;border-radius:3px;color:var(--ink);font:inherit;padding:11px 12px;min-height:48px}.inquiry-form textarea{resize:vertical;min-height:140px}.inquiry-form textarea:focus-visible,.inquiry-form select:focus-visible{outline:3px solid #4a8bff;outline-offset:3px}.inquiry-form [aria-invalid=true]{border-color:#b12525!important}.field-help,.inquiry-privacy{font-size:.875rem;color:#526174;line-height:1.55}.field-error{font-size:.875rem;color:#9f2020;line-height:1.5}.field-error:empty{display:none}.consent-label{display:flex;align-items:flex-start;gap:12px;font-size:.9rem;line-height:1.6;margin:22px 0 8px;cursor:pointer}.consent-label input{width:20px;height:20px;flex:none;margin:3px 0 0;accent-color:var(--blue)}.inquiry-privacy{margin:12px 0 20px}.inquiry-form button:disabled{opacity:.65;cursor:wait}.inquiry-status{margin-top:20px;padding:18px 20px;border:1px solid #a9bfdb;border-left:4px solid var(--blue);background:#fff;font-size:1rem;overflow-wrap:anywhere}.inquiry-status.error{border-color:#dca8a8;border-left-color:#9f2020;color:#8c1b1b}.form-trap,.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.inquiry-form noscript a{text-decoration:underline}.inquiry-form fieldset:disabled{opacity:.8}@media(max-width:950px){.contact{gap:35px}}@media(max-width:760px){.contact{grid-template-columns:1fr;gap:42px}.address{padding-top:30px;border-top:1px solid var(--line)}}@media(max-width:480px){.inquiry-grid{grid-template-columns:1fr;gap:18px}.inquiry-form{margin-top:24px}}
