:root{--ink-900:#17231F;--ink-700:#34463F;--forest-800:#164B3A;--forest-900:#10382B;--forest-950:#0A2A20;--cedar-700:#A23D21;--amber-100:#FFF2D8;--sand-050:#FFF9F5;--sage-100:#E8F0EB;--white:#FFFFFF;--line-300:#AAB8B1;--focus-700:#075FAE;--disabled-bg:#E4E8E6;--disabled-text:#47554F;--sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--display:ui-serif,Georgia,Cambria,"Times New Roman",serif;--content:75rem;--reading:45rem;--gutter:1rem;--section-gap:3rem;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.875rem;--shadow:0 .25rem 1.25rem rgba(23,35,31,.10)}
*{box-sizing:border-box}html{color:var(--ink-900);background:var(--white);font-family:var(--sans);line-height:1.6}body{margin:0;overflow-wrap:anywhere}a{color:var(--forest-800);text-decoration-thickness:.09em;text-underline-offset:.15em}a:visited{color:#5A356D}a:hover{color:var(--forest-900);text-decoration-thickness:2px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex="-1"]:focus-visible{outline:3px solid var(--focus-700);outline-offset:3px}button,input,textarea{font:inherit}button{cursor:pointer}img,svg{display:block;max-width:100%}.skip-link{position:fixed;left:1rem;top:1rem;z-index:1000;padding:.75rem 1rem;background:var(--white);transform:translateY(-200%)}.skip-link:focus{transform:none}.site-header{height:4rem;border-bottom:1px solid var(--line-300);background:var(--white)}.header-inner{width:min(100% - 2*var(--gutter),var(--content));height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem}.site-label{font-family:var(--display);font-size:1.15rem;font-weight:700;color:var(--ink-900);text-decoration:none;white-space:nowrap}.desktop-nav{display:none}.menu-button,.close-button{min-width:44px;min-height:44px;border:1px solid var(--forest-800);border-radius:var(--radius-md);background:var(--white);color:var(--forest-800);font-weight:650;padding:.5rem .85rem}.mobile-dialog{width:min(calc(100% - 2rem),30rem);max-height:calc(100dvh - 2rem);margin:1rem 1rem auto auto;border:0;border-radius:var(--radius-lg);padding:1.25rem;box-shadow:var(--shadow);color:var(--ink-900)}.mobile-dialog::backdrop{background:rgba(10,42,32,.6)}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-bottom:1px solid var(--line-300);padding-bottom:1rem}.dialog-title{margin:0;font-family:var(--display);font-size:1.5rem;font-weight:700;line-height:1.2}.primary-list,.primary-list ul{list-style:none;margin:0;padding:0}.mobile-dialog .primary-list a{display:block;min-height:44px;padding:.55rem 0}.menu-heading{display:block;margin-top:.5rem;font-weight:700}.mobile-dialog .primary-list ul{padding-left:1rem;border-left:3px solid var(--sage-100)}main:focus{outline:none}.page-shell{width:min(100% - 2*var(--gutter),var(--content));margin:auto}.breadcrumbs{padding-top:1rem}.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.25rem .6rem;list-style:none;margin:0;padding:0;font-size:.875rem}.breadcrumbs li:not(:last-child)::after{content:"/";margin-left:.6rem;color:var(--ink-700)}.hero-grid{display:grid;gap:2rem;padding:3rem 0}.hero-copy{max-width:48rem}.eyebrow{margin:0 0 .75rem;color:var(--forest-800);font-size:.875rem;font-weight:700;letter-spacing:.035em;text-transform:uppercase}h1,h2{font-family:var(--display);line-height:1.12}h1{max-width:28ch;margin:0;font-size:clamp(2rem,8vw,3.25rem)}h2{font-size:clamp(1.5rem,4vw,2.125rem);line-height:1.2}h3{font-size:1.25rem;line-height:1.3}.orientation{max-width:68ch;margin:1rem 0 1.5rem;font-size:1.125rem;color:var(--ink-700)}.contact-notice{max-width:42.5rem;border:2px solid var(--forest-800);border-radius:var(--radius-lg);background:var(--sage-100);padding:1.25rem;box-shadow:var(--shadow)}.notice-copy{margin:0;font-weight:650}.notice-links{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:.65rem 1rem;border-radius:var(--radius-md);font-weight:700}.button.secondary{border:2px solid var(--forest-800);background:var(--white);color:var(--forest-800);text-decoration:none}.button.quiet{color:var(--forest-800)}.service-figure{margin:0}.service-figure img{width:100%;height:auto;border:1px solid var(--line-300);border-radius:var(--radius-lg);background:var(--sand-050)}figcaption{margin-top:.5rem;font-size:.875rem;color:var(--ink-700)}.page-content{padding-bottom:var(--section-gap)}.content-section{padding:3rem 0;border-top:1px solid var(--line-300)}.content-section>h2{max-width:32ch;margin:0 0 1rem}.content-section>p,.diagram-equivalent{max-width:68ch}.card-grid,.matrix,.layer-list{display:grid;gap:1rem}.card,.matrix article,.layer-list article{padding:1.25rem;border:1px solid var(--line-300);border-radius:var(--radius-lg);background:var(--sand-050)}.card h3,.matrix h3,.layer-list h3{margin-top:0}.card-link{display:inline-flex;min-height:44px;align-items:center;font-weight:700}.concept-figure{max-width:48rem;margin:1.5rem 0}.concept-figure svg{background:var(--sand-050);border:1px solid var(--line-300);border-radius:var(--radius-lg)}.concept-figure .ground{stroke:#56705f;stroke-width:12}.concept-figure .foundation{stroke:#34463F;stroke-width:16}.concept-figure .window{fill:#B9D7E8;stroke:#17231F;stroke-width:5}.concept-figure .well{fill:none;stroke:#A23D21;stroke-width:9}.concept-figure .cover{stroke:#164B3A;stroke-width:8}.checklist{display:grid;gap:.5rem}.checklist label{display:flex;gap:.75rem;align-items:center;min-height:44px}.checklist input{width:1.4rem;height:1.4rem}textarea{display:block;width:min(100%,45rem);min-height:7rem;margin-top:.5rem;padding:.75rem;border:1px solid #66766F;border-radius:var(--radius-md);background:var(--white)}.print-button{margin-top:1rem}.site-footer{background:var(--ink-900);color:var(--white);padding:3rem 0}.footer-grid{width:min(100% - 2*var(--gutter),var(--content));margin:auto;display:grid;gap:2rem}.site-footer h2{font-family:var(--sans);font-size:1rem}.site-footer ul{list-style:none;margin:0;padding:0}.site-footer a,.site-footer a:visited{display:inline-flex;min-height:44px;align-items:center;color:var(--white)}
@media (min-width:48rem){:root{--gutter:1.5rem;--section-gap:4rem}.hero-grid{grid-template-columns:5fr 3fr;padding:4rem 0}.hero-grid .hero-copy:only-child{grid-column:1/-1}.card-grid{grid-template-columns:repeat(2,1fr)}.matrix,.layer-list{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:64rem){:root{--gutter:2rem;--section-gap:5rem}.site-header{height:5rem}.desktop-nav{display:block}.menu-button{display:none}.desktop-nav>.primary-list{display:flex;align-items:center;gap:.3rem}.desktop-nav a,.desktop-nav button{display:inline-flex;min-height:44px;align-items:center;padding:.45rem .55rem;font-size:.9rem}.desktop-nav a[aria-current="page"],.desktop-nav a[data-parent-current="true"]{font-weight:700;text-decoration-thickness:3px}.has-submenu{position:relative}.nav-service-row{display:flex;align-items:center}.nav-service-row button{border:0;background:transparent;color:var(--forest-800);font-size:.8rem}.submenu{display:none;position:absolute;z-index:20;top:100%;left:0;width:20rem;padding:.5rem!important;border:1px solid var(--line-300);border-radius:var(--radius-md);background:var(--white);box-shadow:var(--shadow)}.submenu.open,.has-submenu:focus-within .submenu,.has-submenu:hover .submenu{display:block}.submenu a{display:flex!important}.hero-grid{grid-template-columns:7fr 5fr;padding:5rem 0}.card-grid{grid-template-columns:repeat(4,1fr)}.matrix,.layer-list{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:repeat(4,1fr)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.site-header,.mobile-dialog,.site-footer,.breadcrumbs,.contact-notice,.print-button{display:none!important}.page-shell{width:100%}.hero-grid{display:block;padding:0}.content-section{break-inside:avoid;padding:1rem 0}.page-content{padding:0}textarea{border:1px solid #000;min-height:7rem}.checklist{display:block}.checklist label{break-inside:avoid}}
.disclosure{font-size:.84rem;line-height:1.5;margin-top:16px;color:#35534a}.contact-notice h2{font-size:1.35rem;margin:0 0 10px}.contact-notice .button{margin-top:10px}.inquiry-form{max-width:680px;display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:28px;background:#f2f5ef;border:1px solid #c8d7cb;border-radius:16px}.inquiry-form label{display:flex;flex-direction:column;gap:6px;font-weight:600}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{font:inherit;padding:12px;border:1px solid #81998c;border-radius:5px;background:white;color:#153c32;min-width:0}.inquiry-form .wide,.inquiry-form .consent,.inquiry-form [role=status]{grid-column:1/-1}.inquiry-form .consent{display:block;font-weight:400;font-size:.92rem}.inquiry-form .consent input{width:18px;height:18px;vertical-align:middle;margin-right:7px}.inquiry-form button{cursor:pointer;min-height:48px}.inquiry-form button:disabled{opacity:.6;cursor:default}.inquiry-form [role=status]{font-weight:600;line-height:1.6}.inquiry-form .website-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.site-footer:after{content:'© OTTO Software Systems, LLC';display:block;max-width:1200px;margin:24px auto 0;padding:0 24px;font-size:.85rem}.hero-copy .orientation{max-width:46ch}@media(max-width:600px){.inquiry-form{grid-template-columns:1fr;padding:20px}.hero-grid{gap:24px}.service-figure{max-height:270px;overflow:hidden}.contact-notice{padding:20px}}
