.inner-page{--line:rgba(33,49,56,.18);--page-muted:#64716e}
.inner-page .brand-logo{height:auto}
.inner-page .brand-caption{display:none}
.inner-page .header{background:rgba(243,244,241,.96)}
.inner-page .section-pad{padding-top:168px;padding-bottom:110px}
.page-intro{padding-bottom:64px}
.page-heading{max-width:890px}
.page-heading>.eyebrow{font-size:11px;margin-bottom:30px;letter-spacing:1.2px}
.page-heading h1{font-size:clamp(45px,5.45vw,82px);font-weight:500;line-height:1.05;letter-spacing:-.06em;margin:0}
.page-lead{font-size:18px;line-height:1.65;max-width:560px;color:var(--page-muted);margin-top:28px}
.page-enter{animation:page-enter .85s cubic-bezier(.22,.68,.2,1) both}
.page-enter:nth-child(2){animation-delay:.12s}.page-enter:nth-child(3){animation-delay:.24s}
@keyframes page-enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.form-layout{display:grid;grid-template-columns:1fr 1.75fr;gap:8vw;border-top:1px solid var(--line);padding-top:42px}
.form-aside{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:36px}
.form-aside-details{display:flex;flex-direction:column;gap:10px}
.form-aside-details>.eyebrow{margin-bottom:16px;font-size:10px}
.form-aside-details>a{font-size:17px}.form-aside-details>p{font-size:15px;line-height:1.6;color:var(--page-muted);margin-top:14px}
.form-aside-copy{font-size:clamp(22px,2.2vw,30px);line-height:1.4;letter-spacing:-.035em}
.form-cross{margin-top:24px;width:70px;height:70px;color:#91b2b5}
.form-cross svg{width:100%;height:100%;stroke:currentColor;stroke-width:.45;fill:none}
.form-topline{display:flex;justify-content:space-between;gap:14px;align-items:baseline;margin-bottom:34px}
.form-topline .eyebrow{font-size:11px}.form-topline>span:last-child{font-size:12px;color:var(--page-muted)}
.fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:29px 30px}
.field{display:flex;flex-direction:column;min-width:0;gap:10px;font-size:14px}
.required-mark{color:#626d6d}.optional{color:var(--page-muted);font-size:12px}
.field input,.field select,.field textarea{border:0;border-bottom:1px solid #a8b3ae;border-radius:0;background:transparent;padding:10px 0 13px;color:var(--ink);font:400 17px/1.5 var(--sans);width:100%;min-width:0;transition:border-color .2s,box-shadow .2s;outline:none}
.field input{min-height:49px}.field select{cursor:pointer;min-height:49px;padding-right:24px}.field select option{background:var(--paper);color:var(--ink)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#3e7e8b;box-shadow:0 1px 0 #3e7e8b}
.field input::placeholder,.field textarea::placeholder{color:#909a95;opacity:1}
.field textarea{resize:vertical;min-height:120px}.field-full{grid-column:1/-1}
.field-hint{font-size:12px;line-height:1.6;color:var(--page-muted);margin-top:10px}
.profile-choice{border:0;padding:0;margin:0;min-width:0}
.profile-choice legend{font-size:14px;margin-bottom:16px}
.profile-options{display:flex;gap:10px;margin-bottom:23px}
.profile-options label{cursor:pointer;position:relative;display:inline-flex;gap:10px;align-items:center;border:1px solid #bbc5c0;padding:10px 16px;font-size:14px;transition:background .2s,border-color .2s}
.profile-options label:has(input:checked){background:#e5eae5;border-color:#607c78}
.profile-options input{accent-color:#406e76;width:14px;height:14px}
.form-end{margin-top:35px}.privacy-check{display:flex;gap:12px;align-items:flex-start;max-width:610px;font-size:13px;line-height:1.65}
.privacy-check input{appearance:none;flex:none;width:17px;height:17px;border:1px solid #8b9a92;border-radius:0;margin:3px 0 0;background:transparent;cursor:pointer}
.privacy-check input:checked{background:var(--ink);border-color:var(--ink);box-shadow:inset 0 0 0 3px var(--paper)}
.privacy-check a,.document-body a{border-bottom:1px solid #92a29a}.privacy-check a:hover,.document-body a:hover{color:#486d73}
.form-delivery-note{font-size:12px;line-height:1.65;color:var(--page-muted);margin-top:20px;max-width:510px}
.form-submit{margin-top:22px;min-width:220px}.form-result{margin-top:30px;padding:27px;border-left:2px solid #5a9eb0;background:#e8ece7;animation:page-enter .4s ease both}
.form-result[hidden]{display:none}.form-result h3{font-size:24px;font-weight:500;letter-spacing:-.03em;margin-bottom:12px}.form-result>p{font-size:15px;line-height:1.65;max-width:510px}.form-result .button{margin:22px 16px 8px 0}.copy-message{background:none;border:0;cursor:pointer;font-size:13px;padding:10px 0}.form-result .copy-status{font-size:12px;margin-top:8px}
.email-preview{margin-top:15px;font-size:13px}.email-preview summary{cursor:pointer;padding:8px 0}.email-preview pre{font:13px/1.7 var(--sans);white-space:pre-wrap;overflow-wrap:anywhere;padding-top:15px}
.archive-topline{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding:24px 0 34px}
.archive-topline .eyebrow,.archive-count{font:11px var(--mono);letter-spacing:.6px}
.archive-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px 30px}
.archive-card{display:block;text-align:left;border:0;background:transparent;cursor:pointer;color:inherit;width:100%;padding:0;font:inherit}
.archive-image{position:relative;overflow:hidden;aspect-ratio:4/3;background:#d7dcd5}
.archive-image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .7s;filter:saturate(.8)}
.archive-card:hover img,.archive-card:focus-visible img{transform:scale(1.035);filter:saturate(1)}
.archive-card .project-open{opacity:0;transform:translateY(7px);transition:opacity .3s,transform .4s}
.archive-card:hover .project-open,.archive-card:focus-visible .project-open{opacity:1;transform:none}
.archive-caption{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-top:21px}
.archive-caption .eyebrow{font-size:10px;letter-spacing:.7px;color:var(--page-muted)}
.archive-caption h2{font-size:clamp(22px,2vw,29px)!important;letter-spacing:-.035em;line-height:1.2;margin-top:9px}.archive-index{font:11px var(--mono);color:#7f8f85}
.archive-end{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-top:95px;padding-top:38px;border-top:1px solid var(--line)}
.archive-end>p{font-size:clamp(24px,2.8vw,40px);letter-spacing:-.045em;line-height:1.25}
.archive-dialog{width:min(1080px,92vw);max-width:1080px;padding:0;border:0;background:var(--paper);color:var(--ink);max-height:90svh;overflow:auto}
.archive-dialog::backdrop{background:rgba(13,25,34,.76);backdrop-filter:blur(5px)}
.archive-dialog[open]{animation:page-enter .32s ease both}
.archive-dialog figure{margin:0}.archive-dialog figure>img{width:100%;height:min(61svh,650px);object-fit:contain;display:block;background:#dfe3df}
.archive-dialog figcaption{padding:26px 32px;display:flex;gap:20px;align-items:center;justify-content:space-between}
.archive-dialog h2{font-size:27px;font-weight:500;letter-spacing:-.035em;margin:8px 0}.archive-dialog figcaption p{font-size:14px;line-height:1.6;color:var(--page-muted);max-width:600px}
.archive-dialog .dialog-close{position:absolute;right:14px;top:14px;background:var(--paper);color:var(--ink);z-index:2}
.gallery-navigation{display:flex;align-items:center;gap:16px;white-space:nowrap;font:11px var(--mono)}
.gallery-navigation button{border:1px solid #b1bdb5;background:transparent;width:42px;height:42px;cursor:pointer;font-size:20px;color:var(--ink)}
.gallery-navigation button:hover{background:var(--ink);color:var(--paper)}
.document-layout{display:grid;grid-template-columns:1fr 2.15fr;gap:7vw;border-top:1px solid var(--line);padding-top:40px;align-items:start}
.document-index{position:sticky;top:135px}.document-index>.eyebrow{font-size:10px}.document-index nav{display:flex;flex-direction:column;margin-top:25px;gap:18px}
.document-index a{display:flex;gap:15px;font-size:14px;line-height:1.5;color:var(--page-muted)}.document-index a>span{font:10px/2 var(--mono);color:#8b9c93}.document-index a:hover{color:var(--ink)}
.document-body{max-width:780px}.document-body section{scroll-margin-top:138px;margin-bottom:52px}.document-body section:last-child{margin-bottom:0}
.document-body h2{font-size:clamp(25px,2.5vw,34px);line-height:1.2;margin-bottom:24px;font-weight:500;letter-spacing:-.04em}
.document-body h3{font-size:19px;font-weight:500;margin:26px 0 12px}.document-body p,.document-body li{font-size:16px;line-height:1.85;color:#4b5d59}.document-body p+p{margin-top:18px}.document-body ul{padding-left:20px}.document-body li+li{margin-top:16px}.document-body strong{font-weight:600;color:var(--ink)}
.document-body .document-date{font:11px/1.6 var(--mono);color:var(--page-muted);margin-bottom:35px}
.quality-list{counter-reset:quality;list-style:none;padding:0;margin-top:27px}.quality-list li{counter-increment:quality;display:grid;grid-template-columns:30px 1fr;gap:16px;padding:19px 0;border-top:1px solid var(--line);margin:0!important;font-size:15px}
.quality-list li:before{content:counter(quality,decimal-leading-zero);font:10px/2.7 var(--mono);color:#768f83}
.policy-signature{margin-top:36px;border-top:1px solid var(--line);padding-top:26px}.policy-signature>.eyebrow{font-size:10px}.policy-signature>p{font-size:22px;font-weight:500;color:var(--ink);margin:10px 0 4px}.policy-signature>span:last-child{font-size:13px;color:var(--page-muted)}
.cookie-facts{margin:10px 0 26px}.cookie-facts>div{display:flex;justify-content:space-between;gap:25px;padding:16px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.6}.cookie-facts strong{font-size:13px;text-align:right;font-weight:500;max-width:45%}
.document-body .legal-reference{border-top:1px solid var(--line);padding-top:25px;margin-top:44px;font-size:12px;line-height:1.7}
@media(min-width:1550px){.inner-page main{max-width:1800px;margin:auto}.form-layout{grid-template-columns:1fr 1.5fr}}
@media(max-width:950px){.form-layout{gap:5vw;grid-template-columns:1fr 1.7fr}.fields-grid{gap:27px 20px}.document-layout{gap:5vw;grid-template-columns:1fr 2.5fr}.document-index a{font-size:12px}.archive-dialog figcaption{align-items:flex-start}.gallery-navigation{gap:8px}}
@media(max-width:760px){
 .inner-page .section-pad{padding-top:123px;padding-bottom:70px}.page-intro{padding-bottom:38px}.page-heading>.eyebrow{font-size:9px;margin-bottom:23px}.page-heading h1{font-size:clamp(37px,9.8vw,56px);line-height:1.08}.page-lead{font-size:16px;line-height:1.6;margin-top:22px}.page-lead br{display:none}
 .form-layout{grid-template-columns:1fr;padding-top:28px;gap:36px}.form-aside{order:2;border-top:1px solid var(--line);padding-top:30px;display:grid;grid-template-columns:1fr auto;gap:22px}.form-aside-copy{grid-column:1/-1;font-size:24px}.form-aside-copy br{display:none}.form-cross{width:52px;height:52px;align-self:center}.form-aside-details{gap:9px}.form-aside-details>a{font-size:16px}
 .form-topline{margin-bottom:26px}.form-topline .eyebrow{font-size:10px}.form-topline>span:last-child{font-size:11px}.fields-grid{gap:25px 18px}.field{font-size:13px}.field input,.field select,.field textarea{font-size:16px}.privacy-check{font-size:12px}.form-end{margin-top:28px}.form-result{padding:22px 18px}.form-result h3{font-size:22px}.form-result>p{font-size:14px}.form-result .button{font-size:13px}.form-submit{width:100%}
 .archive-topline{padding:20px 0 26px}.archive-topline .eyebrow,.archive-count{font-size:9px}.archive-grid{grid-template-columns:1fr;gap:34px}.archive-caption{padding-top:16px}.archive-caption h2{font-size:25px!important}.archive-card .project-open{opacity:1;transform:none;width:34px;height:34px;font-size:25px}.archive-end{display:block;margin-top:58px;padding-top:28px}.archive-end .button{margin-top:25px}.archive-end>p{font-size:28px}
 .archive-dialog{width:calc(100vw - 24px);max-height:88svh}.archive-dialog figure>img{height:43svh}.archive-dialog figcaption{padding:22px;display:block}.archive-dialog h2{font-size:25px}.gallery-navigation{margin-top:22px;justify-content:space-between}.archive-dialog .dialog-close{width:36px;height:36px;font-size:28px}
 .document-layout{grid-template-columns:1fr;gap:36px;padding-top:28px}.document-index{position:static}.document-index nav{display:grid;grid-template-columns:1fr 1fr;gap:14px 12px;margin-top:20px}.document-index a{font-size:12px;gap:8px}.document-body h2{font-size:28px;margin-bottom:19px}.document-body p,.document-body li{font-size:15px;line-height:1.85}.document-body section{margin-bottom:38px;scroll-margin-top:110px}.quality-list li{gap:9px;grid-template-columns:25px 1fr}.cookie-facts>div{font-size:12px;gap:16px}.cookie-facts strong{font-size:12px}.policy-signature .eyebrow{font-size:8px}
}
@media(max-width:380px){.fields-grid{grid-template-columns:1fr}.field-full{grid-column:auto}.form-topline{align-items:flex-start}.page-heading h1{font-size:36px}.profile-options{gap:8px}.profile-options label{padding:10px 12px}.document-index nav{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.page-enter,.form-result,.archive-dialog[open]{animation:none}.archive-image img{transition:none}.archive-card .project-open{transition:none}}
/* The heading and the form begin together, without an intervening divider. */
.form-page .form-layout{grid-template-columns:1fr 1.18fr;gap:7vw;border:0;padding-top:0;align-items:start}
.form-page .form-aside{position:sticky;top:145px;gap:35px}
.form-page .page-intro{padding-bottom:0}
.form-page .page-heading h1{font-size:clamp(40px,4.5vw,66px);line-height:1.08}
.form-page .page-heading>.eyebrow{margin-bottom:26px}
.form-page .page-lead{font-size:16px;max-width:360px;line-height:1.7;margin-top:25px}
.form-page .page-lead br{display:none}
.form-page .form-aside-copy{font-size:21px;max-width:330px}
.form-page .form-aside-copy br{display:none}
.form-page .form-aside-details{margin-top:8px}
.form-page .form-topline{margin:4px 0 33px}
.cv-panel[hidden],.linkedin-panel[hidden],.cv-selected[hidden]{display:none}
.cv-dropzone{position:relative;border:1px dashed #9bafb3;background:#edf0ec;display:flex;flex-direction:column;align-items:center;text-align:center;padding:26px 18px;transition:border-color .25s,background .25s}
.cv-dropzone svg{width:29px;height:29px;fill:none;stroke:#688c95;stroke-width:1.1;margin-bottom:14px}
.cv-dropzone p{font-size:15px;line-height:1.5}.cv-choose{font-size:13px;color:#3c7282;text-decoration:underline;text-underline-offset:3px;margin-top:8px;cursor:pointer}
.cv-dropzone>span{font-size:11px;color:var(--page-muted);margin-top:15px;line-height:1.5}
.cv-dropzone input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.cv-dropzone:focus-within{outline:2px solid #5a9eb0;outline-offset:4px}
.cv-dropzone.is-dragging{border-color:#4d8fa0;background:#dce9e9}
.cv-selected{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:16px 0}
.cv-selected>div{min-width:0;display:flex;flex-direction:column;gap:6px}.cv-filename{font-size:13px;font-weight:500;overflow-wrap:anywhere}.cv-filesize{font-size:11px;color:var(--page-muted)}
.cv-remove{font-size:12px;border-bottom:1px solid currentColor;padding:5px 0;background:none;flex:none}
.field-error{font-size:12px;color:#964a40;line-height:1.6;margin-top:10px}
.form-attachment-note{margin-top:10px;font-size:12px!important;line-height:1.65}
@media(max-width:950px) and (min-width:761px){.form-page .form-layout{gap:5vw;grid-template-columns:.95fr 1.15fr}.form-page .page-heading h1{font-size:40px}.form-page .fields-grid{grid-template-columns:1fr}}
@media(max-width:760px){
 .form-page .form-layout{grid-template-columns:1fr;gap:34px}
 .form-page .form-aside{display:contents;position:static}
 .form-page .page-intro{order:0}
 .form-page .teeco-form{order:1}
 .form-page .form-aside-copy{order:2;max-width:100%;margin-top:5px}
 .form-page .form-aside-details{order:3;border-top:1px solid var(--line);padding-top:28px;margin-top:0}
 .form-page .page-heading h1{font-size:clamp(37px,9.8vw,52px)}
 .form-page .page-lead{margin-top:20px}.form-page .form-topline{margin-top:0;margin-bottom:28px}
 .cv-dropzone{padding:23px 15px}.cv-dropzone p{font-size:14px}
}

/* People and method: the same editorial rhythm as the project pages. */
.about-founder{display:grid;grid-template-columns:1.15fr 1fr;gap:7vw;align-items:center;border-top:1px solid var(--line);padding-top:40px}
.about-portrait{margin:0;min-width:0}
.about-portrait img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:#e1e4df}
.about-portrait figcaption{display:flex;justify-content:space-between;gap:16px;padding-top:15px;font:9px/1.6 var(--mono);letter-spacing:.5px;color:var(--page-muted)}
.about-founder-copy>.eyebrow{font-size:10px;margin-bottom:22px}
.about-founder-copy h2{font-size:clamp(30px,3.3vw,48px);letter-spacing:-.045em}
.about-founder-copy .about-statement{font-size:clamp(20px,2vw,26px);line-height:1.4;letter-spacing:-.025em;color:var(--ink);margin:24px 0}
.about-founder-copy>p:not(.eyebrow):not(.about-statement){font-size:16px;line-height:1.8;color:var(--page-muted);max-width:440px;margin-top:17px}
.about-founder-copy .text-link{margin-top:27px}
.about-method{margin-top:120px}
.about-method>.eyebrow{margin-bottom:26px}
.about-method-list{list-style:none;padding:0;margin:42px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.about-method-list li{border-top:1px solid var(--line);padding-top:22px}
.about-number{font:11px/1.6 var(--mono);color:#477886}
.about-method-list h3{font-size:clamp(18px,1.8vw,25px);font-weight:500;letter-spacing:-.03em;margin:27px 0 12px}
.about-method-list p{font-size:15px;line-height:1.7;color:var(--page-muted);max-width:240px}
.inner-page .about-team{background:#192a30;color:#edf1ee;display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding-top:95px;padding-bottom:95px}
.about-team-intro>.eyebrow{color:#94b8c1;margin-bottom:27px}
.about-team-intro h2{font-size:clamp(35px,3.8vw,56px)}
.about-team-intro h2>span{color:#9cbbc2}
.about-team-intro>p:last-child{font-size:17px;line-height:1.75;max-width:410px;color:#b5c6c9;margin-top:28px}
.about-team-list{list-style:none;padding:0;margin:0}
.about-team-list li{display:grid;grid-template-columns:30px 1fr;gap:20px;padding:24px 0;border-top:1px solid #3d5056}
.about-team-list li:last-child{border-bottom:1px solid #3d5056}
.about-team-list .about-number{color:#94b8c1;margin-top:5px}
.about-team-list h3{font-size:clamp(22px,2.2vw,30px);letter-spacing:-.035em;font-weight:450}
.about-team-list p{font-size:13px;line-height:1.6;color:#b5c6c9;margin-top:9px}
.inner-page .about-next{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-top:95px;padding-bottom:95px}
.about-next h2{font-size:clamp(30px,3.3vw,46px);margin-top:25px}
.about-next p:not(.eyebrow){font-size:16px;line-height:1.7;color:var(--page-muted);margin-top:21px;max-width:490px}
.about-next .button{flex:none}
@media(max-width:1050px) and (min-width:761px){.about-founder{grid-template-columns:1fr 1fr;gap:4vw;align-items:start}.about-portrait img{aspect-ratio:4/5;object-position:62% center}.about-portrait figcaption{flex-direction:column;gap:4px}.about-method-list{gap:20px}.about-team{gap:5vw}}
@media(max-width:760px){
 .about-founder{grid-template-columns:1fr;gap:33px;padding-top:26px}
 .about-portrait figcaption{font-size:8px;gap:12px}
 .about-founder-copy h2{font-size:34px}.about-founder-copy .about-statement{font-size:23px;margin:20px 0}
 .about-founder-copy>p:not(.eyebrow):not(.about-statement){font-size:15px;max-width:100%}
 .about-founder-copy>.eyebrow{margin-bottom:17px}
 .about-method{margin-top:70px}.about-method h2{font-size:37px}
 .about-method-list{grid-template-columns:1fr 1fr;gap:28px 22px;margin-top:30px}
 .about-method-list h3{font-size:18px;margin-top:18px;overflow-wrap:anywhere}.about-method-list p{font-size:14px}
 .inner-page .about-team{grid-template-columns:1fr;gap:35px;padding-top:65px;padding-bottom:65px}
 .about-team-intro h2{font-size:35px}.about-team-intro>p:last-child{font-size:16px;margin-top:23px}
 .about-team-list li{padding:21px 0;gap:13px}.about-team-list h3{font-size:26px}
 .inner-page .about-next{display:block;padding-top:65px;padding-bottom:65px}.about-next h2{font-size:34px}
 .about-next .button{margin-top:27px}.about-next p:not(.eyebrow){font-size:15px}
}
