:root{color-scheme:dark;--bg:#101418;--surface:#171d23;--text:#f5f6f7;--muted:#b2bac2;--line:#36404a;--accent:#ff722e;--amber:#ffb547;--blue:#8fbfff;--gutter:clamp(22px,4vw,72px);--page:1600px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--text);font:400 16px/1.6 Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}img{display:block;max-width:100%;height:auto}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid var(--amber);outline-offset:6px}::selection{background:var(--accent);color:#101418}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.08;letter-spacing:-.045em;font-weight:500}h1 em,h2 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.055em}h2{font-size:clamp(36px,4.2vw,66px)}.page-width{max-width:var(--page);margin-inline:auto;padding-inline:var(--gutter)}.section-space{padding-top:clamp(68px,7.4vw,118px);padding-bottom:clamp(68px,7.4vw,118px)}.skip-link{position:fixed;left:20px;top:-100px;background:var(--accent);color:#101418;z-index:100;padding:12px 24px}.skip-link:focus{top:12px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;display:flex;align-items:center;gap:11px}.signal{width:7px;height:7px;background:var(--accent);flex:none}.section-number{margin-bottom:30px;color:var(--muted)}.text-link{display:inline-flex;align-items:center;gap:25px;font-size:14px;font-weight:600;padding-block:10px;border-bottom:1px solid var(--accent);transition:color .2s,gap .2s}.text-link:hover{color:var(--accent);gap:33px}.text-link span:last-child{font-size:22px;line-height:1}.site-header{max-width:var(--page);margin:auto;min-height:102px;display:flex;align-items:center;justify-content:space-between;padding:22px var(--gutter);gap:30px;border-bottom:1px solid var(--line)}.brand{display:block;width:270px;flex-shrink:0}.site-header nav{display:flex;gap:32px;align-items:center;margin-left:auto}.site-header nav a{font-size:14px;color:var(--muted);padding:8px 0;transition:color .2s}.site-header nav a:hover{color:var(--text)}.header-contact{display:flex;gap:24px;align-items:center;padding:10px 17px;font-size:14px;border:1px solid #73808b;margin-left:32px}.header-contact span{font-size:22px;color:var(--accent)}.header-contact:hover{border-color:var(--accent)}.hero{padding-top:60px}.hero-heading{display:grid;grid-template-columns:1.45fr 1fr;align-items:end;gap:56px;margin-bottom:42px}.hero .eyebrow{color:var(--muted);margin-bottom:26px}.hero h1{font-size:clamp(48px,6.7vw,106px);letter-spacing:-.065em;line-height:1.02}.hero h1 em{color:var(--accent)}.hero-intro{max-width:350px;padding-bottom:7px;justify-self:end}.hero-intro p{font-size:17px;line-height:1.65;color:var(--muted);margin-bottom:20px}.hero-image{position:relative;overflow:hidden;background:#20282e}.hero-image>img{width:100%;height:clamp(380px,43vw,650px);object-fit:cover;object-position:50% 54%}.hero-image figcaption{position:absolute;bottom:24px;left:28px;right:28px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:13px;color:#fff}.hero-image figcaption>span{padding:8px 12px;background:rgba(10,14,18,.84)}.image-category{display:flex;gap:25px;align-items:center}.image-category span{color:var(--amber);font-size:20px}.hero-foot{display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted);padding-top:18px}.hero-foot i{font-style:normal;padding:0 9px;color:var(--accent)}.section-heading{display:grid;grid-template-columns:1.45fr 1fr;gap:60px;align-items:end;margin-bottom:46px}.section-intro{max-width:355px;justify-self:end;color:var(--muted);font-size:17px;line-height:1.65}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 28px}.project>img{width:100%;aspect-ratio:1.566;object-fit:cover}.project figcaption{display:flex;gap:14px;padding-top:23px;align-items:start}.project h3{font-size:23px;letter-spacing:-.025em;margin-bottom:8px}.project p{font-size:14px;color:var(--muted)}.work-bottom{margin-top:42px;padding-top:22px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.work-bottom p{font-size:14px;color:var(--muted)}.reel-trigger{background:none;border:0;border-bottom:1px solid var(--accent)}.play-icon{font-size:12px;color:var(--accent)}.studio{background:#eceeef;color:#172029}.studio .section-number{color:#50606d}.studio-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%}.studio h2{font-size:clamp(35px,4.1vw,64px)}.studio h2 em{color:#6a7780}.founder{margin-top:52px;font-size:16px;line-height:1.7}.founder span{color:#58646e;font-size:14px}.large-copy{font-size:clamp(25px,2.6vw,39px);line-height:1.3;letter-spacing:-.035em;margin-bottom:27px}.studio-copy>p:not(.large-copy){color:#4b5864;font-size:17px}.practice-list{margin-top:30px}.practice-list>div{display:grid;grid-template-columns:minmax(0,1fr);gap:8px 18px;padding:23px 0;border-top:1px solid #a8b0b8}.practice-list h3{font-size:20px;letter-spacing:-.02em}.practice-list p{grid-column:1;font-size:15px;line-height:1.6;color:#4b5864}.capture{display:grid;grid-template-columns:1.1fr 1fr;gap:12%}.capture h2{font-size:clamp(34px,3.6vw,55px)}.capture-copy{padding-top:48px}.capture-copy>p{font-size:18px;color:var(--muted);line-height:1.75;margin-bottom:22px}.capture-copy>p>a{color:var(--text);text-decoration:underline;text-underline-offset:4px}.suite{background:var(--surface);border-block:1px solid var(--line)}.suite h2 em{color:var(--amber)}.suite-intro{max-width:360px;justify-self:end}.development-label{font-size:12px;letter-spacing:.07em;text-transform:uppercase;padding:6px 11px;border:1px solid #65727e;display:inline-block;margin-bottom:18px}.suite-intro p{color:var(--muted);font-size:17px}.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.tool{position:relative;border:1px solid #45525e;padding:27px 27px 37px;background:#141a20;overflow:hidden}.tool-top{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted);margin-bottom:36px}.tool-label{text-transform:uppercase;letter-spacing:.08em;color:var(--blue)}.tool h3{font-size:26px;line-height:1.2;letter-spacing:-.035em;margin-bottom:18px}.tool p{font-size:15px;color:var(--muted);line-height:1.7}.tool-rule{position:absolute;width:46px;height:2px;background:var(--amber);bottom:0;left:27px}.suite-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px;color:var(--muted);font-size:14px}.suite-footer .text-link{color:var(--text);border-color:var(--amber)}.contact .eyebrow{color:var(--muted);margin-bottom:28px}.contact h2{font-size:clamp(53px,7.6vw,116px);letter-spacing:-.06em}.contact h2 em{color:var(--accent)}.contact-row{display:flex;align-items:center;justify-content:space-between;gap:35px}.contact-arrow{display:flex;width:110px;height:110px;border:1px solid var(--accent);align-items:center;justify-content:center;color:var(--accent);font-size:69px;line-height:1;flex-shrink:0;transition:background .2s,color .2s}.contact-arrow:hover{background:var(--accent);color:var(--bg)}.contact-details{display:flex;justify-content:space-between;align-items:end;margin-top:48px;gap:28px}.contact-details>a{font-size:clamp(17px,2.25vw,31px);letter-spacing:-.02em;border-bottom:1px solid var(--accent);overflow-wrap:anywhere}.contact-details>span{font-size:14px;color:var(--muted);text-align:right}.site-footer{border-top:1px solid var(--line);min-height:130px;display:flex;align-items:center;gap:35px;justify-content:space-between;padding-block:32px}.site-footer img{width:225px}.site-footer p,.back-top{font-size:12px;color:var(--muted)}.reel-dialog{width:min(1100px,94vw);padding:24px;background:var(--bg);color:var(--text);border:1px solid var(--line);max-height:92vh;overflow:auto}.reel-dialog::backdrop{background:rgba(0,0,0,.88)}.reel-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.reel-header h2{font-size:21px;letter-spacing:-.02em}.reel-close{background:none;border:1px solid #697581;padding:7px 15px}.reel-frame{aspect-ratio:16/9}.reel-frame iframe{width:100%;height:100%;border:0}.reel-dialog>p{font-size:14px;margin-top:15px;text-decoration:underline;text-underline-offset:5px}
@media(min-width:1800px){.hero-heading{padding-top:20px}}@media(max-width:1080px){.brand{width:235px}.site-header nav{gap:20px}.header-contact{margin-left:0}.hero-heading{gap:35px;grid-template-columns:1.45fr 1fr}.hero-intro p{font-size:16px}.hero h1{font-size:clamp(54px,7.3vw,80px)}.studio-grid{gap:8%}.capture{gap:7%}.tool{padding:23px 20px 32px}.tool h3{font-size:22px}.tool-top{margin-bottom:26px}.section-heading{gap:40px}}
@media(max-width:760px){.site-header{flex-wrap:wrap;min-height:112px;gap:18px;padding-block:19px}.brand{width:215px}.site-header nav{order:3;width:100%;justify-content:space-between;gap:15px;margin:0;border-top:1px solid var(--line);padding-top:12px}.site-header nav a{padding:0;font-size:14px}.header-contact{margin-left:auto;padding:5px 10px;font-size:13px;gap:12px}.hero{padding-top:36px}.hero-heading{grid-template-columns:1fr;gap:24px;margin-bottom:30px}.hero h1{font-size:clamp(44px,9.6vw,74px)}.hero .eyebrow{font-size:12px;letter-spacing:.05em;margin-bottom:23px}.hero-intro{max-width:100%;justify-self:start;padding:0}.hero-intro p{margin-bottom:12px}.desktop-break{display:none}.hero-image>img{height:390px;object-position:45% 50%}.hero-image figcaption{left:14px;right:14px;bottom:14px;font-size:12px;align-items:start}.hero-image figcaption>span:first-child{max-width:225px}.hero-image .image-category{display:none}.hero-foot{font-size:12px;flex-wrap:wrap;gap:5px;padding-top:14px}.hero-foot i{padding:0 5px}.section-heading{grid-template-columns:1fr;gap:24px;margin-bottom:32px}.section-number{margin-bottom:22px}.section-intro,.suite-intro{justify-self:start;max-width:100%}.project-grid{grid-template-columns:1fr;gap:36px}.project figcaption{padding-top:16px}.project h3{font-size:24px}.project>img{aspect-ratio:auto var(--project-ratio)}.work-bottom{margin-top:30px;flex-wrap:wrap;gap:6px}.studio-grid,.capture{grid-template-columns:1fr;gap:38px}.founder{margin-top:28px}.large-copy{font-size:29px}.capture-copy{padding-top:0}.capture-copy>p{font-size:17px}.tool-grid{grid-template-columns:1fr;gap:17px}.tool{padding:23px 24px 29px}.tool h3{font-size:27px}.tool-top{margin-bottom:21px}.suite-footer{align-items:start;flex-direction:column;gap:10px}.contact-row{gap:18px}.contact-arrow{width:63px;height:63px;font-size:40px}.contact h2{font-size:clamp(44px,8.8vw,66px)}.contact-details{flex-direction:column;align-items:start;gap:24px;margin-top:35px}.contact-details>span{text-align:left}.site-footer{flex-wrap:wrap;gap:23px;padding-block:28px}.site-footer>a:first-child{width:100%}.site-footer img{width:220px}.reel-dialog{padding:16px}.reel-header h2{font-size:17px}.reel-close{font-size:14px}}
@media(max-width:380px){.brand{width:185px}.header-contact{gap:7px}.hero .eyebrow{font-size:12px;letter-spacing:0}.hero h1{font-size:42px}.contact h2{font-size:42px}.contact-arrow{width:50px;height:50px;font-size:33px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}


/* Social profiles, visible showreel, and the pre-release suite introduction. */
.header-actions{display:flex;align-items:center;gap:20px}
.social-links{display:flex;gap:4px;align-items:center}
.social-links a{display:flex;align-items:center;justify-content:center;width:38px;height:38px;color:var(--muted);transition:color .2s}
.social-links a:hover{color:var(--accent)}
.social-links svg{width:18px;height:18px;flex-shrink:0}
.header-actions .header-contact{margin-left:0}
.site-header nav .mobile-contact{display:none}
.founder-profile{display:inline-flex;align-items:center;gap:10px;border-bottom:1px solid #788590;padding-bottom:3px;margin-bottom:4px}
.founder-profile svg{flex:none}
.founder-profile:hover{color:#a9320b;border-color:#a9320b}
.showreel-section{border-top:1px solid var(--line);margin-top:64px;padding-top:45px}
.showreel-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:28px}
.showreel-heading .eyebrow{margin-bottom:17px}
.showreel-heading h3{font-size:clamp(28px,3.2vw,46px)}
.showreel-heading .text-link{flex-shrink:0}
.video-frame{aspect-ratio:16/9;position:relative;background:#080b0e;overflow:hidden}
.video-frame>img,.video-frame>iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}
.video-trigger{position:absolute;inset:0;width:100%;border:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:rgba(9,13,17,.18);transition:background .2s}
.video-trigger:hover{background:rgba(9,13,17,.06)}
.video-trigger:focus-visible{outline:3px solid var(--amber);outline-offset:-5px}
.video-play{display:flex;align-items:center;justify-content:center;width:82px;height:82px;border-radius:50%;background:var(--accent);color:#101418;box-shadow:0 3px 30px #0006}
.video-play svg{margin-left:4px}
.video-label{font-size:14px;color:#fff;background:rgba(9,13,17,.88);padding:7px 13px}
.suite-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;border-top:1px solid var(--line);padding-top:32px}
.suite-principles h3{font-size:25px;line-height:1.2;letter-spacing:-.025em;margin-bottom:16px}
.suite-principles p{font-size:16px;color:var(--muted);line-height:1.7}
.suite .suite-footer{margin-top:38px}
@media(max-width:1080px){.header-actions{gap:12px}.site-header{gap:20px}.site-header nav{gap:18px}}
@media(max-width:980px){.site-header{flex-wrap:wrap}.site-header nav{order:3;width:100%;margin:0;justify-content:center;padding-top:12px;border-top:1px solid var(--line)}.header-actions{margin-left:auto}.site-header nav a{padding:0}}
@media(max-width:760px){.header-actions{display:contents}.social-links{margin-left:auto}.header-actions .header-contact{display:none}.site-header nav{justify-content:space-between;gap:8px}.site-header nav a{font-size:13px}.site-header nav .mobile-contact{display:block;color:var(--text)}.showreel-section{margin-top:44px;padding-top:30px}.showreel-heading{align-items:start;flex-direction:column;gap:13px}.video-play{width:62px;height:62px}.video-trigger{gap:10px}.video-label{font-size:12px}.suite-principles{grid-template-columns:1fr;gap:30px}.suite-principles h3{font-size:25px;margin-bottom:11px}}
@media(max-width:380px){.site-header .brand{width:180px}.site-header{gap:18px}.social-links a{width:34px}}

/* Upcoming speaking appearance; the photo is from SketchUp 3D Summit 2026. */
.hero-image>img{height:auto;object-fit:contain;object-position:50% 0}
@media(max-width:760px){.hero-image>img{height:auto}.hero-image figcaption{position:static;padding:12px 14px;background:#20282e}.hero-image figcaption>span:first-child{max-width:none;padding:0;background:none}}
.speaking{border-bottom:1px solid var(--line)}
.speaking-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(36px,6vw,90px);align-items:center}
.speaking-photo img{width:100%;height:auto}
.speaking-photo figcaption{margin-top:14px;color:var(--muted);font-size:12px;line-height:1.6}
.speaking-copy h2{font-size:clamp(40px,4.2vw,64px)}
.speaking-copy h2 em{color:var(--accent)}
.speaking-intro{max-width:470px;margin-top:25px;color:var(--muted);font-size:17px;line-height:1.75}
.speaking-details{margin-block:27px 18px;padding-left:18px;border-left:2px solid var(--accent);color:var(--muted);font-size:14px}
.speaking-details .speaking-date{color:var(--text);font-size:18px;margin-bottom:3px}
.speaking-sessions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:40px}
.speaking-session{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(22px,2.5vw,36px);background:var(--surface);border:1px solid #355676}
.session-code{color:var(--blue);font-size:13px;font-weight:700;letter-spacing:.1em;margin-bottom:15px}
.speaking-session h3{font-size:clamp(23px,2.1vw,30px);line-height:1.3;letter-spacing:-.025em;margin-bottom:24px}
.speaking-session h3 a:hover{color:var(--blue)}
.session-time{margin-top:auto;color:var(--amber);font-size:15px;line-height:1.8}
.session-time span{padding-inline:4px}
.speaking-session .text-link{margin-top:12px}
.speaking-schedule-note{max-width:780px;margin-top:20px;color:var(--muted);font-size:14px;line-height:1.7}
@media(max-width:760px){.speaking-sessions{grid-template-columns:1fr;gap:18px;margin-top:30px}}
@media(max-width:900px){.speaking-grid{grid-template-columns:1fr;gap:32px}.speaking-intro{max-width:600px}}

/* Scan data and SketchUp examples accompany the existing-conditions copy. */
.capture{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,80px);align-items:end}
.capture-intro .capture-copy{padding-top:27px}
.capture-comparison img{width:100%;height:auto}
.capture-comparison figcaption{margin-top:14px;color:var(--muted);font-size:12px;line-height:1.6}
@media(max-width:900px){.capture{grid-template-columns:1fr;gap:32px}.capture-intro .capture-copy{max-width:650px}}

.suite-icons{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));align-items:center;gap:clamp(10px,2vw,30px);padding-top:35px;margin-top:43px;border-top:1px solid var(--line)}
.suite-icons img{width:clamp(58px,6vw,84px);height:auto;aspect-ratio:1;object-fit:contain;padding:10px;background:#eceeef;border-radius:8px;justify-self:center}
@media(max-width:760px){.suite-icons{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 12px;padding-top:28px;margin-top:32px}.suite-icons img{width:min(68px,100%)}}

/* Give navigation and social links comfortable touch targets. */
@media(max-width:980px){.site-header nav a{min-height:44px;display:inline-flex;align-items:center}.site-header nav .mobile-contact{display:none}}
@media(max-width:760px){.site-header nav .mobile-contact{display:inline-flex}.social-links a{width:44px;height:44px}.site-header .brand{width:min(215px,calc(100% - 110px))}.founder-profile{max-width:100%;min-height:44px}.founder-profile svg{width:16px}.back-top{min-height:44px;display:inline-flex;align-items:center}}

/* Blue detail lines and amber accents echo the Design Suite interface. */
:root{--blue:#76baff;--blue-edge:rgba(79,169,255,.65);--blue-glow:rgba(58,151,255,.12)}
.header-contact{border-color:var(--blue-edge);box-shadow:0 0 16px var(--blue-glow);transition:border-color .2s,box-shadow .2s}
.header-contact span{color:var(--amber)}
.header-contact:hover{border-color:var(--amber);box-shadow:0 0 18px rgba(255,181,71,.13)}
.hero .eyebrow .signal{background:var(--blue);box-shadow:0 0 12px rgba(79,169,255,.45)}
.hero-image{outline:1px solid rgba(79,169,255,.32);outline-offset:-1px}
.capture .section-number,.suite .section-number{color:var(--blue)}
.capture-comparison img,.video-frame{outline:1px solid var(--blue-edge);outline-offset:-1px;box-shadow:0 0 26px var(--blue-glow)}
.capture .text-link{border-color:var(--blue)}
.suite{border-top-color:var(--blue-edge);box-shadow:inset 0 1px 22px rgba(58,151,255,.04)}
.suite-icons{border-top-color:rgba(79,169,255,.35)}
.suite-icons img{border:1px solid var(--blue);box-shadow:0 0 18px var(--blue-glow)}
.development-label{color:var(--amber);border-color:rgba(255,181,71,.65);background:rgba(255,181,71,.07)}
.speaking-details{border-color:var(--amber)}
.contact-arrow{border-color:var(--blue-edge);color:var(--amber);box-shadow:0 0 22px var(--blue-glow)}
.contact-arrow:hover{border-color:var(--amber);background:var(--amber);color:var(--bg)}
.social-links a:hover,.site-header nav a:hover{color:var(--blue)}
.hero-credit a{color:var(--text);text-decoration:underline;text-decoration-color:var(--blue);text-underline-offset:3px}
.hero-credit a:hover{color:var(--blue)}
.capture-field{margin-top:28px}
.capture-field img{width:100%;height:auto;outline:1px solid rgba(79,169,255,.4);outline-offset:-1px}
.capture-field figcaption{margin-top:14px;color:var(--muted);font-size:12px;line-height:1.6}

/* Two balanced rows give the team and the capture examples room to read. */
.capture{display:block}
.capture-intro{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(32px,4vw,64px)}
.capture-overview{min-width:0}
.capture h2{font-size:clamp(34px,3.6vw,55px)}
.capture-copy{padding-top:28px}
.capture-copy>p{font-size:17px;line-height:1.7}
.capture .capture-field{margin-top:0}
.capture-showcase{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,.7fr) minmax(0,1.15fr);align-items:center;gap:clamp(24px,2.8vw,44px);margin-top:clamp(32px,3vw,48px);padding-top:clamp(32px,3vw,48px);border-top:1px solid var(--line)}
.capture-equipment{display:contents}
.capture-equipment-copy{grid-column:1;grid-row:1;min-width:0;padding-left:22px;border-left:2px solid var(--blue-edge)}
.capture-equipment .eyebrow{color:var(--blue);font-size:11px;letter-spacing:.08em;margin-bottom:14px}
.capture-equipment h3{font-size:clamp(25px,2.1vw,33px);line-height:1.12;letter-spacing:-.03em}
.capture-equipment h3 span{display:block;color:var(--muted);font-size:16px;letter-spacing:.02em;line-height:1.5;margin-top:5px}
.capture-equipment-copy>p{font-size:14px;line-height:1.6;color:var(--muted)}
.capture-equipment .capture-range{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin-block:18px}
.capture-range strong{color:var(--amber);font-size:40px;font-weight:500;letter-spacing:-.04em;line-height:1}
.capture-range span{font-size:12px;color:var(--muted)}
.capture-equipment .capture-applications{margin-top:12px;color:var(--text)}
.capture-equipment .capture-mode-note{margin-top:14px;font-size:12px}
.capture-equipment-photo{grid-column:2;grid-row:1;min-width:0}
.capture-equipment-photo img{width:100%;height:auto;outline:1px solid var(--blue-edge);outline-offset:-1px}
.capture-equipment-photo figcaption{margin-top:14px;color:var(--muted);font-size:12px;line-height:1.6}
@media(max-width:1100px){.capture-showcase{grid-template-columns:minmax(0,1fr);gap:36px}.capture-equipment{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);align-items:center;gap:32px}.capture-equipment h3{font-size:32px}}
@media(max-width:900px){.capture-intro{grid-template-columns:minmax(0,1fr);gap:32px}.capture h2{font-size:clamp(34px,4.8vw,52px)}}
@media(max-width:560px){.capture-equipment{grid-template-columns:minmax(0,1fr);gap:24px}.capture-equipment-copy{grid-column:1;grid-row:1}.capture-equipment-photo{grid-column:1;grid-row:2}}

/* Quiet uppercase navigation, with room for touch targets. */
.hero-heading .hero-promise{color:var(--text);font-size:20px;font-weight:500;line-height:1.4;margin-top:24px}
.hero-intro{max-width:440px}
.hero-intro .hero-services{color:var(--blue);font-size:clamp(20px,1.8vw,26px);font-weight:600;line-height:1.35;margin-bottom:16px}
.site-header nav a{text-transform:uppercase;font-size:12px;font-weight:600;letter-spacing:.08em;white-space:nowrap}
@media(max-width:760px){.site-header nav a{letter-spacing:.02em}}
@media(max-width:460px){.site-header nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.site-header nav a{justify-content:center;white-space:normal;text-align:center}}

/* Balance the icon row between its divider and the section's bottom edge. */
.suite>.section-space{padding-bottom:0}
.suite-icons{padding-block:calc(17.5px + clamp(34px,3.7vw,59px))}
@media(max-width:760px){.suite-icons{padding-block:48px}}
.suite-icons{list-style:none;padding-inline:0;margin-inline:0;align-items:start;grid-template-columns:repeat(5,minmax(0,1fr));row-gap:44px}
.suite-icons img{width:100px;max-width:100%;padding:12px}
@media(max-width:600px){.suite-icons{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;row-gap:36px}.suite-icons img{width:88px}}
.suite-icon{display:flex;flex-direction:column;align-items:center;gap:18px;min-width:0}
.suite-icon>.development-label,.suite-icon-name{display:flex;align-items:center;justify-content:center;width:100%;max-width:116px;min-height:38px;margin:0;padding:5px 7px;text-align:center;line-height:1.3}
.suite-icon>.development-label{font-size:10px;letter-spacing:.04em}
.suite-icon-name{font-size:14px;font-weight:600;color:var(--blue)}
.suite-origin{margin-top:22px;color:var(--muted);font-size:17px;line-height:1.5}
.suite-intro .suite-community{margin-top:18px}
.suite-icon-with-tooltip{position:relative}
.suite-tooltip{position:absolute;z-index:5;bottom:calc(100% + 12px);left:0;width:280px;max-width:calc(100vw - 44px);padding:18px;background:#101820;border:1px solid var(--blue);border-radius:8px;box-shadow:0 8px 28px rgba(0,0,0,.35);font-size:14px;line-height:1.5;text-align:left;visibility:hidden;opacity:0;pointer-events:none}
.suite-tooltip::after{content:"";position:absolute;top:100%;left:0;width:100%;height:14px}
.suite-tooltip strong{display:block;margin-bottom:8px;color:var(--blue);font-size:16px}
.suite-tooltip-note{display:block;margin-top:10px;color:var(--amber);font-size:12px}
.suite-icon-with-tooltip:is(:hover,:focus-within):not([data-tooltip-dismissed]) .suite-tooltip{visibility:visible;opacity:1;pointer-events:auto}
.suite-icon-link{display:flex;flex-direction:column;align-items:center;gap:18px;width:100%}
.suite-icon-link .suite-icon-name{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.suite-icon-download{display:flex;flex-direction:column;align-items:center;gap:7px;font-size:12px;line-height:1.5;color:var(--amber);white-space:nowrap}
.suite-icons .suite-icon-link .suite-platform-logo{width:22px;height:auto;aspect-ratio:auto;padding:0;background:none;border:0;border-radius:0;box-shadow:none}
.suite-icon-link:hover .suite-icon-download{text-decoration:underline;text-underline-offset:4px}
.suite-icon-link:hover .suite-icon-name,.suite-icon-link:focus-visible .suite-icon-name{color:var(--amber)}
.suite-icon-link:hover img,.suite-icon-link:focus-visible img{border-color:var(--amber);box-shadow:0 0 18px rgba(255,181,71,.2)}
@media(max-width:460px){.suite-icon,.suite-icon-link{gap:14px}.suite-icon>.development-label{font-size:9px;letter-spacing:.02em;padding-inline:3px}.suite-icon-name{font-size:12px;padding-inline:2px}}

/* Recommended tools keep their original marks and their own catalog links. */
.recommendations{border-top:1px solid var(--line);padding-block:40px clamp(48px,5vw,80px)}
.recommendations-heading{display:flex;justify-content:space-between;align-items:baseline;gap:16px 40px}
.recommendations-heading h3{font-size:clamp(26px,2.5vw,36px);line-height:1.2;letter-spacing:-.025em}
.recommendations-heading p{margin-top:12px;color:var(--muted);font-size:16px}
.recommendation-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 24px;list-style:none;padding:0;margin:36px 0 0}
.recommendation-card{min-width:0;text-align:center;padding:12px 0}
.recommendation-name{display:flex;align-items:center;justify-content:center;min-height:44px;color:var(--blue);font-size:17px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}
.recommendation-product{display:flex;flex-direction:column;align-items:center;gap:14px}
.recommendation-tool{display:flex;align-items:center;justify-content:center;min-height:48px;font-size:14px;line-height:1.4}
.recommendation-mark{display:flex;align-items:center;justify-content:center;width:100%;max-width:220px;height:160px;padding:16px;background:#fff;border:1px solid var(--blue-edge);border-radius:10px;transition:border-color .2s,box-shadow .2s}
.recommendation-mark img{width:100%;height:100%;object-fit:contain}
.recommendation-visit{display:inline-block;margin-top:12px;font-size:14px;color:var(--muted)}
.recommendation-links a:hover{color:var(--amber)}
.recommendation-links a:hover .recommendation-mark,.recommendation-links a:focus-visible .recommendation-mark{border-color:var(--amber);box-shadow:0 0 18px rgba(255,181,71,.18)}
.recommendation-controls{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:18px;min-height:44px}
.recommendation-controls button{min-height:44px;border:1px solid var(--blue-edge);background:transparent;color:var(--blue);font:inherit;cursor:pointer}
.recommendation-controls button{width:44px;font-size:21px}
.recommendation-controls button:hover{color:var(--amber);border-color:var(--amber)}
.recommendation-count{min-width:44px;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.recommendation-static{display:flex;align-items:center;justify-content:center;min-height:44px;margin-top:18px;font-size:13px;color:var(--muted)}
.recommendations [hidden]{display:none!important}
.recommendation-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(prefers-reduced-motion:no-preference){.recommendation-slide:not([hidden]){animation:recommendation-reveal .25s ease-out}@keyframes recommendation-reveal{from{opacity:.35}to{opacity:1}}}
@media(max-width:900px){.recommendations-heading{align-items:flex-start}.recommendation-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}}
@media(max-width:600px){.recommendations-heading{display:block}.recommendation-name{font-size:15px}.recommendation-mark{height:136px;padding:12px}.recommendation-tool{font-size:13px}.recommendation-controls{gap:6px}}

/* A wide project inquiry below the contact introduction. */
.contact{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;align-items:start}
.contact-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 32px;align-items:end}
.contact-intro .eyebrow{grid-column:1;margin-bottom:0}
.contact h2{grid-column:1;font-size:clamp(38px,4vw,60px)}
.contact-details{grid-column:2;grid-row:1 / 3;display:block;margin-top:0;text-align:right}
.contact-details p{font-size:14px;color:var(--muted);margin-bottom:8px}
.contact-details>a{font-size:clamp(17px,2vw,27px)}
.contact-form{min-width:0;padding:clamp(20px,2.5vw,36px);background:var(--surface);border:1px solid var(--blue-edge);box-shadow:0 0 24px var(--blue-glow)}
.contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 32px}
.contact-field{min-width:0}
.contact-field-wide{grid-column:1 / -1}
.contact-scope-intro{grid-column:1 / -1;max-width:70ch;font-size:clamp(28px,3vw,44px);font-weight:700;line-height:1.25;letter-spacing:-.02em;color:var(--blue);margin-bottom:8px}
.contact-services{min-width:0;border:0;padding:0;margin:0}
.contact-services legend{padding:0;font-size:14px;color:var(--text)}
.contact-services>p{margin-block:7px 12px;font-size:14px;color:var(--muted)}
.contact-services .contact-scope-note{margin-block:14px 0;line-height:1.6;color:var(--accent)}
.service-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.service-options label{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 12px;background:#101820;border:1px solid #536473;font-size:14px;line-height:1.4;cursor:pointer}
.service-options input{width:18px;height:18px;flex-shrink:0;margin:0;accent-color:var(--amber)}
.service-options label:has(input:checked){border-color:var(--amber);background:rgba(255,181,71,.07)}
.service-options label:has(input:focus-visible){outline:2px solid var(--blue);outline-offset:2px}
@media(max-width:600px){.service-options{grid-template-columns:1fr}}
.contact-field label{display:block;font-size:14px;color:var(--text);margin-bottom:8px}
.contact-field input,.contact-field select,.contact-field textarea{display:block;width:100%;min-width:0;min-height:48px;border:1px solid #536473;border-radius:2px;padding:12px;background:#101820;color:var(--text);font:inherit;font-size:16px;line-height:1.5}
.contact-field select{padding-right:10px}
.contact-field textarea{resize:vertical;min-height:132px}
.contact-field textarea::placeholder{color:#9faebb;opacity:1}
.contact-field input:focus-visible,.contact-field select:focus-visible,.contact-field textarea:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.contact-form-help{margin-top:18px;font-size:14px;color:var(--muted)}
.contact-actions{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:24px}
.contact-actions .contact-form-help{margin:0}
.contact-actions .contact-submit{width:240px;flex-shrink:0;margin:0}
.contact-submit{display:flex;align-items:center;justify-content:center;gap:20px;width:100%;min-height:50px;margin-top:16px;padding:12px 18px;border:1px solid var(--amber);background:var(--amber);color:#101418;font:inherit;font-size:16px;font-weight:600;cursor:pointer}
.contact-honeypot{display:none}
.contact-submit:disabled{cursor:wait;opacity:.7}
.contact-form-status[data-state="error"]{color:#ffca78}
.contact-form-status[data-state="success"]{color:var(--blue)}
.contact-submit span{font-size:23px;line-height:1}
.contact-submit:hover{background:#ffc66f}
.contact-submit:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.contact-form-status{font-size:14px;color:var(--muted)}
.contact-form-status:not(:empty){margin-top:16px}
.site-footer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,380px) minmax(0,1fr);gap:24px;padding-block:32px}
.site-footer .footer-brand{grid-column:2;grid-row:1;justify-self:center;width:min(380px,100%)}
.site-footer .footer-brand img{width:100%;height:auto}
.site-footer .back-top{grid-column:3;grid-row:1;justify-self:end}
.site-footer .footer-location{grid-column:1 / -1;grid-row:2;text-align:center;font-size:14px;line-height:1.8}
.footer-location span{color:var(--text)}
@media(max-width:900px){.contact-intro{grid-template-columns:minmax(0,1fr);gap:16px}.contact-details{grid-column:1;grid-row:auto;text-align:left}.contact-services{grid-column:1 / -1}}
@media(max-width:760px){.site-footer{grid-template-columns:minmax(0,1fr)}.site-footer .footer-brand{grid-column:1}.site-footer .back-top{grid-column:1;grid-row:3;justify-self:center}}
@media(max-width:600px){.contact-fields{grid-template-columns:1fr;gap:24px}.contact-actions{flex-direction:column;align-items:stretch;gap:16px}.contact-actions .contact-submit{width:100%}.site-footer{gap:24px 16px}.site-footer .footer-location{font-size:13px}}

/* A compact studio introduction above a full-width row of services. */
.studio{background:#dce3e8;border-block:1px solid #8ba5ba}
.studio-grid{grid-template-columns:minmax(0,1.03fr) minmax(0,1fr);gap:36px clamp(32px,5vw,80px);align-items:center;padding-block:clamp(48px,5.2vw,82px)}
.studio .section-number{color:#2c5f86;margin-bottom:24px}
.studio h2 em{color:#356987}
.studio .founder{display:inline-block;margin-top:28px;padding:15px 20px;background:#18232e;color:#f5f6f7;border-left:3px solid var(--amber);box-shadow:0 6px 22px rgba(19,38,53,.09)}
.studio .founder-profile{border-color:var(--blue);padding-bottom:3px}
.studio .founder-profile:hover{color:var(--amber);border-color:var(--amber)}
.studio .founder>span{color:#b2bac2}
.studio-copy .large-copy{font-size:clamp(25px,2.5vw,36px);margin-bottom:20px}
.studio .practice-list{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:0}
.studio .practice-list>div{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr;align-content:start;gap:16px;padding:25px;border:1px solid #afc1d0;border-top:2px solid #458ec1;background:rgba(255,255,255,.54)}
.studio .practice-list>div:first-child{border-top-color:#b6802c}

.studio .practice-list h3{font-size:clamp(20px,1.8vw,25px);line-height:1.2;min-height:2.4em}
.studio .practice-list p{grid-column:1;color:#425363}
@media(max-width:900px){.studio-grid{grid-template-columns:1fr;gap:28px}.studio-copy{max-width:700px}.studio h2{font-size:clamp(35px,5vw,52px)}.studio .practice-list{grid-template-columns:1fr;gap:12px}.studio .practice-list>div{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;gap:8px 18px;padding:20px}.studio .practice-list h3{min-height:0;font-size:22px}.studio .practice-list p{grid-column:1}}

/* Electric blue identifies every section; the Studio label has a dark backing. */
.section-number,.contact .eyebrow{color:var(--blue)}
.studio .section-number{display:inline-flex;color:var(--blue);background:#18232e;padding:8px 12px}

/* The mobile header scrolls away; anchor links need only a small top inset. */
@media(max-width:760px){html{scroll-padding-top:24px}}

.suite-principles .suite-principles-label{grid-column:1/-1;font-size:12px;line-height:1.5;color:var(--blue);margin:0}
.suite-principles h3{text-wrap:balance}

/* A separate meeting invitation after the Design Suite. */
.meeting-invitation{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:32px;margin-top:32px;padding:36px 40px;background:linear-gradient(110deg,#172f45,#122333);border:1px solid var(--blue-edge);border-left:3px solid var(--blue);box-shadow:0 0 24px rgba(79,169,255,.05)}
.meeting-copy{max-width:690px}
.meeting-heading{display:flex;align-items:center;gap:16px}
.meeting-heading svg{color:var(--blue);flex-shrink:0}
.meeting-heading h3{font-size:30px;line-height:1.2;letter-spacing:-.025em}
.meeting-invitation p{margin:14px 0 0;font-size:16px;line-height:1.65;color:#c0ceda}
.meeting-actions{max-width:300px}
.meeting-request{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:52px;padding:14px 20px;border:1px solid var(--blue);background:#101820;color:var(--blue);font:inherit;font-size:15px;font-weight:600;cursor:pointer;text-align:left}
.meeting-request span{color:var(--amber);font-size:22px}
.meeting-request:hover{background:rgba(79,169,255,.12)}
.meeting-request:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
@media(max-width:760px){.meeting-invitation{grid-template-columns:1fr;gap:24px;padding:28px 24px;margin-top:24px}.meeting-heading h3{font-size:26px}.meeting-invitation p{font-size:15px}.meeting-actions{max-width:none}.meeting-request{width:100%}}

.meeting-form{grid-column:1/-1;min-width:0;border-top:1px solid var(--blue-edge);padding-top:28px}
.meeting-form .contact-form-help{font-size:14px}
.meeting-form .contact-form-status{font-size:14px}
.meeting-form .contact-actions{margin-top:24px}
.meeting-form input::placeholder{color:#9faebb;opacity:1}

.meeting-invitation .meeting-timezone-help{margin-top:10px;font-size:14px;line-height:1.55;color:var(--blue)}
.meeting-form select{color-scheme:dark;text-overflow:ellipsis}

/* Reserve a steady frame while each category browses its full collection. */
.project-media{position:relative;width:100%;aspect-ratio:1.5;background:#0b1117;border:1px solid var(--blue-edge);overflow:hidden}
.project-media>img{display:block;width:100%;height:100%;object-fit:contain}
.gallery-controls:not([hidden]){display:flex;align-items:center;gap:12px;margin-top:18px}
.gallery-controls button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px 12px;border:1px solid var(--blue-edge);background:#101820;color:var(--blue);font:inherit;font-size:20px;cursor:pointer}
.gallery-controls button:hover{border-color:var(--blue);background:rgba(79,169,255,.08)}
.gallery-controls button:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.gallery-controls .gallery-play{margin-left:auto;font-size:13px;min-width:64px;color:var(--amber)}
.gallery-count{min-width:54px;text-align:center;color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums}
.gallery-status.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}
.project-media>img.gallery-outgoing{position:absolute;inset:0;background:#0b1117;pointer-events:none}
.gallery-enlarge:not([hidden]){position:absolute;inset:0;z-index:2;width:100%;height:100%;border:0;background:transparent;cursor:zoom-in;color:var(--blue)}
.gallery-enlarge span{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:40px;height:40px;background:#101820e6;border:1px solid var(--blue-edge);font-size:26px}
.gallery-enlarge:focus-visible{outline:2px solid var(--blue);outline-offset:-3px}
.work-lightbox{width:min(96vw,1800px);max-width:96vw;height:94dvh;max-height:94dvh;margin:auto;padding:20px;border:1px solid var(--blue-edge);background:#0b1117;color:var(--text)}
.work-lightbox[open]{display:flex;flex-direction:column;gap:12px}
.work-lightbox::backdrop{background:rgba(0,0,0,.9)}
.lightbox-bar,.lightbox-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0}
.lightbox-bar h2{margin:0;font-size:18px;color:var(--blue)}
.work-lightbox button{min-width:44px;min-height:44px;border:1px solid var(--blue-edge);background:#101820;color:var(--blue);padding:8px 16px;font:inherit;cursor:pointer}
.work-lightbox button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.work-lightbox button:disabled{opacity:.5;cursor:wait}
.lightbox-media{position:relative;flex:1;min-height:0;width:100%}
.lightbox-media img{display:block;width:100%;height:100%;object-fit:contain}
.lightbox-media .gallery-outgoing{position:absolute;inset:0;background:#0b1117}
.lightbox-status{margin:0;text-align:center;color:var(--muted);font-size:14px}
@media(max-width:600px){.work-lightbox{padding:12px;gap:8px}.lightbox-bar h2{font-size:15px}}
