:root{color:#0d1321;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--paper:#f5f7fa;--ink:#0d1321;--deep:#1d2d44;--slate:#3e5c76;--green:#629677;--green-light:#dce6e1;--accent:#629677;--muted:#526275;--line:#dce3ea;--display:"Lato", sans-serif;background:#f5f7fa;font-family:Lato,sans-serif;font-weight:400}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{min-width:320px;margin:0}body::selection{color:var(--paper);background:var(--green)}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}img{max-width:100%;display:block}#root{min-height:100vh}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.site-shell{background:var(--paper);overflow:hidden}.section-wrap,.site-header{width:min(1160px,100% - 96px);margin-inline:auto}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:96px;display:flex}.wordmark{color:var(--ink);letter-spacing:-.045em;font-size:24px;font-weight:700;text-decoration:none}.wordmark span{color:var(--green)}.main-nav{color:var(--muted);align-items:center;gap:30px;font-size:15px;font-weight:600;display:flex}.main-nav a,.site-footer a{text-decoration:none;transition:color .18s}.main-nav a:hover,.main-nav a[aria-current=page],.site-footer a:hover{color:var(--green)}.nav-contact{border:1px solid var(--green);color:var(--deep);border-radius:999px;padding:11px 17px}.hero{grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);align-items:center;gap:54px;min-height:570px;padding-block:60px;display:grid}.hero-copy{width:100%}.eyebrow{color:var(--green);letter-spacing:.09em;text-transform:uppercase;justify-content:flex-start;align-items:center;gap:9px;margin:0;font-size:11px;font-weight:700;display:flex}.eyebrow-dot{background:var(--green);border-radius:50%;flex:none;width:8px;height:8px}.hero h1,.section-heading h2,.project h3,.about-copy h2,.contact-section h2,.page-intro h1,.home-case-studies h2,.skills-section h2,.interests-section h2,.case-studies-empty h2{color:var(--ink);font-family:var(--display);letter-spacing:-.055em;margin:24px 0 0;font-weight:700;line-height:1.05}.hero h1{font-size:clamp(3.5rem,8vw,6.5rem)}.hero-lede{max-width:760px;color:var(--deep);letter-spacing:-.035em;margin:22px 0 0;font-size:clamp(1.4rem,3vw,2.2rem);font-weight:600;line-height:1.3}.hero-intro{max-width:630px;color:var(--muted);margin:16px 0 0;font-size:17px;line-height:1.8}.hero-actions{justify-content:flex-start;align-items:center;gap:24px;margin-top:30px;display:flex}.button{border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;min-height:48px;padding:0 22px;font-size:13px;font-weight:700;text-decoration:none;transition:background .18s,color .18s,transform .18s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{color:#fff;background:var(--deep)}.button-primary:hover{background:var(--slate)}.text-link,.project-link{color:var(--deep);-webkit-text-decoration-color:var(--green);text-decoration-color:var(--green);text-underline-offset:5px;font-size:13px;font-weight:700}.hero-socials{color:var(--muted);justify-content:flex-start;align-items:center;gap:22px;margin-top:40px;font-size:12px;display:flex}.hero-photo-grid{grid-template-rows:1fr 1fr;grid-template-columns:1fr .82fr;gap:12px;height:min(39vw,450px);min-height:350px;display:grid}.hero-photo-grid-profile{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);place-items:center;display:grid}.hero-photo.hero-photo-profile{aspect-ratio:1;border:10px solid #fff;border-radius:50%;width:min(86%,410px);box-shadow:0 16px 38px #0d13211a,0 0 0 2px #62967755}.hero-photo{background:#e7edf2;border-radius:8px;min-width:0;min-height:0;margin:0;position:relative;overflow:hidden}.hero-photo img{object-fit:cover;width:100%;height:100%}.hero-photo-profile img{object-position:center 35%}.hero-photo figcaption{width:fit-content;max-width:calc(100% - 18px);color:var(--deep);background:#fffffff2;border-radius:4px;padding:7px 9px;font-size:10px;font-weight:700;position:absolute;bottom:9px;left:9px;right:9px}.hero-socials a{color:var(--slate);text-underline-offset:4px;font-weight:700}.home-capabilities{background:linear-gradient(140deg,#e5eee7 0%,#edf3ee 58%,#e8f0e9 100%);border-block:1px solid #c9d9ce;padding-block:70px 78px;position:relative}.home-capabilities>.section-wrap>h2{width:fit-content;color:var(--ink);font-family:var(--display);letter-spacing:-.05em;margin:0;font-size:clamp(2rem,4vw,2.8rem);font-weight:700}.home-capabilities>.section-wrap>h2:after{background:var(--green);content:"";border-radius:99px;width:54px;height:4px;margin-top:11px;display:block}.home-capabilities-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:34px;display:grid}.home-capability{border:1px solid #d0ded3;border-top:4px solid var(--green);background:#fff;border-radius:4px 4px 16px 16px;min-width:0;padding:27px 30px 30px;transition:transform .18s,box-shadow .18s;position:relative;box-shadow:0 16px 36px #1d2d440d}.home-capability:nth-child(2){border-top-color:var(--deep);background:linear-gradient(145deg,#fff 0%,#f8fbf8 100%)}.home-capability:hover{transform:translateY(-3px);box-shadow:0 16px 36px #0d132114}.home-capability-number{color:var(--green);letter-spacing:.12em;font-size:12px;font-weight:800}.home-capability h3{color:var(--ink);letter-spacing:-.03em;margin:11px 0 0;font-size:clamp(1.2rem,2vw,1.5rem)}.home-capability p{max-width:470px;color:var(--muted);margin:12px 0 0;font-size:15px;line-height:1.75}.home-skill-list{flex-wrap:wrap;gap:8px;margin:20px 0 0;padding:0;list-style:none;display:flex}.home-skill-list li{color:var(--deep);background:#f0f6f1;border:1px solid #d3e4d8;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:600}.home-capability-link{color:var(--deep);-webkit-text-decoration-color:var(--green);text-decoration-color:var(--green);text-underline-offset:5px;align-items:center;gap:8px;margin-top:20px;font-size:14px;font-weight:700;display:inline-flex}.home-capability-link span,.home-connect-contact span{color:var(--green);transition:transform .18s}.home-capability-link:hover span,.home-connect-contact:hover span{transform:translate(3px)}.home-services{border-block:1px solid var(--line);background:#fbfcfb;padding-block:76px;position:relative;overflow:hidden}.home-services:after{aspect-ratio:1;content:"";pointer-events:none;border:1px solid #62967722;border-radius:50%;width:260px;position:absolute;top:-110px;right:max(-80px,50vw - 650px);box-shadow:0 0 0 22px #6296770a,0 0 0 46px #62967708}.home-services-inner{z-index:1;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);align-items:center;gap:12px 58px;display:grid;position:relative}.home-services-heading{grid-row:span 2}.home-services-heading h2{max-width:400px;color:var(--ink);font-family:var(--display);letter-spacing:-.05em;margin:0;padding-left:20px;font-size:clamp(2.2rem,4.3vw,3.2rem);font-weight:700;line-height:1.08;position:relative}.home-services-heading h2:before{background:var(--green);content:"";border-radius:99px;width:5px;position:absolute;top:5px;bottom:5px;left:0}.home-services-inner>p{max-width:690px;color:var(--muted);margin:0;font-size:17px;line-height:1.9}.home-services-link{border:1px solid var(--green);background:var(--green);color:#fff;border-radius:999px;justify-self:start;margin-top:8px;padding:11px 17px;font-size:13px;font-weight:700;text-decoration:none;transition:transform .18s,background .18s}.home-services-link:hover{background:var(--deep);transform:translateY(-2px)}.home-connect{justify-content:space-between;align-items:center;gap:32px;padding-block:76px 84px;display:flex}.home-connect-copy h2{color:var(--ink);font-family:var(--display);letter-spacing:-.055em;margin:0;font-size:clamp(2rem,4vw,3rem);font-weight:700}.home-connect-copy p{max-width:470px;color:var(--muted);margin:12px 0 0;font-size:15px;line-height:1.7}.home-connect-links{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.home-connect-links a{min-height:44px;color:var(--deep);border:1px solid #c6d9cc;border-radius:999px;justify-content:center;align-items:center;padding:0 16px;font-size:13px;font-weight:700;text-decoration:none;transition:transform .18s,background .18s,color .18s;display:inline-flex}.home-connect-links a:hover{border-color:var(--green);background:var(--green);color:#fff;transform:translateY(-2px)}.home-connect-links .home-connect-contact{border-color:var(--green);background:var(--green);color:#fff;gap:9px}.home-connect-links .home-connect-contact span{color:#fff}.home-work,.work-section{border-top:1px solid var(--line);padding-block:78px 100px;scroll-margin-top:24px}.section-heading{justify-content:space-between;align-items:end;gap:32px;margin-bottom:40px;display:flex}.section-heading .eyebrow,.about-copy .eyebrow,.product-capabilities .eyebrow,.home-case-studies .eyebrow,.skills-section .eyebrow,.contact-section .eyebrow{justify-content:flex-start}.section-heading h2,.about-copy h2,.product-capabilities h2,.home-case-studies h2,.skills-section h2{margin-top:14px;font-size:clamp(2.5rem,5vw,4rem)}.section-aside{width:min(340px,38%);color:var(--muted);margin:0 0 4px;font-size:14px;line-height:1.8}.product-capabilities{border-top:1px solid var(--line);grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr);align-items:center;gap:64px;padding-block:78px;display:grid}.product-capabilities-heading h2{max-width:440px}.product-capabilities-heading>p:last-child{max-width:440px;color:var(--muted);margin:18px 0 0;font-size:14px;line-height:1.8}.product-capabilities-list{gap:12px;display:grid}.product-capabilities-list article{border:1px solid var(--line);background:#fff;border-radius:7px;grid-template-columns:36px minmax(155px,.8fr) minmax(0,1.2fr);align-items:baseline;gap:16px;padding:18px 20px;display:grid}.product-capabilities-list article>span{color:var(--green);font-size:11px;font-weight:700}.product-capabilities-list h3{color:var(--deep);margin:0;font-size:14px;line-height:1.4}.product-capabilities-list article p{color:var(--muted);margin:0;font-size:12px;line-height:1.65}.home-projects{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.project{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:1.05fr .95fr;align-items:stretch;margin:0 0 26px;display:grid;overflow:hidden}.project-image{background:var(--green-light);min-width:0;min-height:390px;text-decoration:none;position:relative;overflow:hidden}.project-image>img{object-fit:cover;width:100%;height:100%;min-height:390px;transition:transform .45s cubic-bezier(.2,.7,.2,1);display:block}.project-image:hover>img{transform:scale(1.035)}.project-copy{flex-direction:column;justify-content:center;align-items:flex-start;padding:42px clamp(24px,4vw,52px);display:flex}.project-meta{color:var(--slate);letter-spacing:.025em;flex-wrap:wrap;align-items:center;gap:12px;font-size:13px;font-weight:700;display:flex}.project-meta span:first-child{color:var(--green);font-size:14px}.project-current{border-color:#a8c5b1;box-shadow:0 12px 34px #62967718}.project-current .project-copy{background:linear-gradient(130deg,#f1f7f2 0%,#fff 70%)}.project-current-label{color:#416d52;letter-spacing:.08em;text-transform:uppercase;background:#e3efe6;border-radius:999px;align-items:center;margin-top:14px;padding:6px 10px;font-size:10px;font-weight:800;display:inline-flex}.project h3{margin-top:18px;font-size:clamp(2rem,3vw,3rem)}.project h3 em{color:var(--green);font-style:normal}.project-copy>p{max-width:420px;color:var(--muted);margin:17px 0 0;font-size:14px;line-height:1.8}.project-tags{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.project-tags span{border:1px solid var(--line);color:var(--slate);border-radius:4px;padding:6px 9px;font-size:10px;font-weight:600}.project-link{margin-top:24px;display:inline-block}.project-horse .project-copy{order:1}.project-horse .project-image{order:2}.project-featured{grid-template-rows:210px 1fr;grid-template-columns:1fr;margin:0}.project-featured .project-image,.project-featured .project-image>img{height:100%;min-height:0}.project-featured.project-horse .project-copy,.project-featured.project-horse .project-image{order:initial}.project-featured .project-copy{padding:25px 26px 28px}.project-featured .project h3,.project-featured h3{font-size:clamp(1.65rem,2.4vw,2rem)}.project-featured .project-copy>p{font-size:13px}.project-featured .project-tags{display:none}.project-featured .project-link{margin-top:18px}.project-art{background:#eaf0f5 radial-gradient(#3e5c7624 .8px,#0000 .8px) 0 0/18px 18px;place-items:center;min-height:360px;display:grid;overflow:hidden}.project-visual-itinerary .project-art{background-color:#edf4ef;background-image:radial-gradient(#62967729 .8px,#0000 .8px),linear-gradient(135deg,#f4f8f4,#e4eee7)}.itinerary-art{background:#fff;border:1px solid #d4e2d8;border-radius:15px;gap:12px;width:min(78%,300px);padding:26px;display:grid;box-shadow:0 15px 36px #1d2d4418}.itinerary-kicker{color:var(--green);letter-spacing:.12em;font-size:9px;font-weight:800}.itinerary-title{color:var(--ink);letter-spacing:-.05em;margin-bottom:4px;font-size:27px;font-weight:700;line-height:1.02}.itinerary-route{color:var(--slate);border:1px solid #e4ebe6;border-radius:8px;grid-template-columns:9px 1fr auto;align-items:center;gap:9px;padding:10px;font-size:11px;font-weight:600;display:grid}.itinerary-route i{background:var(--green);border-radius:50%;width:8px;height:8px}.itinerary-route b{color:var(--green)}.itinerary-savings{color:#416d52;background:#e3efe6;border-radius:999px;justify-self:start;margin-top:4px;padding:8px 11px;font-size:11px;font-weight:800}.visitor-paper{background:#fff;border:1px solid #dce3ea;border-radius:3px;flex-direction:column;justify-content:center;width:235px;height:280px;padding:29px;display:flex;transform:rotate(-3deg);box-shadow:8px 10px #3e5c761c}.paper-label,.paper-footer{color:var(--green);letter-spacing:.08em;font-size:8px;font-weight:700}.paper-title{color:var(--ink);letter-spacing:-.05em;margin-top:22px;font-size:37px;font-weight:700;line-height:.95}.paper-title em{color:var(--slate);font-style:normal}.paper-rule{background:var(--line);width:100%;height:1px;margin:22px 0 12px}.work-footnote{color:var(--muted);text-align:center;margin-top:40px;font-size:13px;line-height:1.7}.work-footnote span{color:var(--green);font-weight:700}.work-github-link{width:fit-content;color:var(--deep);background:#fff;border:1px solid #d2e0d6;border-radius:18px;align-items:center;gap:16px;margin-top:26px;padding:12px 20px 12px 12px;text-decoration:none;transition:transform .18s,box-shadow .18s;display:inline-flex;box-shadow:0 9px 26px #0d13210a}.work-page-intro>p:not(.eyebrow){max-width:650px;color:var(--muted);margin:20px 0 0;font-size:17px;line-height:1.8}.work-github-link:hover{transform:translateY(-3px);box-shadow:0 14px 32px #0d132116}.work-github-icon{background:var(--deep);border-radius:15px;flex:none;place-items:center;width:58px;height:58px;display:grid}.work-github-icon svg{filter:invert();width:36px;height:36px}.work-github-copy{gap:4px;display:grid}.work-github-copy strong{font-size:15px}.work-github-copy>span{color:var(--muted);font-size:12px}.work-section .project:first-child .project-image img{object-position:52% center}.work-section .project:nth-child(5) .project-image{background:#111;place-items:center;padding:28px;display:grid}.work-section .project:nth-child(5) .project-image img{object-fit:contain;width:100%;height:100%}.photo-slot{background:#e7edf2;border-radius:8px;min-height:260px;margin:0;position:relative;overflow:hidden}.photo-slot img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.photo-slot figcaption{width:fit-content;max-width:calc(100% - 24px);color:var(--deep);background:#fff;border-radius:4px;padding:8px 11px;font-size:11px;font-weight:700;position:absolute;bottom:12px;left:12px;right:12px}.home-case-studies{justify-content:space-between;align-items:center;gap:28px;min-height:245px;padding-block:56px;display:flex}.home-case-studies h2{max-width:590px;font-size:clamp(2rem,4vw,3rem)}.home-case-summary{color:var(--muted);margin:12px 0 0;font-size:14px}.page-intro{padding-block:94px 82px}.page-intro .eyebrow{justify-content:flex-start}.page-intro h1{max-width:850px;font-size:clamp(3rem,7vw,5.5rem)}.page-intro>p:last-child{max-width:650px;color:var(--muted);margin:20px 0 0;font-size:17px;line-height:1.8}.contact-page{padding-block:88px 112px}.contact-page-intro{max-width:760px}.contact-page-intro h1{color:var(--ink);font-family:var(--display);letter-spacing:-.055em;margin:24px 0 0;font-size:clamp(3rem,7vw,5.5rem);font-weight:700;line-height:1.05}.contact-page-intro h1 em{color:var(--green);font-style:normal}.contact-page-intro>p:last-child{max-width:620px;color:var(--muted);margin:20px 0 0;font-size:17px;line-height:1.8}.contact-page-grid{grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);align-items:start;gap:56px;margin-top:50px;display:grid}.contact-form{gap:19px;display:grid}.contact-form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.contact-form-field{gap:8px;display:grid}.contact-form-field label{color:var(--deep);font-size:13px;font-weight:700}.contact-form-field label span{color:var(--muted);font-weight:400}.contact-form-field input,.contact-form-field textarea{border:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);font:inherit;background:#fff;border-radius:5px;padding:12px 14px}.contact-form-field textarea{resize:vertical;min-height:140px}.contact-form-field input:focus,.contact-form-field textarea:focus{border-color:var(--green);outline-offset:1px;outline:2px solid #62967733}.contact-form-hint,.contact-form-note{color:var(--muted);margin:-11px 0 0;font-size:12px;line-height:1.6}.contact-form .button{cursor:pointer;justify-self:start;font-family:inherit}.contact-form-note{margin-top:-13px}.contact-details{border:1px solid var(--line);background:#edf2f5;border-radius:8px;gap:22px;padding:28px;display:grid}.contact-details>a{color:var(--deep);overflow-wrap:anywhere;-webkit-text-decoration-color:var(--green);text-decoration-color:var(--green);text-underline-offset:4px;gap:6px;font-size:15px;font-weight:700;display:grid}.contact-details>a span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}.work-section .project-list{grid-template-columns:1fr;gap:26px;display:grid}.work-section .project{grid-template-rows:330px;grid-template-columns:.9fr 1.1fr;height:330px;margin:0}.work-section .project .project-image,.work-section .project .project-image>img{height:100%;min-height:0}.work-section .project .project-copy{justify-content:flex-start;padding:24px clamp(24px,4vw,46px)}.work-section .project h3{margin-top:12px;font-size:clamp(1.5rem,2vw,1.8rem)}.work-section .project .project-copy>p{margin-top:11px;font-size:13px;line-height:1.65}.work-section .project .project-tags{gap:6px;margin-top:12px}.work-section .project .project-tags span{padding:5px 7px;font-size:9px}.work-section .project .project-link{margin-top:12px;font-size:13px}.work-section .project .project-art{height:100%;min-height:0}.about-overview{padding-block:74px 70px}.about-overview-copy h1{width:fit-content;color:var(--ink);font-family:var(--display);letter-spacing:-.06em;margin:0;font-size:clamp(2.6rem,5vw,4rem);font-weight:700;line-height:1;position:relative}.about-overview-copy h1:after{background:var(--green);content:"";border-radius:50%;width:10px;height:10px;position:absolute;bottom:3px;right:-17px}.about-overview-copy p{max-width:850px;color:var(--muted);margin:18px 0 0;font-size:17px;line-height:1.8}.about-overview-photos{grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:15px;margin-top:36px;display:grid}.about-photo{background:#e7edf2;border:5px solid #fff;border-radius:18px;min-width:0;height:285px;margin:0;position:relative;overflow:hidden;box-shadow:0 10px 28px #1d2d4412}.about-photo-ski{transform:rotate(-2deg)}.about-photo-travel{border-radius:24px 24px 24px 8px;height:315px;transform:translateY(8px)rotate(1.5deg)}.about-photo-koala{height:300px;transform:translateY(-5px)rotate(-1deg)}.about-photo-temple{border-radius:24px 8px 24px 24px;height:320px;transform:translateY(9px)rotate(1.5deg)}.about-photo-sail{transform:rotate(-1deg)}.about-photo img{object-fit:cover;width:100%;height:100%}.about-photo-ski img{object-position:center 48%}.about-product-focus{background:radial-gradient(at 9% 25%,#dce6e180 0,#0000 29%),linear-gradient(110deg,#edf4ef 0%,#f2f5f6 65%,#eef3f0 100%);border-block:1px solid #c9d9ce;padding-block:66px;position:relative}.about-product-inner{grid-template-columns:230px minmax(0,1fr) 230px;align-items:center;gap:38px;display:grid}.about-product-portrait{aspect-ratio:1;object-fit:cover;object-position:center 32%;border:9px solid #fff;border-radius:42% 58% 53% 47%/50% 43% 57% 50%;width:218px;box-shadow:0 14px 34px #0d132121,0 0 0 2px #62967755}.about-product-focus h2{color:var(--ink);font-family:var(--display);letter-spacing:-.05em;margin:0;font-size:clamp(2rem,3.7vw,3rem);font-weight:700}.about-product-focus p{max-width:730px;color:var(--muted);margin:12px 0 0;font-size:16px;line-height:1.85}.skills-section{background:#eef4ef;border-bottom:1px solid #d3e1d7;padding-block:66px 78px}.about-skills-heading{justify-content:space-between;align-items:baseline;gap:24px;display:flex}.about-skills-heading h2{color:var(--ink);font-family:var(--display);letter-spacing:-.05em;margin:0;font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:700;position:relative}.about-skills-heading h2:after{background:var(--green);content:"";border-radius:99px;width:52px;height:4px;margin-top:10px;display:block}.skills-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:35px;display:grid}.skill-group{border-top:1px solid #bed2c4;padding:24px 0 0;position:relative}.skill-group h3{color:var(--ink);letter-spacing:-.02em;margin:10px 0 0;font-size:18px}.skill-group-number{color:var(--green);letter-spacing:.12em;font-size:11px;font-weight:800}.skill-group ul{flex-wrap:wrap;gap:9px 8px;margin:20px 0 0;padding:0;list-style:none;display:flex}.skill-group li{color:var(--slate);border-bottom:1px solid #b7cdbd;padding:7px 0;font-size:15px;font-weight:600}.about-resources{flex-wrap:wrap;gap:10px;display:flex}.about-resources .text-link{border:1px solid var(--green);min-height:42px;color:var(--deep);border-radius:999px;align-items:center;padding:0 16px;text-decoration:none;transition:background .18s,color .18s,transform .18s;display:inline-flex}.about-resources .text-link:first-child{border-color:var(--green);background:var(--green);color:#fff}.about-resources .text-link:hover{background:var(--deep);color:#fff;transform:translateY(-2px)}.case-study-list{gap:22px;margin-bottom:96px;display:grid}.case-study-card{border:1px solid var(--line);color:inherit;background:#fff;border-radius:8px;grid-template-columns:.85fr 1fr;text-decoration:none;transition:transform .18s,box-shadow .18s;display:grid;overflow:hidden}.case-study-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px #0d132114}.case-study-card-image{background:#e7edf2;min-height:300px;position:relative;overflow:hidden}.case-study-card-image img{object-fit:cover;width:100%;height:100%;position:absolute}.bloom-case-card-image img{object-position:center 58%}.case-study-card-image>span{color:var(--deep);background:#fff;border-radius:4px;padding:8px 11px;font-size:11px;font-weight:700;position:absolute;bottom:14px;right:14px}.case-study-card-copy{align-self:center;padding:36px clamp(24px,5vw,60px)}.case-study-number{color:var(--green);letter-spacing:.09em;font-size:11px;font-weight:700}.case-study-card h2{color:var(--ink);font-family:var(--display);letter-spacing:-.055em;margin:12px 0 0;font-size:clamp(2.3rem,4vw,3.7rem)}.case-study-card-copy p{max-width:560px;color:var(--muted);margin:12px 0 20px;font-size:14px;line-height:1.8}.case-study-card-link{color:var(--deep);text-decoration:underline;-webkit-text-decoration-color:var(--green);text-decoration-color:var(--green);text-underline-offset:5px;font-size:13px;font-weight:700}.case-studies-coming{color:var(--muted);border:1px dashed #b8c7d3;border-radius:7px;padding:22px 24px}.case-studies-coming p{margin:8px 0 0;font-size:14px}.case-study-intro{padding-bottom:36px}.back-link{color:var(--slate);-webkit-text-decoration-color:var(--green);text-decoration-color:var(--green);text-underline-offset:4px;margin-bottom:34px;font-size:13px;font-weight:700;display:inline-block}.case-study-intro h1{max-width:960px}.bloom-hero-photo{background:#fff;border:1px solid #c9d9ce;border-radius:18px;width:min(100%,440px);margin:38px auto 0;padding:8px;box-shadow:0 18px 44px #0d132114}.bloom-hero-photo img{border-radius:12px;width:100%;height:auto;display:block}.bloom-hero-photo figcaption{color:var(--muted);text-align:center;padding:12px 8px 5px;font-size:12px;line-height:1.5}.bloom-case-study-takeaway{background:radial-gradient(at 92% 12%,#dce6e180 0,#0000 26%),#eef4ef;border-color:#c7dacd}.case-study-hero-image{background:#e7edf2;border-radius:8px;height:clamp(280px,43vw,540px);margin-top:44px;overflow:hidden}.case-study-hero-image img{object-fit:cover;object-position:center 46%;width:100%;height:100%}.case-study-body{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:72px;padding-block:35px 100px;display:grid}.case-study-facts{border:1px solid var(--line);background:#fff;border-radius:7px;gap:22px;padding:24px;display:grid;position:sticky;top:28px}.case-study-facts>div{gap:6px;display:grid}.case-study-facts span{color:var(--muted);font-size:11px}.case-study-facts strong{color:var(--ink);font-size:13px}.case-study-facts .button{min-height:44px;padding-inline:12px;font-size:12px}.case-study-narrative>section{margin-bottom:48px}.case-study-narrative .eyebrow{justify-content:flex-start}.case-study-narrative h2{color:var(--ink);font-family:var(--display);letter-spacing:-.05em;margin:12px 0 0;font-size:clamp(1.9rem,3.5vw,2.7rem);line-height:1.1}.case-study-narrative section>p:not(.eyebrow){max-width:720px;color:var(--muted);margin:16px 0 0;font-size:15px;line-height:1.9}.case-study-team-photo{margin:10px 0 48px}.case-study-team-photo img{object-fit:cover;object-position:center 42%;border-radius:7px;width:100%;max-height:650px}.case-study-team-photo figcaption{color:var(--muted);margin-top:9px;font-size:12px}.case-study-dashboard{border:1px solid var(--line);background:#fff;border-radius:8px;margin:24px 0 0;padding:14px}.case-study-dashboard img{border-radius:4px;width:100%;height:auto}.case-study-dashboard figcaption{color:var(--muted);margin:10px 2px 2px;font-size:12px;line-height:1.6}.case-study-group-photo img{object-position:center 40%;max-height:560px}.case-study-narrative .case-study-outcome{border-left:3px solid var(--green);background:#edf2f6;padding:28px}.case-studies-empty{border:1px solid var(--line);background:#fff;border-radius:8px;margin-bottom:100px;padding:56px}.case-studies-number{color:var(--green);letter-spacing:.08em;font-size:12px;font-weight:700}.case-studies-empty h2{margin-top:18px;font-size:clamp(2rem,4vw,3rem)}.case-studies-empty p{max-width:650px;color:var(--muted);margin:16px 0 22px;font-size:15px;line-height:1.8}.contact-section{border-top:1px solid var(--line);padding-block:80px;scroll-margin-top:24px}.contact-section h2{font-size:clamp(3rem,6vw,5rem)}.contact-section h2 em{color:var(--green);font-style:normal}.contact-bottom{justify-content:space-between;align-items:center;gap:24px;margin-top:22px;display:flex}.contact-bottom p{max-width:440px;color:var(--muted);margin:0;font-size:14px;line-height:1.8}.button-dark{color:#fff;background:var(--deep)}.button-dark:hover{background:var(--slate)}.site-footer{border-top:1px solid var(--line);min-height:80px;color:var(--muted);justify-content:space-between;align-items:center;font-size:11px;display:flex}a:focus-visible{outline:2px solid var(--green);outline-offset:4px}@media (width<=900px){.section-wrap,.site-header{width:min(100% - 64px,760px)}.main-nav{gap:13px;font-size:14px}.wordmark{font-size:22px}.hero{grid-template-columns:minmax(0,1fr) minmax(290px,.82fr);gap:32px}.home-capabilities-grid{gap:24px}.home-capability{padding-inline:22px}.hero-photo-grid{height:390px;min-height:0}.project{grid-template-columns:1fr 1fr}.project-copy{padding:32px 25px}.project-image,.project-image>img{min-height:350px}.project-featured{grid-template-rows:190px 1fr;grid-template-columns:1fr}.case-study-body{grid-template-columns:200px minmax(0,1fr);gap:36px}.case-study-facts{padding:18px}.contact-page-grid{grid-template-columns:minmax(0,1fr) 260px;gap:30px}.contact-details{padding:22px}.about-overview-photos{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.about-photo{grid-column:span 2;height:270px}.about-photo:nth-last-child(-n+2){grid-column:span 3}.about-product-inner{grid-template-columns:170px minmax(0,1fr) 185px;gap:24px}.about-product-portrait{width:165px}.about-product-focus h2{font-size:2.2rem}.about-product-focus p{font-size:15px}.skills-grid{gap:22px}}@media (width<=680px){.section-wrap,.site-header{width:calc(100% - 40px)}.site-header{flex-direction:column;justify-content:center;align-items:flex-start;gap:10px;min-height:86px}.main-nav{scrollbar-width:none;white-space:nowrap;justify-content:flex-start;gap:12px;width:100%;min-width:0;padding:2px 0 6px;font-size:12px;overflow-x:auto}.main-nav::-webkit-scrollbar{display:none}.nav-contact{padding:8px 11px}.hero{text-align:center;grid-template-columns:1fr;gap:26px;min-height:0;padding-block:54px}.hero-copy{width:min(100%,540px);margin-inline:auto}.hero .eyebrow,.hero-actions,.hero-socials{justify-content:center}.hero-lede,.hero-intro{margin-left:auto;margin-right:auto}.hero-photo-grid{grid-template-rows:180px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;height:auto;min-height:0}.hero-photo-grid-profile{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);height:270px;min-height:0}.hero-photo-profile{border-width:6px;width:min(82%,260px)}.hero-photo figcaption{text-align:center;max-width:calc(100% - 10px);padding:5px;font-size:9px;bottom:5px;left:5px;right:5px}.hero h1{font-size:clamp(3rem,12vw,4.5rem)}.hero-lede{font-size:1.45rem}.hero-intro{font-size:14px}.hero-socials{flex-wrap:wrap;gap:16px;margin-top:34px}.home-capabilities{padding-block:52px 58px}.home-capabilities-grid{grid-template-columns:1fr;gap:14px;margin-top:24px}.home-capability{padding:22px}.home-capability p{font-size:14px}.home-services{padding-block:48px}.home-services-inner{grid-template-columns:1fr;gap:15px}.home-services-heading{grid-row:auto}.home-services-inner>p{font-size:14px}.home-services-link{margin-top:0}.home-connect{flex-direction:column;align-items:flex-start;gap:24px;padding-block:58px 66px}.home-connect-links{justify-content:flex-start}.home-work,.work-section{padding-block:64px 76px}.section-heading{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:30px}.section-aside{width:auto}.home-projects{grid-template-columns:1fr}.project,.project-featured{grid-template-rows:auto auto;grid-template-columns:1fr;margin-bottom:20px}.work-section .project-list{grid-template-columns:1fr;grid-auto-rows:auto}.work-section .project{grid-template-rows:220px 400px;grid-template-columns:1fr;height:600px}.project-horse .project-copy,.project-horse .project-image{order:initial}.project-image,.project-image>img,.project-featured .project-image,.project-featured .project-image>img{aspect-ratio:1.15;height:auto;min-height:0}.work-section .project .project-image,.work-section .project .project-image>img{aspect-ratio:auto;height:100%}.project-copy,.project-featured .project-copy{padding:26px 22px 28px}.work-section .project .project-copy{padding:22px 22px 24px}.project h3,.project-featured h3{font-size:2rem}.project-featured .project-tags{display:flex}.project-art{min-height:290px}.work-section .project .project-art{height:100%;min-height:0}.itinerary-art{gap:5px;width:min(84%,300px);padding:12px}.itinerary-route{padding:7px}.visitor-paper{width:205px;height:220px;padding:22px}.paper-title{margin-top:14px;font-size:32px}.paper-rule{margin:16px 0 10px}.work-page-intro>p:not(.eyebrow){font-size:15px}.product-capabilities{grid-template-columns:1fr;gap:28px;padding-block:60px}.product-capabilities-list article{grid-template-columns:28px minmax(0,1fr);gap:8px 12px}.product-capabilities-list article p{grid-column:2}.home-case-studies{flex-direction:column;align-items:flex-start;padding-block:50px}.page-intro{padding-block:70px 58px}.page-intro h1{font-size:clamp(2.75rem,11vw,4rem)}.page-intro>p:last-child{font-size:15px}.contact-page{padding-block:70px 80px}.contact-page-intro h1{font-size:clamp(2.75rem,11vw,4rem)}.contact-page-intro>p:last-child{font-size:15px}.contact-page-grid{grid-template-columns:1fr;gap:36px;margin-top:34px}.contact-form-row{grid-template-columns:1fr;gap:19px}.contact-details{padding:24px}.case-study-list{margin-bottom:72px}.case-study-card{grid-template-columns:1fr}.case-study-card-image{min-height:250px}.case-study-card-copy{padding:26px 22px 30px}.case-study-intro{padding-bottom:24px}.back-link{margin-bottom:24px}.case-study-hero-image{height:300px;margin-top:30px}.case-study-body{grid-template-columns:1fr;gap:38px;padding-block:20px 72px}.case-study-facts{grid-template-columns:repeat(2,minmax(0,1fr));position:static}.case-study-facts .button{grid-column:1/-1}.case-study-narrative>section{margin-bottom:38px}.case-study-narrative .case-study-outcome{padding:22px}.about-overview{padding-block:56px 48px}.about-overview-copy h1{font-size:2.8rem}.about-overview-photos{grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-top:28px}.about-photo{border-width:3px;border-radius:12px;grid-column:span 2;height:180px;transform:none}.about-photo:nth-last-child(-n+2){grid-column:span 3;height:210px}.about-product-inner{grid-template-columns:104px minmax(0,1fr);gap:20px}.about-product-portrait{border-width:4px;width:102px}.about-product-focus h2{font-size:1.8rem}.about-product-focus{padding-block:42px}.about-skills-heading{flex-direction:column;align-items:flex-start;gap:12px}.skills-grid{grid-template-columns:1fr;gap:24px;margin-top:28px}.about-resources{gap:8px}.case-studies-empty{margin-bottom:72px;padding:32px 24px}.contact-section{padding-block:64px}.contact-bottom{flex-direction:column;align-items:flex-start}.site-footer{flex-wrap:wrap;gap:8px 18px;min-height:90px;padding-block:14px}}
