/* Readability and spacing: preserve the full-screen composition at every size. */
:root{--gold:#9a8257}
.brand{position:relative;width:184px;height:48px;display:block}
.brand .brand-logo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity .6s}
.brand .logo-dark{opacity:0}
html[data-scene='1'] .brand .logo-dark,html[data-scene='3'] .brand .logo-dark{opacity:1}
html[data-scene='1'] .brand .logo-light,html[data-scene='3'] .brand .logo-light{opacity:0}
.hero-actions{display:flex;align-items:center;justify-content:center;gap:32px;margin-top:29px}
.hero-actions .line-link{margin-top:0}
.hero-project-link{font-size:14px;color:#bcb5a8;padding-bottom:10px;letter-spacing:.5px}
.hero-project-link span{margin-left:10px;color:var(--gold-bright)}
.hero .hero-actions .line-link{margin-top:0}
.photo-disclaimer{display:none}
.project-visual{align-self:center;width:calc(100% - 8px);height:auto;aspect-ratio:1586/992;max-height:100%}
.project-image-button img{transform:scale(1);object-fit:contain}
.project-image-button:hover img{transform:scale(1.025)}
.project-dialog>img{object-fit:contain;background:#101010}
.contact-actions{display:flex;align-items:center;justify-content:center;gap:40px;margin-top:30px}
.contact-actions .contact-cta{margin-top:0}
.contact-phone{text-align:left}
.contact-phone>span{display:block;font-size:12px;letter-spacing:2px;color:#b5a487;margin-bottom:7px}
.contact-phone a{font-size:32px;font-weight:300;letter-spacing:1px;color:#f0e6d4;white-space:nowrap}
.contact-phone a:hover{color:var(--gold-bright)}
.contact-dialog{width:min(480px,92vw)}
.contact-dialog .form-note a{white-space:nowrap;text-decoration:underline;text-underline-offset:3px}
.brand small{font-size:12px;letter-spacing:1.2px;line-height:1.1}
.desktop-nav{font-size:14px;gap:38px}
.eyebrow{font-size:12px;letter-spacing:2px}
.gold-label{font-size:14px;letter-spacing:1.5px;color:#92753f}
.body-copy,.about .body-copy,.service-heading .body-copy{font-size:15px;line-height:1.95;color:#62615d;font-weight:400}
.screen-top>span{font-size:13px;color:#78766f}
.screen-top .eyebrow{font-size:12px;letter-spacing:1.6px}
.hero-meta{font-size:13px;color:#c0bcb5;letter-spacing:2px}
.hero-meta>span:last-child{font-size:12px;color:#9b968e;letter-spacing:1.8px}
.hero-center>.eyebrow{font-size:12px;letter-spacing:3px;color:#c5b28b}
.hero-description{font-size:16px;letter-spacing:2px;color:#d1cdc6;font-weight:400}
.hero-signature{font-size:15px;letter-spacing:3px;color:#c5bfb4;font-weight:400}
.signature-line{width:80px;background:linear-gradient(90deg,transparent,#9a805866)}
.hero .line-link,.line-link,.project-info .line-link,.service-bottom .line-link{font-size:14px}
.side-inscription{font-size:12px;letter-spacing:1.5px;left:19px;color:#9b917e}
.page-readout,.page-readout #screen-label{font-size:12px;color:#b7b0a3}
.page-rail a span{font-size:12px}
.next-screen,.next-label{font-size:14px;color:#c4bcaf;letter-spacing:1.2px}
.next-screen>span:last-child{font-size:22px}
.motion-toggle{font-size:12px;color:#b2a68f;letter-spacing:.5px}
html[data-scene='1'] .page-readout,html[data-scene='3'] .page-readout,
html[data-scene='1'] #screen-label,html[data-scene='3'] #screen-label,
html[data-scene='1'] .next-screen,html[data-scene='3'] .next-screen,
html[data-scene='1'] .next-label,html[data-scene='3'] .next-label,
html[data-scene='1'] .motion-toggle,html[data-scene='3'] .motion-toggle{color:#776649}
.photo-caption{font-size:12px;letter-spacing:1px;color:#736c5b}
.about-values span{font-size:14px;color:#59574f}
.about-values b{font-size:12px;color:#947943}
.project-description-group .eyebrow{font-size:12px;letter-spacing:1.7px;color:#bba572}
.project-info #project-description{font-size:15px;line-height:1.9;color:#c1bbb0;font-weight:400}
.project-info #project-type{font-size:13px;letter-spacing:1px;color:#c3aa75}
.project-index{font-size:13px;color:#a49a8a}
.image-note{font-size:12px;letter-spacing:1.2px;color:#f1ede5;text-shadow:0 1px 5px #0009}
.concept-note{font-size:12px;color:#9d9382;letter-spacing:.5px}
.service-name small{font-size:12px;letter-spacing:1.4px;color:#81735c}
.service-panel h4{font-size:16px}
.service-panel p{font-size:14px;line-height:1.9;color:#68635b}
.service-detail{font-size:12px;color:#8a713f;letter-spacing:.4px}
.service-bottom>span{font-size:12px;letter-spacing:1.4px;color:#7e735f}
.contact-center .gold-label{font-size:14px;color:#c0a36c}
.contact-cta{font-size:15px;color:#dbc9a6}
.contact-footer{font-size:13px;color:#b9b1a3;line-height:1.9}
.contact-footer .company-name{font-size:15px;color:#e0d9cb}
.contact-footer #address-status{font-size:12px}
.legal{font-size:12px;color:#a59a88;letter-spacing:.3px}
.dialog-copy>p:not(.eyebrow){font-size:15px;color:#615b51}
.dialog-copy .dialog-disclaimer{font-size:12px!important}
.dialog-copy .line-link{font-size:14px}
.contact-dialog form label{font-size:14px;color:#696054}
.contact-dialog input,.contact-dialog select,.contact-dialog textarea{font-size:16px}
.contact-dialog input::placeholder,.contact-dialog textarea::placeholder{font-size:14px;color:#8d8475}
.submit-button{font-size:14px}
.form-note,#form-status{font-size:12px;color:#786b57}
@media(min-width:1700px){.body-copy,.about .body-copy,.service-heading .body-copy,.project-info #project-description{font-size:17px}.service-panel p{font-size:16px}.hero-signature{font-size:16px}.desktop-nav{font-size:15px}}
@media(max-width:1100px){.desktop-nav{gap:25px}.desktop-nav a>span{margin-left:12px}.hero-signature{letter-spacing:2px}.body-copy,.about .body-copy,.service-heading .body-copy{font-size:14px}.about-layout{gap:4.5vw}.about-values{gap:9px}.about-values span{font-size:13px}.project-layout{gap:32px}.project-info #project-description{font-size:14px}.service-grid{gap:24px}.service-detail{letter-spacing:0}}
@media(max-height:740px) and (min-width:761px){.about h2{font-size:clamp(52px,5.4vw,76px)}.hero-description{margin-top:20px}.hero-center>.eyebrow{margin-bottom:18px}.hero h1{font-size:clamp(70px,8.1vw,108px)}.service-heading .body-copy{font-size:14px}.service-panel p{font-size:14px;line-height:1.8;margin-top:8px}.service-detail{margin-top:12px}.project-info #project-type{margin:14px 0}.contact-cta{font-size:14px}.contact-footer .company-name{margin-bottom:4px}}
@media(max-width:760px){
  .contact-actions{gap:20px;margin-top:26px}.contact-phone a{font-size:24px;letter-spacing:.3px}.contact-phone>span{letter-spacing:1px;margin-bottom:5px}.contact-actions .contact-cta{gap:12px;padding:10px 12px;font-size:14px}.contact-actions .cta-arrow{width:26px}
  .brand{width:166px;height:43px}.hero-actions{margin-top:28px;gap:24px}.hero-actions .line-link{margin-top:0}.hero-project-link{font-size:13px}
  .brand small{font-size:12px;letter-spacing:.3px}.brand>span{gap:5px}
  .screen-top{gap:12px;margin-bottom:23px}.screen-top .eyebrow{font-size:12px;letter-spacing:.7px}.screen-top>span{font-size:12px;letter-spacing:0}.screen-top h2{font-size:14px}
  .hero-meta{font-size:12px;letter-spacing:1.5px}.hero-center>.eyebrow{font-size:12px;letter-spacing:1.2px;line-height:1.7;margin-bottom:26px}
  .hero-description{font-size:14px;letter-spacing:.5px;margin-top:25px}.hero .line-link{font-size:14px;margin-top:27px}
  .hero-signature{font-size:13px;letter-spacing:1px;gap:13px}.signature-line{width:22px}
  .page-readout{gap:8px}.page-readout>span:first-child{font-size:18px}.readout-divider{width:15px}
  .next-screen{gap:8px;padding:7px 0}.next-label{display:inline;font-size:12px;letter-spacing:0}.next-screen .scroll-icon{display:none}.next-screen>span:last-child{font-size:19px}
  .motion-toggle{font-size:12px;gap:7px}.motion-bars{height:15px}
  .about .gold-label{font-size:14px;letter-spacing:.5px}.about .body-copy{font-size:14px;line-height:1.85}.about-values span{font-size:13px}.about-values b{font-size:12px}
  .project-layout{gap:23px;justify-content:center}.project-info{gap:16px;flex:0 0 auto}.project-visual{flex:1 1 0;width:calc(100% - 7px);max-height:calc((100vw - 53px)*.625)}.project-description-group .eyebrow{font-size:12px;letter-spacing:1px}.project-info h3{margin:9px 0 11px}
  .photo-disclaimer{display:block;position:absolute;bottom:9px;right:9px;padding:5px 7px;font-size:12px;line-height:1.4;background:#101010c9;color:#f5f5f3;letter-spacing:.2px}
  .project-info #project-description{font-size:14px;line-height:1.8}.project-info #project-type{font-size:12px;margin:12px 0}.project-info .line-link{font-size:13px;gap:18px}
  .image-note{font-size:12px;left:16px;bottom:17px;letter-spacing:.3px}.concept-note{font-size:12px;margin-top:16px;letter-spacing:0}
  .service-heading{margin:4px 0 23px}.service-heading .body-copy{font-size:14px;line-height:1.8;margin-top:18px}
  .service-grid{gap:20px;padding-bottom:170px}.service-item h3 button{padding:18px 0;gap:12px}.service-name small{font-size:12px;letter-spacing:.5px}
  .service-panel{top:136px}.service-panel h4{font-size:16px}.service-panel p{font-size:14px;line-height:1.8;margin-top:9px}.service-detail{font-size:12px;margin-top:13px}
  .service-bottom{margin-top:16px;padding-top:14px;gap:14px}.service-bottom>span{font-size:12px;letter-spacing:.5px;max-width:126px;line-height:1.7}.service-bottom .line-link{font-size:13px;gap:12px}
  .contact-center .gold-label{font-size:13px;letter-spacing:.5px}.contact-cta{font-size:14px;gap:28px}
  .contact-footer{font-size:12px}.contact-footer .company-name{font-size:14px}.legal{font-size:12px;gap:3px;margin-top:15px;line-height:1.8}
  .dialog-copy>p:not(.eyebrow){font-size:14px}.dialog-copy .line-link{font-size:14px}.contact-dialog>.eyebrow{font-size:12px;letter-spacing:1px}
}
@media(max-width:480px){
  .about-visual{display:flex;flex-direction:column;gap:0;padding-top:0;justify-content:flex-start}.about-visual .photo-frame{width:100%;max-height:255px;flex:1;min-height:0}.about-visual .photo-frame img{object-position:center;object-fit:cover}
  .about-visual .about-values{display:flex;flex-direction:row;justify-content:space-between;gap:12px;flex-shrink:0;border-top:1px solid #dbd9d2;margin-top:17px;padding-top:12px}.about-values b{display:block;margin:0 0 5px}
  .hero-description{max-width:310px;margin-left:auto;margin-right:auto;line-height:1.9}.hero-center>.eyebrow{letter-spacing:2px}.service-bottom>span{max-width:none;letter-spacing:0}
  .about-layout{gap:22px}.about h2{font-size:44px;line-height:1.1;margin:14px 0 16px}.about .body-copy{font-size:14px;line-height:1.85}
  .about-visual{grid-template-columns:1.18fr 1fr;gap:21px}.about-values{gap:16px}.about-values span{font-size:13px}.about-values b{font-size:12px;margin-right:7px}
  .hero h1{font-size:54px}.hero h1>span:first-child{margin-left:-.3em}.hero h1>span:nth-child(2){margin-right:-.4em}
  .hero-center>.eyebrow{max-width:275px;margin-left:auto;margin-right:auto;letter-spacing:1.1px}.hero-signature{letter-spacing:.5px}
  .service-heading h2{font-size:43px}.service-heading .body-copy br{display:none}.service-heading .body-copy{max-width:330px}
  .next-label{display:inline}.next-screen .scroll-icon{display:none}.contact h2{font-size:39px}
}
@media(max-height:700px) and (max-width:760px){
  .contact-actions{margin-top:22px;gap:18px}.contact-actions .contact-cta{margin-top:0}
  .hero-actions{margin-top:20px}.hero-actions .line-link{margin-top:0}.about-visual .about-values{margin-top:12px;padding-top:9px}.about-values b{margin-bottom:3px}
  .screen{padding-top:calc(var(--header) + 18px);padding-bottom:calc(var(--bottom) + 16px)}.screen-top{margin-bottom:17px}
  .hero h1{font-size:clamp(43px,11.7vw,59px)}.hero-center>.eyebrow{margin-bottom:18px}.hero-description{margin-top:18px}.hero .line-link{margin-top:20px}.hero-signature{font-size:12px}
  .about h2{font-size:35px;line-height:1.07;margin:11px 0 13px}.about-layout{gap:16px}.about .body-copy{font-size:13px;line-height:1.8}.about-visual{gap:17px}.about-values{gap:12px}
  .service-heading{margin:0 0 16px}.service-heading h2{font-size:34px}.service-heading .body-copy{font-size:13px;line-height:1.7;margin-top:12px}
  .service-item h3 button{padding:13px 0;gap:7px}.service-number{font-size:24px}.service-name{font-size:19px}.service-panel{top:108px}.service-panel h4{font-size:14px}.service-panel p{font-size:13px;line-height:1.7;margin-top:8px}.service-detail{font-size:12px;margin-top:9px}.service-grid{padding-bottom:150px}.service-bottom{margin-top:10px;padding-top:10px}
  .project-layout{gap:18px}.project-info h3{font-size:26px;margin:7px 0}.project-info #project-description{font-size:13px;line-height:1.7}.project-info #project-type{font-size:12px;margin:9px 0}.concept-note{font-size:12px;margin-top:13px}
  .contact h2{font-size:34px}.contact-center .gold-label{font-size:12px;margin-bottom:18px}.contact-cta{font-size:14px;margin-top:21px;padding:8px 13px 8px 21px}.contact-center{padding-bottom:16px}.legal{margin-top:12px}
}
@media(max-height:850px) and (min-width:761px){
  .service-heading{margin:0 0 18px}.service-heading h2{font-size:clamp(42px,4.5vw,66px)}.service-grid{margin-top:0}.service-item h3 button{padding:18px 0}
}
@media(max-height:490px) and (min-width:500px){
  .contact-actions{margin-top:12px;gap:30px}.contact-phone a{font-size:23px}.contact-phone>span{display:none}.contact-actions .contact-cta{padding:4px 14px;margin-top:0}
  .brand{width:155px;height:40px}.screen-top{margin-bottom:12px}.screen-top h2{font-size:14px}.hero-center{padding:0}.hero h1{font-size:38px;line-height:1.1}.hero-center>.eyebrow{margin-bottom:9px;font-size:12px}.hero-description{font-size:13px;line-height:1.7;margin-top:10px}.hero-actions{margin-top:14px}.hero .hero-actions .line-link{padding-bottom:6px;font-size:13px}.hero-project-link{padding-bottom:6px}.side-inscription{display:none}
  .about h2{font-size:29px;line-height:1.08;margin:9px 0}.about .gold-label{font-size:12px}.about .body-copy{font-size:12px;line-height:1.7}.about .body-copy br{display:none}.about-visual{padding-top:0}.photo-frame{min-height:0;max-height:100%}.photo-caption{display:none}
  .project-layout{display:grid;grid-template-columns:1.45fr 1fr;gap:24px}.project-visual{width:100%;height:100%;max-height:100%;margin:0}.project-info{gap:10px}.project-info h3{font-size:23px;margin:5px 0}.project-info #project-description{font-size:12px;line-height:1.7}.project-info #project-type{font-size:12px;margin:6px 0}.project-info .line-link{font-size:12px;padding-bottom:4px}.concept-note{font-size:12px;margin-top:10px}.image-note{bottom:10px;font-size:12px}
  .services{display:grid;grid-template-columns:.8fr 1.2fr;grid-template-rows:20px minmax(0,1fr) 27px;column-gap:28px;row-gap:12px}.services .screen-top{grid-column:1/-1;margin:0}.service-heading{display:block;margin:0;align-self:center}.service-heading h2{font-size:29px;line-height:1.15}.service-heading .body-copy{font-size:12px;line-height:1.7;margin-top:10px}.service-heading .body-copy br{display:none}.service-grid{display:flex;gap:16px;margin:0;padding-bottom:0;position:relative}.service-item h3 button{flex-direction:row;gap:8px;padding:10px 0}.service-number{font-size:20px}.service-name{font-size:16px;letter-spacing:0}.service-name small{font-size:12px;margin-top:3px}.service-panel{position:absolute;top:65px;left:0;right:0;padding:0}.service-panel h4{font-size:14px}.service-panel p{font-size:12px;line-height:1.7;margin-top:6px}.service-detail{display:block;font-size:12px;margin-top:7px}.service-bottom{grid-column:1/-1;margin:0;padding-top:8px}.service-bottom>span,.service-bottom .line-link{font-size:12px}
  .contact .screen-top{margin-bottom:8px}.contact-center{padding-bottom:8px}.contact h2{font-size:30px;line-height:1.15}.contact-center .gold-label{font-size:12px;margin-bottom:10px}.contact-cta{font-size:13px;margin-top:12px;padding:4px 14px}.contact-footer{font-size:12px;line-height:1.7}.contact-footer .company-name{font-size:14px;margin-bottom:2px}.legal{font-size:12px;line-height:1.6;margin:0}
}

/* Brand-manual philosophy and a shared alignment axis for the closing screen. */
.about .about-copy h2{font-size:clamp(40px,4.1vw,70px);font-weight:300;line-height:1.4;letter-spacing:.01em;margin:20px 0 25px}
.about .about-copy h2>span{display:block;white-space:nowrap}
.contact .contact-center{align-self:center;width:max-content;max-width:100%;margin:auto;text-align:left;padding:16px 0 28px}
.contact .contact-center>.gold-label{margin:0 0 22px;letter-spacing:1.3px}
.contact .contact-center h2{font-size:clamp(52px,5.6vw,92px);font-weight:300;line-height:1.35;letter-spacing:.025em;text-shadow:none}
.contact-title-line{display:block;white-space:nowrap}
.contact-point{color:var(--gold-bright)}
.contact .contact-actions{display:grid;grid-template-columns:1fr auto;gap:10px 36px;align-items:center;justify-content:stretch;width:100%;margin-top:32px;padding-top:24px;border-top:1px solid #b7a88a30}
.contact .contact-phone{display:contents}
.contact .contact-phone>span{grid-column:1;grid-row:1;margin:0;font-size:12px;line-height:1.4;letter-spacing:1.5px}
.contact .contact-phone a{grid-column:1;grid-row:2;font-size:32px;line-height:1.2;letter-spacing:1px}
.contact .contact-actions .contact-cta{grid-column:2;grid-row:2;margin:0;padding:12px 20px;min-height:52px;gap:32px;font-size:14px;letter-spacing:.5px;line-height:1.2}
.contact .contact-actions .cta-arrow{width:24px;height:24px;font-size:25px}
@media(max-width:1100px){.about .about-copy h2{font-size:clamp(31px,3.9vw,45px)}}
@media(max-width:760px){
  .about .about-copy h2{font-size:clamp(31px,7.5vw,47px);line-height:1.3;margin:14px 0 18px}
  .about .about-copy>.gold-label{font-size:13px;letter-spacing:.3px}
  .contact .contact-center{width:100%;padding:12px 0 23px}
  .contact .contact-center h2{font-size:clamp(34px,9.1vw,62px);line-height:1.4;letter-spacing:.01em}
  .contact .contact-center>.gold-label{font-size:12px;letter-spacing:.3px;margin-bottom:18px}
  .contact .contact-actions{column-gap:14px;row-gap:8px;margin-top:25px;padding-top:20px}
  .contact .contact-phone a{font-size:24px;letter-spacing:0}
  .contact .contact-actions .contact-cta{gap:13px;padding:10px 12px;min-height:46px;font-size:13px}
  .contact .contact-actions .cta-arrow{width:20px;height:20px;font-size:21px}
}
@media(max-height:700px) and (max-width:760px){
  .about .about-copy h2{font-size:31px;line-height:1.28;margin:11px 0 15px}
  .contact .contact-center{padding:8px 0 18px}
  .contact .contact-center h2{font-size:34px;line-height:1.3}
  .contact .contact-center>.gold-label{margin-bottom:15px}
  .contact .contact-actions{margin-top:21px;padding-top:17px}
}
@media(max-height:490px) and (min-width:500px){
  .about .about-copy h2{font-size:27px;line-height:1.2;margin:9px 0 13px}
  .contact .contact-center{width:max-content;padding:0 0 10px}
  .contact .contact-center h2{font-size:31px;line-height:1.2}
  .contact .contact-center>.gold-label{margin-bottom:9px}
  .contact .contact-actions{margin-top:10px;padding-top:9px;gap:7px 27px}
  .contact .contact-phone>span{display:none}
  .contact .contact-phone a{font-size:23px}
  .contact .contact-actions .contact-cta{min-height:35px;padding:5px 13px}
}
