@font-face{font-family:Montserrat;src:url('assets/montserrat.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{--ink:#1a1a18;--bone:#f2f0eb;--gold:#8c7355;--gold-dark:#6b5840;--stone:#d6d2c8;--muted:#6b6861;--body:#3a3a36;--max:1400px;--gutter:clamp(22px,5vw,88px);font-family:Montserrat,Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bone);font-synthesis:none;scroll-behavior:smooth;scroll-padding-top:110px}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;max-width:100%}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--gold-dark);outline-offset:6px}::selection{background:var(--gold);color:white}p{line-height:1.75}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:700}h2{font-size:clamp(30px,3.25vw,48px);line-height:1.16;letter-spacing:-.045em}h3{line-height:1.35}button{color:inherit}.wrap{max-width:var(--max);padding-left:var(--gutter);padding-right:var(--gutter);margin-left:auto;margin-right:auto}.section-space{padding-top:108px;padding-bottom:108px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.17em;line-height:1.7;color:var(--gold-dark)}.skip-link{position:fixed;top:-80px;left:20px;padding:12px 20px;background:var(--ink);color:var(--bone);z-index:100}.skip-link:focus{top:12px}
.review-bar{background:var(--ink);color:var(--bone);padding:10px var(--gutter);font-size:11px;display:flex;align-items:center;justify-content:space-between;gap:12px}.review-bar[hidden]{display:none}.review-bar a{border-bottom:1px solid #8c7355;padding-bottom:2px}.review-dot{display:inline-block;width:6px;height:6px;background:#d6d2c8;border-radius:100%;margin-right:8px}.review-bar.draft{background:var(--gold-dark)}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:114px;max-width:var(--max);margin:auto;padding:24px var(--gutter);border-bottom:1px solid var(--stone)}.brand{flex-shrink:0;display:block;max-width:210px}.brand img{width:180px;height:64px;object-fit:contain;object-position:left center}.brand-fallback{font-weight:700;font-size:38px;letter-spacing:.08em;line-height:1}.brand-fallback span{display:block;font-size:10px;letter-spacing:.25em;margin-top:7px}.main-nav{display:flex;align-items:center;gap:32px;font-size:11px;font-weight:700}.main-nav>a{padding:12px 0;position:relative}.main-nav>a:after{content:'';position:absolute;left:0;right:100%;bottom:7px;height:1px;background:var(--gold);transition:right .2s}.main-nav>a:hover:after{right:0}.main-nav .nav-contact{margin-left:32px;display:flex;align-items:center;gap:24px}.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:1.02fr 1fr;gap:48px;align-items:center;padding-top:56px;padding-bottom:64px}.hero-copy{padding:34px 0}.hero h1{font-size:clamp(42px,4.8vw,70px);line-height:1.06;letter-spacing:-.065em;white-space:pre-line;margin:24px 0}.hero-description{max-width:410px;font-size:13px;color:var(--body);line-height:1.85}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:34px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:34px;min-height:50px;padding:16px 22px;font-size:11px;font-weight:700;border:1px solid transparent;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:var(--bone)}.button-dark:hover{background:var(--gold-dark)}.text-link{font-size:11px;font-weight:700;display:inline-flex;align-items:center;gap:18px;border-bottom:1px solid var(--stone);padding:10px 0}.text-link:hover{border-color:var(--gold-dark)}.hero-footnote{display:flex;align-items:center;gap:16px;font-size:8px;letter-spacing:.13em;line-height:1.9;color:var(--muted);margin-top:64px}.fine-line{display:inline-block;flex-shrink:0;width:38px;height:1px;background:var(--gold)}
.hero-visual{position:relative;background:var(--ink);color:var(--bone);min-width:0;overflow:hidden}.visual-topline{position:absolute;top:25px;left:25px;right:25px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.14em;z-index:1;color:var(--stone)}.hero-visual>img{width:100%;height:auto;aspect-ratio:1/1.06;object-fit:cover}.hero-visual figcaption{border-top:1px solid #ffffff22;display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:8px;padding:19px 25px;color:var(--stone)}.illustration-tag{font-size:6.5px;letter-spacing:.1em;color:#c3b19a}
.custom-section{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:center;border-bottom:1px solid var(--stone)}.custom-section .eyebrow{margin-bottom:26px}.custom-section h2{max-width:470px}.section-copy p{margin-top:24px;font-size:12px;color:var(--body);max-width:470px;white-space:pre-line}.custom-section figure{position:relative;background:#e6e2d9;overflow:hidden}.custom-section img{width:100%;aspect-ratio:1.17;object-fit:cover}.custom-section figcaption{position:absolute;bottom:16px;left:22px;color:var(--body);font-size:7px;font-weight:700;letter-spacing:.13em}.section-no-image{grid-template-columns:1fr;max-width:850px}.services-section{display:grid;grid-template-columns:1fr 1.15fr;gap:90px}.section-intro h2{margin-top:23px}.section-intro>p:not(.eyebrow){font-size:12px;color:var(--body);max-width:350px;margin:24px 0 10px}.services-list{border-top:1px solid var(--stone)}.service-row{border-bottom:1px solid var(--stone)}.service-row summary{list-style:none;display:grid;grid-template-columns:30px 1fr 24px;align-items:center;gap:20px;cursor:pointer;padding:28px 0}.service-row summary::-webkit-details-marker{display:none}.service-number{font-size:9px;color:var(--gold-dark)}.service-row h3{font-size:16px;letter-spacing:-.025em}.service-toggle{font-size:25px;font-weight:400;line-height:1;transition:transform .2s;text-align:right}.service-row[open] .service-toggle{transform:rotate(45deg)}.service-row>p{font-size:12px;line-height:1.8;color:var(--body);max-width:390px;padding:0 35px 28px 50px}
.process-section{background:var(--ink);color:var(--bone)}.process-heading{display:grid;grid-template-columns:1fr 1.4fr;gap:26px}.process-heading .eyebrow{grid-column:1/-1;color:#c3b19a}.process-heading>p:last-child{justify-self:end;max-width:310px;font-size:12px;line-height:1.85;color:var(--stone)}.process-list{list-style:none;margin:58px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:36px}.process-list li{border-top:1px solid #ffffff30;padding-top:20px}.process-number{font-size:10px;color:#c3b19a}.process-list h3{font-size:16px;margin:28px 0 12px}.process-list p{font-size:11px;max-width:230px;color:var(--stone)}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px}.section-heading h2{margin-top:22px}.section-heading>p{font-size:12px;max-width:350px;color:var(--body)}.project-filters{display:flex;flex-wrap:wrap;gap:22px;margin:36px 0 22px}.project-filters button{padding:9px 0;border:0;border-bottom:1px solid transparent;background:none;font-size:10px;color:var(--muted)}.project-filters button[aria-pressed=true]{border-bottom-color:var(--ink);color:var(--ink);font-weight:700}.projects-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px}.project-card{min-width:0}.project-image-button{padding:0;border:0;display:block;width:100%;background:var(--stone);overflow:hidden;position:relative}.project-image-button img{width:100%;aspect-ratio:1.32;object-fit:cover;transition:transform .5s}.project-image-button:hover img{transform:scale(1.03)}.project-open{position:absolute;bottom:18px;right:18px;width:35px;height:35px;display:grid;place-items:center;background:var(--bone);font-size:18px}.project-info{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-top:23px}.project-category{font-size:8px;letter-spacing:.12em;color:var(--gold-dark);text-transform:uppercase;margin-bottom:9px}.project-title{font-size:18px;letter-spacing:-.035em;text-align:left;background:none;border:0;padding:0;font-weight:700;line-height:1.4}.project-title:hover{text-decoration:underline;text-underline-offset:5px}.project-meta{font-size:9px;margin-top:10px;color:var(--muted)}.project-index{font-size:9px;color:var(--muted);margin-top:4px}.sample-note{font-size:9px;margin-top:30px;color:var(--muted);line-height:1.6}.empty-projects{grid-column:1/-1;border-top:1px solid var(--stone);padding:40px 0;color:var(--body);font-size:13px}
.contact-section{background:var(--ink);color:var(--bone)}.contact-inner{padding-top:85px;padding-bottom:85px;display:grid;grid-template-columns:1.25fr 1fr;gap:120px;align-items:center}.contact-section .eyebrow{color:#c3b19a;margin-bottom:28px}.contact-section h2{font-size:clamp(35px,4.5vw,62px);line-height:1.08}.contact-section h2>span{color:#c3b19a}.contact-copy>p{font-size:13px;max-width:310px;color:var(--stone);margin-bottom:30px}.button-bone{background:var(--bone);color:var(--ink)}.button-bone:hover{background:var(--stone)}.contact-details{display:flex;flex-direction:column;align-items:start;gap:14px;font-size:11px;margin-top:34px;overflow-wrap:anywhere}.contact-details a:hover{color:#d3c4af}.site-footer{padding-top:42px;padding-bottom:42px;display:flex;justify-content:space-between;align-items:center;gap:30px}.site-footer .brand img{width:135px;height:50px}.site-footer>p{font-size:10px;color:var(--body)}.site-footer>a:not(.brand){font-size:10px}.prototype-footnote{border-top:1px solid var(--stone);font-size:9px;line-height:1.7;color:var(--muted);padding-top:15px;padding-bottom:22px}
.project-dialog{border:0;padding:0;background:var(--bone);color:var(--ink);width:min(860px,90vw);max-height:90vh;overflow:auto}.project-dialog::backdrop{background:#1a1a18b8;backdrop-filter:blur(4px)}.project-dialog>img{width:100%;max-height:340px;object-fit:cover}.dialog-close{position:absolute;right:16px;top:16px;border:1px solid var(--stone);background:var(--bone);padding:10px 14px;font-size:11px;display:flex;align-items:center;gap:20px}.dialog-close span{font-size:20px}.dialog-content{padding:40px}.dialog-content h2{font-size:34px;margin-top:12px}.dialog-meta{font-size:11px;color:var(--muted);margin:16px 0}.dialog-content>p:last-of-type{font-size:13px;white-space:pre-line;max-width:650px;margin:22px 0}.dialog-content .text-link{margin-top:12px}body.dialog-open{overflow:hidden}
@media(min-width:1600px){.hero h1{font-size:70px}.hero-visual{max-width:590px}}
@media(max-width:1100px){.main-nav{gap:22px}.main-nav .nav-contact{margin-left:0;gap:12px}.hero{gap:28px}.hero h1{font-size:54px}.hero-actions{gap:20px}.custom-section{gap:55px}.services-section{gap:50px}.contact-inner{gap:60px}.hero-footnote{margin-top:46px}.site-header{min-height:100px}.brand img{width:155px;height:54px}}
@media(max-width:800px){.section-space{padding-top:72px;padding-bottom:72px}.main-nav{position:absolute;top:100%;left:0;right:0;background:var(--bone);padding:20px var(--gutter) 30px;display:none;flex-direction:column;align-items:start;gap:12px;border-bottom:1px solid var(--stone);z-index:20}.main-nav.is-open{display:flex}.site-header{position:relative;min-height:90px;padding-top:16px;padding-bottom:16px}.menu-toggle{display:flex;align-items:center;gap:12px;background:none;border:0;font-size:11px;padding:10px 0}.menu-lines{width:20px;height:10px;border-top:1px solid;border-bottom:1px solid}.brand img{width:145px;height:52px}.hero{padding-top:30px;padding-bottom:40px;gap:28px;grid-template-columns:1fr 1fr}.hero h1{font-size:42px}.hero-copy{padding:16px 0}.hero-description{font-size:11px}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:25px}.hero-footnote{margin-top:28px;font-size:7px}.hero-visual>img{aspect-ratio:1/1.42}.visual-topline{left:16px;right:16px;top:18px;font-size:6px}.visual-topline>span:last-child{display:none}.hero-visual figcaption{padding:13px 16px;flex-direction:column;align-items:start;gap:8px;font-size:7px}.custom-section{gap:36px}.custom-section h2{font-size:33px}.section-copy p{font-size:11px}.services-section{grid-template-columns:1fr;gap:36px}.section-intro>p:not(.eyebrow){max-width:460px}.service-row summary{padding:24px 0}.process-list{gap:20px}.process-list p{font-size:10px}.process-list h3{font-size:14px}.section-heading{align-items:start;gap:30px}.section-heading>p{max-width:270px;font-size:11px}.projects-grid{gap:24px}.project-title{font-size:16px}.contact-inner{gap:45px}.contact-copy>p{font-size:11px}.contact-details{font-size:10px}.site-footer{gap:22px;flex-wrap:wrap}.site-footer>p{max-width:180px}.site-footer .back-top{display:none}}
@media(max-width:560px){:root{--gutter:22px;scroll-padding-top:28px}.review-bar{font-size:9px;padding-top:10px;padding-bottom:10px}.review-secondary{display:none}.hero{grid-template-columns:1fr;gap:28px;padding-top:25px}.hero h1{font-size:clamp(40px,11vw,62px);margin:20px 0}.hero-description{max-width:440px;font-size:12px;line-height:1.85}.hero-actions{flex-wrap:nowrap;gap:22px}.hero-footnote{display:none}.hero-visual>img{aspect-ratio:1.1;max-height:480px;object-fit:cover}.hero-visual figcaption{flex-direction:row;align-items:center;padding:17px;font-size:7px}.visual-topline{font-size:7px}.visual-topline>span:last-child{display:block}.custom-section{grid-template-columns:1fr;gap:30px}.custom-section .eyebrow{margin-bottom:20px}.custom-section h2{font-size:36px;max-width:370px}.section-copy p{font-size:12px}.custom-section figure{max-height:340px}.custom-section img{aspect-ratio:1.25}.section-space{padding-top:60px;padding-bottom:60px}.section-intro h2{font-size:36px}.service-row h3{font-size:15px}.service-row summary{gap:10px}.service-row>p{padding-left:40px;padding-right:20px;font-size:12px}.process-heading{display:block}.process-heading h2{font-size:35px;margin:24px 0 18px}.process-heading>p:last-child{max-width:330px;font-size:12px}.process-list{grid-template-columns:1fr 1fr;margin-top:38px;row-gap:30px}.process-list h3{margin-top:18px;font-size:15px}.process-list p{font-size:11px}.section-heading{display:block}.section-heading h2{font-size:36px}.section-heading>p{margin-top:22px;max-width:350px;font-size:12px}.projects-grid{grid-template-columns:1fr;gap:34px}.project-title{font-size:19px}.project-info{margin-top:18px}.project-filters{margin-top:25px}.project-category{font-size:9px}.project-meta{font-size:10px}.sample-note{font-size:10px}.contact-inner{grid-template-columns:1fr;gap:35px;padding-top:60px;padding-bottom:60px}.contact-section h2{font-size:44px}.contact-copy>p{font-size:12px;max-width:360px}.contact-details{font-size:12px}.contact-section .eyebrow{margin-bottom:24px}.site-footer{display:grid;grid-template-columns:1fr 1fr;gap:28px}.site-footer>p{font-size:9px}.site-footer>a:not(.brand){font-size:10px}.prototype-footnote{font-size:9px}.dialog-content{padding:28px}.dialog-content h2{font-size:28px}.project-dialog>img{max-height:270px}.dialog-close{right:12px;top:12px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.site-header .brand,.site-footer .brand{background:var(--ink);padding:12px 14px;display:grid;place-items:center}.site-header .brand img{width:55px;height:64px;object-position:center}.site-footer .brand img{width:43px;height:50px;object-position:center}.site-header{padding-top:16px;padding-bottom:16px}.brand-fallback{color:var(--bone)}
@media(min-width:561px) and (max-width:800px){.hero{grid-template-columns:1fr;gap:28px}.hero h1{font-size:clamp(50px,8.5vw,68px)}.hero-description{font-size:13px;max-width:500px}.hero-actions{flex-wrap:nowrap}.hero-visual>img{aspect-ratio:1.2;max-height:490px;object-fit:cover}.hero-footnote{display:none}.hero-visual figcaption{flex-direction:row;align-items:center;padding:18px}.visual-topline>span:last-child{display:block}.custom-section{grid-template-columns:1fr}.section-copy p{font-size:12px}.custom-section img{max-height:420px;aspect-ratio:1.4}}
@media(max-width:560px){.site-header .brand{padding:10px 12px}.site-header .brand img{width:43px;height:50px}}
.hero.without-image{grid-template-columns:1fr}.hero-visual[hidden],.project-dialog>img[hidden]{display:none}.project-image-placeholder{display:grid;place-items:center;aspect-ratio:1.32;font-size:12px;color:var(--muted);background:var(--stone)}

/* Service groups and their visible scopes. */
.service-heading{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:baseline;gap:20px;padding:28px 0}
.service-row>.service-description{padding:0 35px 28px 50px;margin:0;max-width:none}
.service-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;list-style:none;margin:0;padding:0 0 28px 50px}
.service-items li{position:relative;padding-left:12px;font-size:12px;line-height:1.8;color:var(--body)}
.service-items li:before{content:'';position:absolute;left:0;top:.8em;width:3px;height:3px;background:var(--gold)}
@media(max-width:1100px){.service-items{grid-template-columns:1fr;gap:10px}}
@media(max-width:800px){.service-heading{padding:24px 0}.service-items{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.service-heading{gap:10px}.service-row>.service-description{padding-left:40px;padding-right:20px}.service-items{grid-template-columns:1fr;padding-left:40px;padding-right:20px}}

/* Native horizontal gallery: original cards stay editable in the same order. */
.project-carousel{min-width:0}
.projects-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:34px 0 12px;min-height:44px}
.projects-toolbar .project-filters{margin:0;min-width:0;gap:20px}
.carousel-controls{display:flex;align-items:center;gap:12px;flex-shrink:0}
.carousel-controls[hidden],.carousel-hint[hidden],.carousel-motion[hidden]{display:none}
.carousel-counter{font-size:10px;letter-spacing:.1em;font-variant-numeric:tabular-nums;color:var(--muted);margin-right:8px;white-space:nowrap}
#project-current{color:var(--ink)}
.carousel-arrow{width:44px;height:44px;border:1px solid var(--stone);background:transparent;display:grid;place-items:center;font-size:20px;line-height:1;transition:background .2s,border-color .2s}
.carousel-arrow:hover{background:#e8e4dc;border-color:var(--gold)}
.carousel-motion{display:flex;align-items:center;justify-content:center;gap:8px;border:0;background:transparent;font-size:9px;min-width:88px;min-height:44px;padding:8px;color:var(--muted)}
.carousel-motion:hover{color:var(--ink)}
.motion-mark{display:block;width:7px;height:9px;border-left:2px solid currentColor;border-right:2px solid currentColor}
.carousel-motion[aria-pressed="true"] .motion-mark{width:8px;height:10px;border:0;background:currentColor;clip-path:polygon(0 0,100% 50%,0 100%)}
.projects-grid.project-track{position:relative;display:flex;grid-template-columns:none;gap:28px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-behavior:auto;scrollbar-width:thin;scrollbar-color:var(--gold) transparent;padding:8px 0 17px;touch-action:pan-x pan-y pinch-zoom}
.project-track::-webkit-scrollbar{height:3px}
.project-track::-webkit-scrollbar-thumb{background:var(--gold)}
.project-track::-webkit-scrollbar-track{background:var(--stone)}
.project-track .project-card{flex:0 0 64%;min-width:0}
.project-track .project-image-button img,.project-track .project-image-placeholder{aspect-ratio:1.65;max-height:500px}
.project-track .project-image-button img{height:auto}
.project-carousel.has-overflow .project-image-button{cursor:grab}
.project-track.is-dragging,.project-track.is-dragging *{cursor:grabbing!important;user-select:none}
.project-track.is-dragging .project-image-button img{transform:none}
.project-track .project-info{padding-right:2px}
.project-carousel[data-count="1"] .project-card{flex-basis:100%}
.project-track>.empty-projects{flex:1 0 100%;margin:0}
.carousel-hint{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:12px;font-size:8px;letter-spacing:.08em;color:var(--muted)}
.hint-touch{display:none}
.projects-section .sample-note{margin-top:22px}
@media(max-width:800px){
  .projects-toolbar{align-items:flex-start;gap:16px;flex-wrap:wrap;margin-top:26px}
  .carousel-controls{margin-left:auto;gap:8px}
  .project-track .project-card{flex-basis:78%}
  .projects-grid.project-track{gap:22px}
}
@media(max-width:560px){
  .projects-toolbar{gap:12px;margin-top:22px}
  .projects-toolbar .project-filters{width:100%;gap:18px}
  .carousel-controls{width:100%;justify-content:flex-end;gap:10px}
  .carousel-counter{margin-right:auto}
  .carousel-motion{min-width:80px}
  .project-track .project-card{flex-basis:88%}
  .projects-grid.project-track{gap:18px}
  .project-track .project-image-button img,.project-track .project-image-placeholder{aspect-ratio:1.16}
  .project-track .project-title{font-size:17px}
  .project-track .project-info{gap:14px}
  .carousel-hint{font-size:7px;justify-content:flex-start}
}
@media(hover:none){.hint-desktop{display:none}.hint-touch{display:inline}}

.quote-intro-section{background:#e9e5dc;border-top:1px solid var(--stone);border-bottom:1px solid var(--stone)}
.quote-entry-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:46px}
.quote-entry{display:flex;flex-direction:column;min-width:0;border-top:1px solid var(--gold);padding:26px 0 0;transition:transform .2s}
.quote-entry:hover{transform:translateY(-3px)}
.quote-entry h3{font-size:25px;letter-spacing:-.04em;font-weight:500;margin:24px 0 14px}
.quote-entry>p{font-size:12px;line-height:1.85;color:var(--body);max-width:330px;margin-bottom:30px}
.quote-entry-link{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:10px;font-weight:700;border-top:1px solid #1a1a1826;padding-top:18px;margin-top:auto}
.quote-entry-note{font-size:9px;line-height:1.7;color:var(--muted);margin-top:30px}
@media(max-width:1100px){.quote-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.quote-entry-grid{gap:22px}.quote-entry h3{font-size:21px}.quote-entry>p{font-size:11px}.quote-entry-link{font-size:9px}}
@media(max-width:560px){.quote-entry-grid{grid-template-columns:1fr;gap:32px;margin-top:32px}.quote-entry h3{font-size:27px;margin-top:20px}.quote-entry>p{max-width:350px;margin-bottom:22px;font-size:12px}.quote-entry-link{font-size:10px}.quote-entry-note{font-size:10px}}

/* Homepage presentation. Shared quoting and editing screens keep their own layout. */
.site-home {
  --home-surface: #faf9f6;
  --home-line: #1a1a181a;
  background: var(--bone);
}

.site-home .section-space {
  padding-top: 104px;
  padding-bottom: 104px;
}

.site-home .section-copy h2,
.site-home .section-intro h2,
.site-home .section-heading h2,
.site-home .process-heading h2 {
  font-size: clamp(36px, 4vw, 58px);
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: -.055em;
}

.site-home .section-copy .eyebrow,
.site-home .section-intro .eyebrow,
.site-home .section-heading .eyebrow,
.site-home .process-heading .eyebrow {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .12em;
}

.site-home .text-link {
  min-height: 44px;
  padding-bottom: 8px;
  font-size: 13px;
  font-weight: 600;
  border-bottom-color: var(--home-line);
}

.site-home .custom-section {
  grid-template-columns: .95fr 1.05fr;
  gap: 84px;
  border-bottom: 0;
}

.site-home .custom-section .eyebrow {
  margin-bottom: 28px;
}

.site-home .section-copy p {
  margin-top: 28px;
  max-width: 480px;
  font-size: 15px;
  line-height: 1.9;
}

.site-home .custom-section figure {
  max-height: none;
  border: 1px solid var(--home-line);
  border-radius: 28px;
  background: #e9e5dc;
}

.site-home .custom-section img {
  aspect-ratio: 1.06;
}

.site-home .section-no-image {
  grid-template-columns: 1fr;
  max-width: 960px;
}

.site-home .services-section {
  grid-template-columns: .86fr 1.3fr;
  gap: 72px;
  align-items: start;
}

.site-home .section-intro h2 {
  margin-top: 24px;
}

.site-home .section-intro > p:not(.eyebrow) {
  max-width: 360px;
  margin: 28px 0 18px;
  font-size: 15px;
  line-height: 1.85;
}

.site-home .services-list {
  display: grid;
  gap: 14px;
  border-top: 0;
}

.site-home .service-row {
  border: 1px solid var(--home-line);
  border-radius: 20px;
  background: var(--home-surface);
  overflow: hidden;
  transition: border-color .2s, background .2s;
}

.site-home .service-row:hover,
.site-home .service-row[open] {
  border-color: #8c735566;
  background: #fffefa;
}

.site-home .service-row .service-heading {
  grid-template-columns: 28px minmax(0, 1fr) 22px;
  gap: 18px;
  align-items: center;
  padding: 28px;
  cursor: pointer;
}

.site-home .service-number {
  color: var(--gold-dark);
  font-size: 11px;
  font-weight: 500;
}

.site-home .service-heading h3 {
  font-size: 21px;
  font-weight: 500;
  letter-spacing: -.035em;
}

.site-home .service-toggle {
  font-size: 24px;
  color: var(--gold-dark);
}

.site-home .service-row > .service-description {
  padding: 0 28px 28px 74px;
  font-size: 14px;
  line-height: 1.8;
}

.site-home .service-items {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 24px;
  padding: 0 28px 28px 74px;
}

.site-home .service-items li {
  font-size: 13px;
  line-height: 1.8;
}

.site-home .quote-intro-section {
  border: 0;
  background: transparent;
}

.site-home .quote-intro-section > .wrap {
  border-top: 1px solid var(--home-line);
}

.site-home .section-heading {
  gap: 56px;
}

.site-home .section-heading h2 {
  margin-top: 24px;
}

.site-home .section-heading > p {
  max-width: 390px;
  font-size: 15px;
  line-height: 1.85;
}

.site-home .quote-entry-grid {
  gap: 18px;
  margin-top: 48px;
}

.site-home .quote-entry {
  min-height: 310px;
  padding: 28px 24px 24px;
  border: 1px solid var(--home-line);
  border-radius: 22px;
  background: var(--home-surface);
  transition: transform .2s, border-color .2s, background .2s;
}

.site-home .quote-entry:hover {
  transform: translateY(-4px);
  border-color: #8c735577;
  background: #fffefa;
}

.site-home .quote-entry .eyebrow {
  font-size: 10px;
  letter-spacing: .1em;
}

.site-home .quote-entry h3 {
  margin: 30px 0 18px;
  font-size: 25px;
  line-height: 1.2;
  font-weight: 500;
  letter-spacing: -.04em;
}

.site-home .quote-entry > p {
  margin-bottom: 32px;
  font-size: 14px;
  line-height: 1.8;
}

.site-home .quote-entry-link {
  min-height: 44px;
  padding-top: 18px;
  font-size: 12px;
  font-weight: 600;
  border-top-color: var(--home-line);
}

.site-home .quote-entry-note {
  margin-top: 24px;
  font-size: 12px;
}

.site-home .process-section {
  background: transparent;
  color: var(--ink);
}

.site-home .process-section > .wrap {
  border-top: 1px solid var(--home-line);
}

.site-home .process-heading {
  grid-template-columns: 1.2fr 1fr;
  gap: 26px 56px;
}

.site-home .process-heading .eyebrow {
  color: var(--gold-dark);
}

.site-home .process-heading > p:last-child {
  max-width: 350px;
  color: var(--body);
  font-size: 15px;
  line-height: 1.85;
}

.site-home .process-list {
  gap: 18px;
  margin-top: 48px;
}

.site-home .process-list li {
  padding: 28px 24px;
  border: 1px solid var(--home-line);
  border-radius: 22px;
  background: #eae6dd;
}

.site-home .process-number {
  color: var(--gold-dark);
  font-size: 12px;
  font-weight: 500;
}

.site-home .process-list h3 {
  margin: 36px 0 14px;
  font-size: 21px;
  font-weight: 500;
  letter-spacing: -.035em;
}

.site-home .process-list p {
  max-width: 240px;
  color: var(--body);
  font-size: 14px;
  line-height: 1.8;
}

.site-home .projects-toolbar {
  margin: 38px 0 18px;
}

.site-home .project-filters {
  gap: 12px;
}

.site-home .project-filters button {
  min-height: 44px;
  padding: 10px 18px;
  border: 1px solid var(--home-line);
  border-radius: 999px;
  font-size: 12px;
  line-height: 1.5;
}

.site-home .project-filters button[aria-pressed="true"] {
  border-color: var(--ink);
  background: var(--ink);
  color: var(--bone);
  font-weight: 500;
}

.site-home .carousel-counter {
  font-size: 12px;
}

.site-home .carousel-arrow {
  border-radius: 50%;
}

.site-home .carousel-motion {
  font-size: 11px;
}

.site-home .projects-grid.project-track {
  gap: 28px;
  padding-top: 8px;
  padding-bottom: 22px;
}

.site-home .project-track .project-card {
  flex-basis: 64%;
}

.site-home .project-image-button,
.site-home .project-image-placeholder {
  border-radius: 26px;
}

.site-home .project-track .project-image-button img,
.site-home .project-track .project-image-placeholder {
  aspect-ratio: 1.5;
  max-height: 560px;
}

.site-home .project-open {
  width: 44px;
  height: 44px;
  right: 22px;
  bottom: 22px;
  border-radius: 50%;
  font-size: 21px;
}

.site-home .project-info {
  padding-bottom: 22px;
  border-bottom: 1px solid var(--home-line);
  margin-top: 24px;
}

.site-home .project-category {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .1em;
}

.site-home .project-title {
  font-size: 26px;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: -.045em;
}

.site-home .project-meta,
.site-home .project-index {
  font-size: 12px;
}

.site-home .carousel-hint,
.site-home .sample-note {
  font-size: 11px;
  line-height: 1.75;
}

.site-home .empty-projects {
  font-size: 15px;
}

.site-home .contact-section {
  width: calc(100% - var(--gutter) * 2);
  max-width: calc(var(--max) - var(--gutter) * 2);
  margin: 0 auto 28px;
  border-radius: 30px;
  overflow: hidden;
  background: var(--ink);
  color: var(--bone);
}

.site-home .contact-inner {
  grid-template-columns: 1.2fr 1fr;
  gap: 72px;
  padding: 72px clamp(28px, 4vw, 64px);
}

.site-home .contact-section .eyebrow {
  margin-bottom: 30px;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .12em;
}

.site-home .contact-section h2 {
  font-size: clamp(38px, 4.5vw, 64px);
  font-weight: 500;
  letter-spacing: -.055em;
  line-height: 1.08;
}

.site-home .contact-copy > p {
  max-width: 340px;
  font-size: 15px;
  line-height: 1.85;
}

.site-home .contact-copy .button {
  min-height: 54px;
  padding: 17px 24px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
}

.site-home .contact-details {
  gap: 16px;
  margin-top: 32px;
  font-size: 13px;
  line-height: 1.7;
}

.site-home .contact-details a {
  min-height: 30px;
}

.site-home .site-footer {
  padding-top: 40px;
  padding-bottom: 40px;
  gap: 32px;
}

.site-home .site-footer .brand {
  width: max-content;
  justify-self: start;
  border-radius: 14px;
}

.site-home .site-footer > p {
  font-size: 12px;
  line-height: 1.8;
}

.site-home .site-footer > a:not(.brand) {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 12px;
}

.site-home .prototype-footnote {
  border-top-color: var(--home-line);
  font-size: 11px;
  padding-top: 18px;
  padding-bottom: 26px;
}

.site-home .project-dialog {
  border-radius: 24px;
}

.site-home .project-dialog > img {
  max-height: 420px;
}

.site-home .dialog-close {
  min-height: 44px;
  border-radius: 999px;
  font-size: 12px;
}

.site-home .dialog-content {
  padding: 40px;
}

.site-home .dialog-content h2 {
  font-size: 36px;
  font-weight: 500;
}

.site-home .dialog-content > p:last-of-type {
  font-size: 15px;
  line-height: 1.85;
}

@media (max-width: 1100px) {
  .site-home .custom-section {
    gap: 52px;
  }

  .site-home .services-section {
    grid-template-columns: .85fr 1.25fr;
    gap: 44px;
  }

  .site-home .service-items {
    grid-template-columns: 1fr;
  }

  .site-home .quote-entry-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .site-home .quote-entry {
    min-height: 280px;
  }

  .site-home .contact-inner {
    gap: 44px;
  }
}

@media (max-width: 800px) {
  .site-home .section-space {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .site-home .custom-section,
  .site-home .services-section {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .site-home .custom-section h2,
  .site-home .section-copy p {
    max-width: 620px;
  }

  .site-home .custom-section img {
    aspect-ratio: 1.35;
    max-height: 520px;
  }

  .site-home .section-intro > p:not(.eyebrow) {
    max-width: 560px;
  }

  .site-home .service-items {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .site-home .section-heading {
    display: block;
  }

  .site-home .section-heading > p {
    margin-top: 26px;
    max-width: 560px;
  }

  .site-home .process-heading {
    display: block;
  }

  .site-home .process-heading h2 {
    margin: 26px 0;
  }

  .site-home .process-heading > p:last-child {
    max-width: 560px;
  }

  .site-home .process-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .site-home .project-track .project-card {
    flex-basis: 78%;
  }

  .site-home .contact-inner {
    grid-template-columns: 1fr;
    gap: 40px;
    padding: 56px 36px;
  }

  .site-home .site-footer {
    gap: 28px;
    flex-wrap: wrap;
  }
}

@media (max-width: 560px) {
  .site-home .section-space {
    padding-top: 64px;
    padding-bottom: 64px;
  }

  .site-home .section-copy h2,
  .site-home .section-intro h2,
  .site-home .section-heading h2,
  .site-home .process-heading h2 {
    font-size: 37px;
  }

  .site-home .section-copy p,
  .site-home .section-intro > p:not(.eyebrow),
  .site-home .section-heading > p,
  .site-home .process-heading > p:last-child {
    font-size: 14px;
  }

  .site-home .custom-section figure {
    border-radius: 22px;
  }

  .site-home .custom-section img {
    aspect-ratio: 1.18;
  }

  .site-home .service-row .service-heading {
    grid-template-columns: 22px minmax(0, 1fr) 20px;
    gap: 12px;
    padding: 23px 22px;
  }

  .site-home .service-heading h3 {
    font-size: 19px;
  }

  .site-home .service-items {
    grid-template-columns: 1fr;
    padding: 0 22px 24px 56px;
  }

  .site-home .service-row > .service-description {
    padding: 0 22px 24px 56px;
    font-size: 13px;
  }

  .site-home .quote-entry-grid {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 34px;
  }

  .site-home .quote-entry {
    min-height: 240px;
    padding: 26px;
  }

  .site-home .quote-entry h3 {
    margin-top: 26px;
    font-size: 28px;
  }

  .site-home .quote-entry > p {
    max-width: none;
    font-size: 14px;
  }

  .site-home .quote-entry-note {
    font-size: 11px;
  }

  .site-home .process-list {
    gap: 14px;
    margin-top: 34px;
  }

  .site-home .process-list li {
    padding: 22px 18px;
    border-radius: 18px;
  }

  .site-home .process-list h3 {
    margin-top: 28px;
    font-size: 18px;
  }

  .site-home .process-list p {
    font-size: 13px;
    line-height: 1.75;
  }

  .site-home .projects-toolbar {
    gap: 16px;
    margin-top: 30px;
  }

  .site-home .projects-toolbar .project-filters {
    gap: 10px;
  }

  .site-home .carousel-controls {
    gap: 10px;
  }

  .site-home .project-track .project-card {
    flex-basis: 88%;
  }

  .site-home .projects-grid.project-track {
    gap: 18px;
  }

  .site-home .project-track .project-image-button img,
  .site-home .project-track .project-image-placeholder {
    aspect-ratio: 1.15;
  }

  .site-home .project-image-button {
    border-radius: 22px;
  }

  .site-home .project-title {
    font-size: 23px;
  }

  .site-home .project-info {
    gap: 16px;
  }

  .site-home .project-category,
  .site-home .project-meta,
  .site-home .project-index {
    font-size: 11px;
  }

  .site-home .contact-section {
    border-radius: 24px;
    margin-bottom: 12px;
  }

  .site-home .contact-inner {
    padding: 44px 26px;
    gap: 32px;
  }

  .site-home .contact-section h2 {
    font-size: 38px;
  }

  .site-home .contact-copy > p {
    font-size: 14px;
  }

  .site-home .contact-copy .button {
    width: 100%;
    gap: 18px;
    padding: 16px 20px;
    font-size: 12px;
  }

  .site-home .contact-details {
    font-size: 12px;
  }

  .site-home .site-footer {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding-top: 38px;
    padding-bottom: 28px;
    gap: 24px;
  }

  .site-home .site-footer > p {
    font-size: 11px;
  }

  .site-home .prototype-footnote {
    font-size: 10px;
  }

  .site-home .dialog-content {
    padding: 28px;
  }

  .site-home .dialog-content h2 {
    font-size: 30px;
  }

  .site-home .dialog-content > p:last-of-type {
    font-size: 14px;
  }
}

.site-home .project-carousel[data-count="1"] .project-card {
  flex-basis: 100%;
}
