:root{--ink:#141b20;--muted:#53606a;--orange:#ff8a22;--paper:#f6f7f7;--line:#d9dfe2;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:white;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.08;letter-spacing:-.045em}h2{font-size:clamp(2.15rem,3.6vw,3.65rem);font-weight:750}h3{font-size:1.55rem;letter-spacing:-.025em}p{color:var(--muted)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #2679bd;outline-offset:5px}.skip{position:fixed;z-index:10;top:-100px;padding:12px;background:white}.skip:focus{top:0}.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}.header{height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:white;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px}.brand img{object-fit:contain}.brand>span{font-weight:800;font-size:1.2rem;letter-spacing:.045em;line-height:1.3}.brand small{display:block;font-weight:500;font-size:.75rem;letter-spacing:.23em;margin-top:4px}.header nav{display:flex;align-items:center;gap:34px;font-size:.9rem;font-weight:600}.header nav>a:not(.nav-contact):hover{color:#b94f00}.nav-contact{padding:12px 20px;border:1px solid var(--ink)}.nav-contact:hover{background:var(--ink);color:white}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:620px;background:var(--ink);color:white}.hero-copy{padding:66px 10% 43px}.eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.13em;line-height:1.5}.hero .eyebrow{color:var(--orange);margin-bottom:24px}h1{font-size:clamp(3.15rem,5.45vw,5.7rem);line-height:1.02;font-weight:800;letter-spacing:-.055em}h1 span{color:var(--orange)}.hero-description{color:#c7cfd4;max-width:470px;margin-top:25px;font-size:1.125rem;line-height:1.65}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:29px}.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 23px;font-size:.9rem;font-weight:700;border:1px solid transparent;min-height:50px;transition:background .2s}.orange{background:var(--orange);color:var(--ink)}.orange:hover{background:#ffa250}.outline{color:white;border-color:#67727a}.outline:hover{background:#28333b}.dark{background:var(--ink);color:white}.dark:hover{background:#33444f}.hero-footnote{display:flex;gap:12px;align-items:center;color:#bbc5cc;font-size:.8rem;margin-top:35px}.rule{width:24px;height:2px;background:var(--orange);flex:none}.hero-image{position:relative;min-width:0;overflow:hidden}.hero-image>img{width:100%;height:100%;object-fit:cover;object-position:48% center}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,20,18,.7),transparent 50%)}.image-caption{position:absolute;left:34px;right:34px;bottom:31px;z-index:1;border-top:1px solid #ffffff75;padding-top:17px;font-size:.72rem;letter-spacing:.1em;display:flex;flex-direction:column;gap:6px}.image-caption span:last-child{color:#d4dbda;font-size:.67rem}.credentials{display:grid;grid-template-columns:repeat(3,1fr);padding:22px 5%;background:var(--paper);border-bottom:1px solid var(--line);font-size:.875rem;font-weight:600}.credentials span{text-align:center;border-right:1px solid var(--line)}.credentials span:last-child{border:0}.section{padding:90px 6%;max-width:1600px;margin:auto}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:42px}.section .eyebrow{margin-bottom:18px;color:#9a4505}.section-heading>p{max-width:350px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}.service{padding:29px 24px;display:flex;flex-direction:column;border-right:1px solid var(--line)}.service:last-child{border:0}.service-number{color:#ac5108;font:700 .85rem monospace;margin-bottom:28px}.service h3{margin-bottom:20px}.service p{font-size:.95rem;line-height:1.7;flex:1}.service ul{list-style:none;margin:25px 0;padding:0;border-top:1px solid var(--line)}.service li{padding-top:9px;font-size:.82rem;line-height:1.65}.service a{font-size:.86rem;font-weight:700;text-decoration:underline;text-underline-offset:5px}.service a:hover{color:#a94b04}.survey{max-width:none;background:var(--ink);color:white;display:grid;grid-template-columns:1fr 1fr;gap:9%;padding:82px 8%}.survey .eyebrow{color:var(--orange)}.survey h2 span{color:var(--orange)}.survey-title>p:not(.eyebrow){color:#bdc8cf;max-width:440px;margin:24px 0 30px}.large-copy{font-size:1.65rem;line-height:1.4;letter-spacing:-.025em;color:var(--ink)}.survey-content>.large-copy{color:white;margin-bottom:22px}.survey details{border-bottom:1px solid #485158}.survey summary{padding:20px 28px 20px 0;font-weight:600;list-style:none;position:relative;cursor:pointer}.survey summary::-webkit-details-marker{display:none}.survey summary:after{content:'+';position:absolute;right:0;color:var(--orange);font-size:1.4rem;line-height:1}.survey details[open] summary:after{content:'−'}.survey details p{color:#bdc8cf;font-size:.94rem;margin-bottom:20px}.survey-note{font-size:.78rem;margin-top:22px;color:#a4b1ba}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.image-button{position:relative;display:block;border:0;padding:0;background:#e4e8e8;width:100%;overflow:hidden}.image-button img{width:100%;height:330px;object-fit:cover;transition:transform .4s}.work-card:first-child .image-button img{object-fit:contain;background:#e6e8e8;padding:15px}.image-button:hover img{transform:scale(1.025)}.image-button span{position:absolute;right:15px;bottom:15px;padding:8px 14px;background:var(--ink);color:white;font-size:.78rem}.work-description{padding:22px 0}.work-description .eyebrow{margin-bottom:12px}.work-description p:last-child{margin-top:12px;font-size:.95rem}.model-callout{margin-top:26px;background:var(--paper);border-left:4px solid var(--orange);padding:30px 35px;display:flex;gap:30px;align-items:center;justify-content:space-between}.model-callout .eyebrow{margin-bottom:8px}.model-callout p:last-child{margin-top:12px}.model-callout .button{flex:none}.process{background:var(--paper);max-width:none;border-block:1px solid var(--line);padding-block:52px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:32px}.process-grid span{font:700 .78rem monospace;color:#63727c}.process-grid h3{margin:16px 0;font-size:1.35rem}.process-grid p{font-size:.95rem}.about{display:grid;grid-template-columns:1fr 1fr;gap:9%}.owner{border-left:3px solid var(--orange);padding-left:18px;margin-top:35px;font-size:1.125rem;font-weight:700}.owner span{display:block;font-size:.85rem;font-weight:400;color:var(--muted);margin-top:5px}.about-copy>p{margin-bottom:22px}.text-link{font-weight:700;font-size:.9rem;border-bottom:1px solid var(--ink);padding-bottom:5px}.contact{max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:12%;padding:74px 8%;background:var(--ink);color:white}.contact .eyebrow{color:var(--orange)}.contact h2{font-size:clamp(2.8rem,4.5vw,4.8rem)}.contact>div>p:not(.eyebrow){color:#b8c4cc;max-width:450px;margin:22px 0 28px}.contact-info{display:flex;flex-direction:column;justify-content:center;align-items:start;min-width:0}.contact-info>.eyebrow{margin-bottom:18px}.contact-info>a{font-size:clamp(1.1rem,1.8vw,1.85rem);letter-spacing:-.02em;overflow-wrap:anywhere}.contact-info>a:hover{text-decoration:underline;text-underline-offset:5px}.contact-info p{color:#b8c4cc;margin:25px 0}.social{display:flex;gap:25px;font-size:.9rem}.social a{border-bottom:1px solid #6e7a83}footer{padding:32px 6%;display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:.78rem}.footer-brand{font-weight:800;letter-spacing:.035em;font-size:1rem;line-height:1.4}.footer-brand span{display:block;font-size:.65rem;letter-spacing:.13em;font-weight:500}footer>a:last-child{text-decoration:underline;text-underline-offset:4px}dialog{border:0;padding:20px;width:min(1100px,95vw);max-height:92vh;color:var(--ink);background:white}dialog::backdrop{background:#10171deb}.dialog-header{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px}.dialog-header h2{font-size:1.1rem;letter-spacing:0}.dialog-header button{border:1px solid var(--line);padding:7px 12px;background:white;flex:none}dialog>img{width:100%;max-height:75vh;object-fit:contain}
@media(min-width:1600px){.hero-copy{padding-left:max(10%,calc((100vw - 1400px)/2))}}
@media(max-width:1100px){.header nav{gap:20px}.hero-copy{padding:50px 9%}h1{font-size:4.2rem}.hero{min-height:590px}.service-grid{grid-template-columns:repeat(2,1fr)}.service{padding:30px;border-bottom:1px solid var(--line)}.service:nth-child(2){border-right:0}.service:nth-child(3){border-bottom:0}.service:last-child{border:0}.service h3 br{display:none}.section{padding:65px 5%}.survey,.contact{padding:65px 6%}.section-heading>p{max-width:310px}.image-button img{height:270px}.contact-info>a{font-size:1.4rem}.model-callout{padding:25px}}
@media(max-width:760px){html{scroll-padding-top:20px}.header{height:82px;padding:0 5%;position:relative}.brand img{width:48px;height:48px}.brand>span{font-size:1rem}.brand small{font-size:.63rem}.menu-toggle{display:flex;align-items:center;gap:10px;background:white;border:1px solid var(--line);padding:7px 11px;font-size:.875rem}.header nav{display:none;position:absolute;top:81px;left:0;right:0;z-index:5;background:white;padding:22px 6%;box-shadow:0 15px 25px #0002;align-items:stretch}.header nav.open{display:flex;flex-direction:column;gap:18px}.nav-contact{text-align:center}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 6% 36px}h1{font-size:clamp(3.15rem,10vw,4.8rem)}.hero-description{font-size:1.05rem}.hero .eyebrow{font-size:.7rem}.hero-footnote{margin-top:27px}.hero-image{height:290px}.image-caption{left:22px;right:22px;bottom:20px}.credentials{padding:18px 5%;gap:13px;font-size:.75rem;grid-template-columns:1fr}.credentials span{border-right:0}.section{padding:52px 6%}.section-heading{display:block;margin-bottom:30px}.section-heading>p{max-width:100%;margin-top:22px}h2{font-size:2.45rem}.service-grid{grid-template-columns:1fr}.service{padding:26px;border-right:0}.service:nth-child(3){border-bottom:1px solid var(--line)}.service-number{margin-bottom:14px}.service h3{font-size:1.5rem}.service h3 br{display:none}.service p{flex:none}.service ul{margin:20px 0}.survey,.about,.contact{grid-template-columns:1fr;gap:40px}.survey-content>.large-copy{font-size:1.4rem}.work-grid{grid-template-columns:1fr;gap:20px}.image-button img{height:270px}.model-callout{display:block;padding:25px}.model-callout .button{margin-top:23px}.process-grid{grid-template-columns:1fr;gap:30px}.process-grid h3{margin:12px 0}.about-copy .large-copy{font-size:1.45rem}.contact h2{font-size:3.2rem}.contact-info>a{font-size:clamp(1.1rem,4.5vw,1.5rem)}footer{flex-direction:column;align-items:start;padding:30px 6%;gap:18px}.dialog-header h2{font-size:.9rem}.actions .button{padding:13px 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Service headings and copy use natural word wrapping at every viewport. */
h1,h2,h3{word-break:normal;overflow-wrap:normal}h1{font-size:clamp(3.15rem,5vw,5rem)}.credentials{grid-template-columns:1fr 2fr 1fr;align-items:center}.credentials span{padding-inline:18px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service{padding:32px;border-bottom:1px solid var(--line);min-width:0}.service:nth-child(2){border-right:0}.service:nth-child(3){border-bottom:0}.service h3{font-size:1.65rem;line-height:1.25;font-weight:800;letter-spacing:-.025em;max-width:460px}.service li{font-size:.9rem}.hero-footnote,.image-caption span:last-child{font-size:.8rem}.survey-note{font-size:.85rem}.process-grid span{font:700 .85rem Arial,Helvetica,sans-serif;letter-spacing:.08em}.section-heading>div{min-width:0}.section-heading>p{flex:0 1 350px}.reveal-pending{opacity:0;transform:translateY(14px);transition:opacity .65s ease,transform .65s ease}.reveal-pending.is-visible{opacity:1;transform:none}
@media(max-width:760px){h1{font-size:clamp(3.15rem,10vw,4.8rem)}.credentials{grid-template-columns:1fr}.credentials span{padding-inline:0}.service-grid{grid-template-columns:1fr}.service{padding:26px;border-right:0}.service:nth-child(3){border-bottom:1px solid var(--line)}.service h3{font-size:1.5rem}.section-heading>p{max-width:100%}}
@media(prefers-reduced-motion:reduce){.reveal-pending{opacity:1;transform:none;transition:none}}
@media print{.reveal-pending{opacity:1;transform:none}}
