@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/barlow-condensed-700.woff') format('woff')}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/inter-400.woff') format('woff')}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/inter-700.woff') format('woff')}
:root{--canvas:#091422;--surface:#101f31;--raised:#162b43;--navy:#0a3161;--blue:#00247d;--red:#a9162b;--ink:#e7ebee;--body:#c5cdd6;--muted:#9aa9b9;--line:#344b61;--control:#687f95;--focus:#d17a88;--paper:#101f31;--white:#fff;--body-font:'Inter',Arial,sans-serif;--display-font:'Barlow Condensed','Arial Narrow',sans-serif;font-family:var(--body-font);font-size:16px;color:var(--body);background:var(--canvas);color-scheme:only dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;color-scheme:only dark}body{margin:0;min-width:320px;background:var(--canvas);color:var(--body)}img{display:block;max-width:100%;height:auto}a{color:inherit}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default}a,button{touch-action:manipulation}p{line-height:1.75;margin:0 0 20px}h1,h2,h3{color:var(--ink);margin:0}h1,h2{font-family:var(--display-font);font-weight:700;letter-spacing:.005em;line-height:1.08}h2{font-size:clamp(2.1rem,3.7vw,2.85rem);margin:14px 0 22px}h3{font-family:var(--body-font);font-size:1.25rem;line-height:1.4;font-weight:700;margin:0 0 12px}.heading-line{font-style:normal;font-weight:700;color:inherit}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:4px}[hidden]{display:none!important}.wrap{width:min(100%,1240px);padding:0 40px;margin:0 auto}.eyebrow{display:block;font-size:.8125rem;line-height:1.55;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--muted)}.lead{font-size:1.0625rem;line-height:1.8;max-width:680px;color:var(--body);margin:0}.section{padding:80px 0;background:var(--canvas);scroll-margin-top:140px}.section.tinted{background:var(--surface)}.compact-section{padding:48px 0 68px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:32px}.section-heading h2{margin-bottom:16px}.section-heading>.text-link,.section-heading>.button{flex-shrink:0}.actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border:1px solid #c45164;background:var(--red);color:#f5f6f7!important;font-weight:700;font-size:.9375rem;line-height:1.45;text-decoration:none;transition:background .15s,border-color .15s}.button:hover{background:#8d1224;border-color:var(--focus)}.button.compact{min-height:44px;padding:10px 16px;font-size:.875rem}.button.outline,.button.outline-on-dark{background:transparent;border-color:var(--control);color:var(--ink)!important}.button.light{background:var(--raised);border-color:var(--control);color:var(--ink)!important}.button.outline:hover,.button.outline-on-dark:hover,.button.light:hover{background:#203b56;border-color:#9aafc1}.text-link{display:inline-block;color:#c4d2df;font-size:.9375rem;font-weight:700;line-height:1.6;text-decoration-thickness:1px;text-underline-offset:5px}.text-link:hover{color:#f2f4f6}.topline{background:#07101b;color:var(--body);font-size:.8125rem;line-height:1.5}.topline .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:9px;padding-bottom:9px}.topline b{color:#93b4d3;font-weight:400;padding:0 10px}.topline a{color:#bac8d6;text-decoration:none}.topline strong{color:var(--ink);margin-left:9px}.site-header{position:sticky;top:0;z-index:20;background:#0b1b2d;border-bottom:1px solid var(--line)}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:112px;padding-top:8px;padding-bottom:8px}.brand{display:block;text-decoration:none;flex-shrink:0;min-width:0}.header-logo{width:128px;height:96px;object-fit:contain;background:#fff;border:1px solid #e5e8eb;border-radius:2px}.nav{display:flex;align-items:center;gap:22px}.nav>a{color:var(--body);font-size:.875rem;font-weight:700;line-height:1.5;text-decoration:none;white-space:nowrap}.nav>a:hover,.nav>a[aria-current=page]{color:#f2f4f6;text-decoration:underline;text-underline-offset:6px}.nav>.button{margin-left:6px}.menu{display:none}.menu summary{list-style:none;cursor:pointer;border:1px solid var(--control);padding:11px 15px;font-size:.9375rem;font-weight:700;color:var(--ink)}.menu summary::-webkit-details-marker{display:none}.menu[open] nav{position:absolute;top:48px;right:0;width:min(300px,85vw);padding:12px;background:var(--surface);border:1px solid var(--control);box-shadow:0 15px 28px #0005}.menu nav a{display:block;padding:13px;font-size:.9375rem;font-weight:700;text-decoration:none;color:var(--ink)}.skip-link{position:absolute;left:-10000px;top:10px;padding:14px;background:var(--raised);color:var(--ink);z-index:100}.skip-link:focus{left:14px}.mobile-contact{display:none}
.home-hero{background:var(--canvas)}.hero-grid{display:grid;grid-template-columns:1.02fr 1fr;gap:48px;align-items:start;padding-top:54px;padding-bottom:56px}.hero-copy{min-width:0;padding-top:0}.hero-copy h1{font-size:clamp(3rem,5.5vw,4.35rem);line-height:1.05;margin:22px 0 24px;color:var(--ink)}.hero-copy>.eyebrow{max-width:490px;font-size:.8125rem;letter-spacing:.065em}.hero-copy>p{font-size:1.125rem;line-height:1.8;max-width:495px;margin:0 0 28px}.hero-copy .actions{gap:22px}.hero-note{display:flex;align-items:center;gap:14px;font-size:.875rem;color:var(--muted);line-height:1.65;margin-top:30px}.note-rule{width:3px;height:42px;background:var(--red);flex-shrink:0}.hero-photo{margin:0;position:relative;min-width:0;background:var(--navy)}.hero-photo>img{width:100%;height:500px;object-fit:cover;object-position:center 56%}.hero-photo figcaption{padding:16px 20px;background:var(--navy);display:flex;flex-direction:column;gap:6px;color:var(--ink)}.hero-photo figcaption>span{font-size:.75rem;line-height:1.5;letter-spacing:.08em;color:#d3dce5}.hero-photo figcaption>a{font-size:.875rem;line-height:1.5;font-weight:700;text-decoration:none;color:var(--ink)}.photo-side{display:none}.identity-strip{background:#10263f;color:var(--body);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.identity-strip .wrap{display:grid;grid-template-columns:repeat(3,1fr) .6fr}.identity-strip span{display:flex;align-items:center;justify-content:center;padding:20px 14px;font-size:.75rem;font-weight:700;letter-spacing:.04em;line-height:1.6;text-align:center;border-right:1px solid var(--line)}.identity-strip span:first-child{padding-left:0}.identity-strip span:last-child{border:0;padding-right:0;color:var(--muted)}
.specialty-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.specialty-photo{position:relative;min-width:0}.specialty-photo>img{width:100%;height:510px;object-fit:cover;object-position:center 55%}.specialty-photo.landscape>img{height:410px}.photo-label{position:absolute;left:0;bottom:0;max-width:100%;padding:14px 18px;background:var(--navy);color:var(--ink);font-size:.75rem;line-height:1.6;letter-spacing:.06em;font-weight:700}.specialty-copy h2{font-size:clamp(2.25rem,3.6vw,3rem)}.specialty-copy>p{max-width:510px;color:var(--body)}.plain-list{list-style:none;padding:0;margin:24px 0 28px}.plain-list li{position:relative;padding:12px 0 12px 20px;border-bottom:1px solid var(--line);font-size:1rem;line-height:1.6}.plain-list li:before{content:'';position:absolute;left:0;top:23px;width:4px;height:4px;background:var(--focus)}.specialty-copy .actions{gap:18px}.services-section{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:60px;align-items:start}.service-list>a{display:flex;align-items:flex-start;gap:22px;padding:25px 0;border-top:1px solid var(--line);text-decoration:none}.service-list>a:last-child{border-bottom:1px solid var(--line)}.service-list>a>span:first-child{font-size:.9375rem;font-weight:700;color:var(--focus);padding-top:4px}.service-list h3{font-size:1.375rem;line-height:1.4;margin-bottom:10px}.service-list p{font-size:.9375rem;line-height:1.75;color:var(--body);margin:0;max-width:480px}.service-word{margin-left:auto;align-self:center;font-size:.75rem;letter-spacing:.05em;color:var(--muted)}.service-list a:hover h3{color:#f2f4f6}.learning-teaser{background:#0b223a}.learning-teaser .eyebrow{color:#aebecd}.learning-teaser .lead{color:var(--body)}.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.guide-card{display:flex;flex-direction:column;min-width:0;min-height:280px;padding:28px;background:var(--raised);border:1px solid var(--line);color:var(--body);text-decoration:none;transition:border-color .15s}.guide-card:hover{border-color:#8196aa}.guide-num{font-family:var(--display-font);font-size:2.3rem;font-weight:700;line-height:1;color:#c4d2df;margin-bottom:24px}.guide-card>.eyebrow{font-size:.75rem;letter-spacing:.065em}.guide-card h3{font-size:1.2rem;line-height:1.45;margin:12px 0}.guide-card p{font-size:.9375rem;line-height:1.75;margin:0 0 22px;color:var(--body)}.read-label{font-size:.875rem;font-weight:700;line-height:1.5;margin-top:auto;padding-top:10px;text-decoration:underline;text-underline-offset:5px;color:#c4d2df}.guide-card:hover .read-label{color:var(--ink)}.learning-teaser .guide-card{background:#142c46;border-color:#3c526b}.learning-teaser .guide-card:hover{border-color:#8196aa}.catalog .guide-card{min-height:305px}.guide-search{width:310px;max-width:100%;flex-shrink:0}.guide-search label{display:block;font-size:.875rem;font-weight:700;line-height:1.6;margin-bottom:9px}.guide-search input{width:100%;min-height:48px;padding:12px 14px;background:var(--raised);border:1px solid var(--control);color:var(--ink)}.guide-search input::placeholder{color:var(--muted)}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.project-card{margin:0;min-width:0;scroll-margin-top:130px}.project-card>a{display:block;overflow:hidden}.project-card img{width:100%;height:290px;object-fit:cover;transition:transform .2s}.project-card a:hover img,.photo-open:hover img{transform:scale(1.025)}.project-card figcaption{padding-top:18px}.project-card figcaption>.eyebrow{font-size:.75rem;letter-spacing:.04em}.project-card figcaption h3{font-size:1.1875rem;line-height:1.45;margin:10px 0}.project-card figcaption p{font-size:.9375rem;line-height:1.75;color:var(--body);margin:0}.filter-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:32px}.filter{min-height:44px;padding:11px 18px;background:var(--raised);border:1px solid var(--control);color:var(--body);font-size:.875rem;font-weight:700;line-height:1.5}.filter.active{background:var(--red);border-color:#c45164;color:#f5f6f7}#project-count{margin-left:auto;font-size:.8125rem;color:var(--muted)}.gallery{row-gap:42px}.photo-open{display:block;position:relative;overflow:hidden;width:100%;padding:0;border:0;background:var(--raised)}.photo-open>span{position:absolute;right:0;bottom:0;padding:9px 12px;background:var(--navy);color:var(--ink);font-size:.8125rem;font-weight:700}.gallery-note{font-size:.875rem;line-height:1.65;color:var(--muted);margin:32px 0 0}dialog{border:1px solid var(--line);padding:50px 22px 22px;background:var(--surface);color:var(--ink);max-width:min(92vw,1000px);max-height:92vh;overflow:auto}dialog::backdrop{background:#031324e6}dialog>img{max-height:72vh;width:auto;max-width:100%;object-fit:contain;margin:auto}dialog>p{font-size:.9375rem;text-align:center;font-weight:700;line-height:1.6;margin:17px 0 0}.dialog-close{position:absolute;right:15px;top:10px;min-height:34px;padding:7px 13px;border:1px solid var(--control);background:var(--raised);color:var(--ink);font-size:.875rem}
.page-intro{padding:58px 0;background:var(--surface);border-bottom:1px solid var(--line)}.page-intro h1,.guide-intro h1{font-size:clamp(2.75rem,4.8vw,3.9rem);line-height:1.08;max-width:940px;margin:20px 0 24px;color:var(--ink)}.page-intro p,.guide-intro .wrap>p{font-size:1.125rem;line-height:1.8;color:var(--body);max-width:800px;margin:0 0 26px}.page-intro .button{margin-top:0}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.steps>div{border-top:3px solid var(--red);padding-top:23px}.steps span{font-size:.8125rem;line-height:1.6;letter-spacing:.05em;color:var(--focus);font-weight:700}.steps h3{font-size:1.25rem;margin:17px 0 12px}.steps p{font-size:.9375rem;line-height:1.8;margin:0;color:var(--body)}.reading-note{padding:32px 36px;margin-top:45px;background:var(--surface);border-left:3px solid var(--red)}.reading-note h3{margin:14px 0;font-size:1.25rem}.reading-note p{font-size:1rem;color:var(--body)}.slab-explorer{display:grid;grid-template-columns:1.1fr 1fr;background:#0d233b;color:var(--body);min-width:0}.drawing{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:30px 24px;background-color:#0a2036;background-image:linear-gradient(#6c8baa18 1px,transparent 1px),linear-gradient(90deg,#6c8baa18 1px,transparent 1px);background-size:26px 26px}.drawing-tag{font-size:.75rem;letter-spacing:.1em;line-height:1.6;color:#b0c7dc;margin:0 6px 20px}.drawing svg{display:block;width:100%;height:auto}.drawing p{font-size:.8125rem;line-height:1.7;margin:12px 6px 0;color:#a7bfd5}.diagram-layer{transition:opacity .2s}.diagram-layer.dim{opacity:.3}.layer-info{padding:32px}.layer-info .eyebrow{font-size:.75rem;color:#aebecd}.layer-info h2{font-size:2.5rem;margin:16px 0}.layer-info>p{font-size:.9375rem;color:var(--body);margin:0 0 22px}.layer-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.layer-buttons button{min-height:44px;padding:11px 10px;background:var(--raised);border:1px solid var(--control);color:var(--ink);font-size:.875rem;line-height:1.5;text-align:left}.layer-buttons button[aria-pressed=true]{background:var(--red);border-color:#c45164;color:#f5f6f7;font-weight:700}.layer-result{padding-top:24px}.layer-result h3{font-size:1.0625rem}.layer-result p{font-size:.9375rem;line-height:1.75;margin:0 0 18px}.layer-result a{color:#c4d2df;font-size:.875rem;font-weight:700;text-underline-offset:5px}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px}.faq details{border-top:1px solid var(--line);padding:20px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-size:1rem;font-weight:700;line-height:1.7;color:var(--ink);padding-right:12px}.faq details p{font-size:.9375rem;line-height:1.85;color:var(--body);margin:16px 0 0}.guide-intro{padding:24px 0 50px;background:var(--surface);border-bottom:1px solid var(--line)}.breadcrumbs{display:flex;gap:12px;flex-wrap:wrap;font-size:.8125rem;line-height:1.7;margin-bottom:30px}.breadcrumbs a{color:#aebecd;text-underline-offset:4px}.guide-intro .wrap>p{margin-bottom:0}.article-section{padding-top:60px}.article-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:65px}.article-layout aside{position:sticky;top:142px;align-self:start}.article-layout aside nav{display:flex;flex-direction:column;gap:14px;margin:20px 0 26px}.article-layout aside nav a{font-size:.875rem;line-height:1.7;text-decoration:none;color:#bac8d6}.article-layout article{max-width:760px}.article-layout article>section{margin-bottom:38px;scroll-margin-top:140px}.article-layout article h2{font-size:2.15rem;margin:0 0 17px}.article-layout article>section>p{font-size:1.0625rem;line-height:1.9;color:var(--body);margin:0}.takeaway{padding:28px 30px;background:var(--navy);margin:38px 0 30px}.takeaway .eyebrow{font-size:.75rem;color:#becddb}.takeaway p{font-size:1.1875rem;font-weight:700;line-height:1.65;color:var(--ink);margin:16px 0 0}.source-note{padding-top:24px;border-top:1px solid var(--line)}.source-note h3{font-size:.9375rem}.source-note a{color:#c4d2df;font-size:.8755rem;font-weight:700;line-height:1.7;text-underline-offset:4px;overflow-wrap:break-word}.source-note p{font-size:.875rem;line-height:1.8;color:var(--muted);margin:17px 0 0}
.contact-channels{background:var(--canvas);border-bottom:1px solid var(--line)}.channels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.channels>a{display:flex;flex-direction:column;min-width:0;padding:26px;border-right:1px solid var(--line);text-decoration:none}.channels>a:first-child{padding-left:0}.channels>a:last-child{border:0;padding-right:0}.channels strong{font-family:var(--body-font);font-size:1.25rem;font-weight:700;line-height:1.5;margin:10px 0}.channels>a>span:last-child{font-size:.875rem;line-height:1.7;color:var(--body);overflow-wrap:break-word}.channels>a:hover strong{color:var(--ink)}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:start}.contact-aside>p:last-child{font-size:.9375rem;color:var(--body)}.booking-note{padding:25px;background:var(--surface);border-left:3px solid var(--red);margin:28px 0}.booking-note h3{font-size:1.125rem}.booking-note ol{font-size:.9375rem;line-height:1.8;padding-left:20px;margin:17px 0}.booking-note li{margin-bottom:8px}.booking-note>p{font-size:.875rem;line-height:1.8;margin:16px 0 0}.request-form{background:var(--surface);border:1px solid var(--line);padding:30px}.form-heading{padding-bottom:23px;border-bottom:1px solid var(--line);margin-bottom:25px}.form-heading h3{font-size:1.25rem;margin:12px 0 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field.full{grid-column:1/-1}.field label{font-size:.875rem;font-weight:700;line-height:1.65;color:var(--body)}.field input,.field select,.field textarea{width:100%;min-width:0;min-height:48px;padding:12px;background:var(--raised);border:1px solid var(--control);border-radius:0;color:var(--ink);font-size:1rem}.field input::placeholder,.field textarea::placeholder{color:var(--muted)}.field textarea{min-height:135px;line-height:1.6;resize:vertical}.request-form fieldset{margin:25px 0;padding:20px;border:1px solid var(--control);min-width:0}.request-form legend{font-size:.9375rem;font-weight:700;padding:0 8px;color:var(--ink)}.form-help{font-size:.875rem;line-height:1.8;color:#aebecd;margin:17px 0 0}.inline-note{padding:15px;background:var(--raised);border-left:3px solid var(--control);font-size:.875rem;line-height:1.8;color:var(--body)}.calendar{margin-bottom:20px}.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.calendar-heading button{min-height:38px;padding:8px;background:var(--raised);border:1px solid var(--control);color:var(--ink);font-size:.8125rem}.calendar-heading button:disabled{opacity:.5}.calendar-heading strong{font-size:.9375rem;line-height:1.6;text-align:center;color:var(--ink)}.weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.weekdays>span{font-size:.75rem;text-align:center;color:var(--muted);padding-bottom:9px;line-height:1.6}.calendar-days>button{min-height:42px;padding:5px 0;background:var(--raised);border:1px solid transparent;color:var(--body);font-size:.9375rem;line-height:1.5}.calendar-days>button:hover:not(:disabled){border-color:#9aafc1}.calendar-days>button:disabled{background:transparent;color:#74869a}.calendar-days>button[aria-pressed=true]{background:var(--red);color:#f5f6f7}.calendar-days>button.today{border-color:#9aafc1}#calendar-selected{font-size:.875rem;line-height:1.6;color:#bac8d6;margin:15px 0 7px}.text-button{min-height:36px;padding:3px 0;border:0;background:none;color:#c4d2df;font-size:.875rem;font-weight:700;text-decoration:underline;text-underline-offset:4px}.send-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.send-actions .button{flex:1;font-size:.875rem;padding:12px 14px}.request-review{background:var(--raised);padding:23px;margin-top:23px}.request-review h3{font-size:1.125rem}.request-review p{font-size:.9375rem;line-height:1.8}.request-review textarea{display:block;width:100%;min-height:200px;padding:12px;border:1px solid var(--control);background:#0f2033;color:var(--body);font-size:.875rem;line-height:1.7;resize:vertical;margin-bottom:18px}.request-review>span{display:block;font-size:.875rem;line-height:1.7;margin-top:12px}
.cta{background:var(--navy);padding:58px 0}.cta .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:48px;align-items:center}.cta .eyebrow{color:#bdcddd}.cta h2{font-size:clamp(2rem,3.5vw,2.7rem);margin:14px 0}.cta p{font-size:1rem;line-height:1.8;color:#c5d1de;margin:0;max-width:630px}.cta .actions{flex-direction:column;align-items:stretch;gap:12px}.site-footer{background:#07111d;color:var(--body);padding:54px 0 26px}.footer-grid{display:grid;grid-template-columns:1.1fr .9fr .95fr 1fr;gap:36px;align-items:start}.footer-grid>div{min-width:0}.footer-brand>a{display:block;width:160px;max-width:100%;margin:0!important}.footer-brand img{width:160px;height:120px;object-fit:contain;background:#fff;border:1px solid #e5e8eb}.footer-company{font-family:var(--body-font);font-size:.8125rem;font-weight:400;line-height:1.75;color:var(--muted);margin:18px 0 0}.footer-company>span{display:block}.footer-grid h3{font-family:var(--body-font);font-size:.875rem;font-weight:700;line-height:1.6;letter-spacing:.015em;margin:0 0 18px;color:var(--ink)}.footer-grid>div>a{display:block;font-size:.875rem;font-weight:400;line-height:1.75;text-decoration:none;margin:0 0 10px;color:var(--body)}.footer-grid>div>a:hover,.footer-contact-options>a:hover{text-decoration:underline;text-underline-offset:4px}.footer-contact .contact-person{font-size:.875rem;line-height:1.7;margin:0 0 17px;color:var(--body)}.contact-person>strong,.contact-person>span{display:block}.contact-person>strong{font-weight:400}.footer-contact>a.footer-phone{font-size:1rem;font-weight:700;line-height:1.6;margin-bottom:18px}.footer-contact-options{display:flex;align-items:center;flex-wrap:wrap;gap:16px}.footer-contact-options>a{font-size:.875rem;line-height:1.7;color:#c4d2df;text-decoration:none;white-space:nowrap}.footer-bottom{display:grid;grid-template-columns:1fr 1.3fr;gap:32px;align-items:start;border-top:1px solid var(--line);margin-top:38px;padding-top:22px;font-size:.8125rem;line-height:1.7;color:var(--muted)}.footer-bottom>span:last-child{text-align:right;justify-self:end;max-width:560px}
@media(max-width:1100px){.wrap{padding-left:32px;padding-right:32px}.nav{gap:16px}.nav>a{font-size:.8125rem}.nav>.button{margin-left:0}.hero-grid{gap:36px}.specialty-grid,.service-layout,.contact-layout{gap:40px}.footer-grid{gap:28px}.guide-card{padding:24px}.article-layout{grid-template-columns:210px minmax(0,1fr);gap:42px}.guide-grid,.project-grid{gap:20px}.service-word{display:none}.request-form{padding:26px}.send-actions{flex-direction:column}}
@media(max-width:1000px){.nav{display:none}.menu{display:block;position:relative}.site-header .wrap{min-height:104px}.header-logo{width:116px;height:87px}.hero-copy h1{font-size:clamp(2.8rem,5.8vw,3.8rem)}.hero-photo>img{height:460px}.hero-copy .actions{align-items:start;flex-direction:column;gap:18px}.hero-copy>p{font-size:1.0625rem}.hero-note{margin-top:26px}.specialty-photo>img{height:470px}.slab-explorer{grid-template-columns:1fr}.drawing{padding:26px 32px}.drawing svg{max-width:720px;margin:auto}.layer-buttons{grid-template-columns:repeat(4,minmax(0,1fr))}.footer-grid{grid-template-columns:1fr 1fr;gap:36px 60px}.footer-company{font-size:.8125rem}.footer-contact-options{gap:20px}.channels>a{padding:24px 18px}.channels strong{font-size:1.125rem}.calendar-heading button{font-size:.75rem}.faq-layout{gap:40px}.article-layout{grid-template-columns:190px minmax(0,1fr);gap:36px}}
@media(max-width:760px){.wrap{padding-left:22px;padding-right:22px}.topline .wrap{justify-content:center;font-size:.75rem;padding-top:8px;padding-bottom:8px}.topline a{display:none}.site-header .wrap{min-height:92px;gap:20px;padding-top:7px;padding-bottom:7px}.header-logo{width:104px;height:78px}.section{padding:58px 0;scroll-margin-top:116px}.compact-section{padding-top:36px}.hero-grid{grid-template-columns:1fr;gap:32px;padding-top:36px;padding-bottom:40px}.hero-copy h1{font-size:clamp(2.7rem,8vw,3.8rem);margin:18px 0 22px}.hero-copy>.eyebrow{font-size:.75rem;line-height:1.65}.hero-copy>p{font-size:1.0625rem;max-width:620px}.hero-copy .actions{flex-direction:row;align-items:center}.hero-photo>img{height:430px;object-position:center 60%}.hero-note{margin-top:26px}.identity-strip .wrap{grid-template-columns:1fr 1fr;padding:0}.identity-strip span{padding:15px 18px!important;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.75rem}.identity-strip span:nth-child(even){border-right:0}.identity-strip span:nth-child(n+3){border-bottom:0}.specialty-grid,.service-layout,.faq-layout,.contact-layout{grid-template-columns:1fr;gap:32px}.specialty-photo>img{height:430px;object-position:center 60%}.specialty-photo.landscape>img{height:360px}.specialty-copy h2{font-size:2.65rem}.section-heading{flex-direction:column;align-items:start;gap:22px;margin-bottom:28px}.service-list>a{gap:20px}.service-list h3{font-size:1.25rem}.guide-grid,.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.learning-teaser .guide-grid>.guide-card:last-child{grid-column:1/-1}.guide-card,.catalog .guide-card{min-height:275px}.project-card img{height:260px}.project-grid>.project-card:last-child:nth-child(3){grid-column:1/-1}.gallery{row-gap:34px}.cta{padding:48px 0}.cta .wrap{grid-template-columns:1fr;gap:26px}.cta .actions{align-items:center;flex-direction:row}.site-footer{padding:44px 0 94px}.footer-grid{gap:32px 40px}.footer-bottom{grid-template-columns:1fr;gap:10px;margin-top:30px;padding-top:20px}.footer-bottom>span:last-child{text-align:left;justify-self:start}.page-intro{padding:44px 0}.page-intro h1,.guide-intro h1{font-size:clamp(2.65rem,7vw,3.5rem)}.page-intro p,.guide-intro .wrap>p{font-size:1.0625rem}.steps{grid-template-columns:1fr;gap:30px}.reading-note{padding:26px;margin-top:36px}.drawing{padding:24px 15px}.layer-info{padding:26px 22px}.layer-info h2{font-size:2.3rem}.layer-buttons{grid-template-columns:1fr 1fr}.guide-search{width:100%}.guide-intro{padding-top:22px;padding-bottom:42px}.breadcrumbs{margin-bottom:24px}.article-layout{grid-template-columns:1fr;gap:32px}.article-layout aside{position:static;border-bottom:1px solid var(--line);padding-bottom:24px}.article-layout aside nav{gap:10px;margin:15px 0 20px}.article-layout article>section{scroll-margin-top:115px}.article-layout article h2{font-size:2rem}.article-layout article>section>p{font-size:1rem}.takeaway{padding:24px}.filter-bar{gap:8px}.filter{padding:11px 13px}#project-count{width:100%;margin:5px 0 0}.channels{grid-template-columns:1fr}.channels>a{padding:21px 0!important;border-right:0;border-bottom:1px solid var(--line)}.channels>a:last-child{border:0}.channels strong{font-size:1.2rem}.request-form{padding:24px}.send-actions{flex-direction:row}.mobile-contact{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:1fr 1fr 1.55fr;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.mobile-contact a{padding:17px 10px;color:var(--ink);font-size:.875rem;font-weight:700;line-height:1.6;text-align:center;text-decoration:none;border-right:1px solid var(--line)}.mobile-contact a:last-child{background:var(--red);color:#f5f6f7;border:0}}
@media(max-width:480px){.wrap{padding-left:20px;padding-right:20px}.topline b{padding:0 5px}.site-header .wrap{min-height:88px}.header-logo{width:96px;height:72px}.hero-copy h1{font-size:2.5rem;line-height:1.08}.hero-copy .actions{flex-direction:column;align-items:start;gap:18px}.hero-photo>img{height:380px}.hero-photo figcaption{padding:14px 16px}.hero-photo figcaption>span{font-size:.75rem;letter-spacing:.04em}.hero-copy>.eyebrow{letter-spacing:.04em}.identity-strip .wrap{grid-template-columns:1fr}.identity-strip span{border-right:0!important;border-bottom:1px solid var(--line)!important}.identity-strip span:last-child{display:none}.identity-strip span:nth-child(3){border-bottom:0!important}.guide-grid,.project-grid,.footer-grid{grid-template-columns:1fr}.learning-teaser .guide-grid>.guide-card:last-child,.project-grid>.project-card:last-child:nth-child(3){grid-column:auto}.project-card img{height:320px}.footer-grid{gap:30px}.footer-grid h3{margin-bottom:14px}.footer-brand img,.footer-brand>a{width:144px}.footer-brand img{height:108px}.footer-company{margin-top:15px}.cta .actions{flex-direction:column;align-items:stretch}.form-grid{grid-template-columns:1fr}.request-form{padding:20px}.request-form fieldset{padding:15px}.send-actions{flex-direction:column}.calendar-heading{gap:7px}.calendar-heading button{padding:8px 6px}.calendar-heading strong{font-size:.875rem}.calendar-days{gap:2px}.specialty-photo>img{height:400px}.specialty-photo.landscape>img{height:310px}.photo-label{padding:12px 15px}.page-intro h1,.guide-intro h1{font-size:2.6rem}.reading-note{padding:23px}.layer-buttons button{font-size:.8125rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

.footer-company{font-size:1rem;font-weight:700;line-height:1.5;color:var(--ink)}

/* Clear navigation, compact contact details, and comfortable touch targets. */
.brand-with-logo{display:flex;align-items:center;gap:16px}.brand-name{display:block;font-size:1.0625rem;font-weight:700;line-height:1.35;color:var(--ink);white-space:nowrap}.brand-name>span{display:block;font-size:.875rem;font-weight:400;color:var(--body)}.nav{gap:18px}.site-header .wrap{gap:24px}.menu[open] nav{top:calc(100% + 12px);max-height:calc(100dvh - 190px);overflow-y:auto;overscroll-behavior:contain}.menu nav a:hover,.menu nav a[aria-current=page]{background:var(--raised)}.footer-grid>div>a{min-height:44px;padding:9px 0;margin:0;font-size:.875rem;line-height:1.85}.footer-brand>a{padding:0!important}.footer-contact-options>a{display:inline-flex;align-items:center;min-height:44px}.footer-contact>a.footer-phone{padding:0;margin-bottom:8px}.article-layout aside nav a{display:flex;align-items:center;min-height:44px}.dialog-close{min-height:44px;min-width:60px}.search-results{font-size:.875rem;color:var(--muted);margin:0 0 18px}.request-form fieldset.form-controls{margin:0;padding:0;border:0;min-width:0}.request-form .form-controls[disabled]{display:none}.form-heading{margin-bottom:25px}.request-review h3:focus{outline:2px solid var(--focus);outline-offset:6px}.request-form fieldset[hidden]{display:none!important}
@media(max-width:1180px){.nav{display:none}.menu{display:block;position:relative}.site-header .wrap{min-height:104px}.brand-name{font-size:1rem}.header-logo{width:104px;height:78px}}
@media(max-width:760px){.brand-with-logo{gap:12px}.brand-name{font-size:.9375rem}.brand-name>span{font-size:.8125rem}.site-header .wrap{min-height:90px}.header-logo{width:88px;height:66px}.footer-grid{grid-template-columns:1fr 1fr;gap:28px 24px}.footer-brand{grid-column:1/-1;display:flex;align-items:center;gap:20px}.footer-brand>a,.footer-brand img{width:104px;flex-shrink:0}.footer-brand img{height:78px}.footer-company{margin:0!important;font-size:1rem;max-width:240px}.footer-contact{grid-column:1/-1;padding-top:24px;border-top:1px solid var(--line)}.footer-contact-options{gap:24px}.footer-grid h3{font-size:.9375rem;line-height:1.5}.site-footer{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.footer-bottom{font-size:.875rem}.site-header .wrap{gap:12px}.menu summary{min-height:44px;padding:10px 14px}}
@media(max-width:480px){.wrap{padding-left:18px;padding-right:18px}.header-logo{width:72px;height:54px}.site-header .wrap{min-height:78px}.brand-with-logo{gap:10px}.brand-name{font-size:.875rem}.brand-name>span{font-size:.8125rem}.menu summary{font-size:.875rem;padding:10px 12px}.footer-grid{gap:24px 20px}.footer-grid>div>a{font-size:.875rem;line-height:1.6}.footer-brand>a,.footer-brand img{width:88px}.footer-brand img{height:66px}.footer-company{max-width:190px}.footer-brand{gap:16px}.section{scroll-margin-top:96px}.article-layout article>section{scroll-margin-top:100px}.request-form{padding:18px}.request-form fieldset{padding:12px}.calendar-heading button{min-height:44px;font-size:.8125rem}.calendar-days>button{min-height:44px}.photo-open>span{font-size:.875rem}.dialog-close{font-size:.875rem}}
@media(min-width:1181px){.header-logo{width:104px;height:78px}.site-header .wrap{min-height:96px}}
@media(max-width:480px){.site-header .wrap{flex-wrap:wrap}.brand-with-logo{max-width:100%}.menu{margin-left:auto}.brand-name>span{font-size:.875rem}.footer-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr))}}
.footer-grid h3,.footer-grid>div>a{overflow-wrap:break-word}
.photo-open,.photo-open:visited{text-decoration:none;color:var(--ink)}
