:root{font-family:Arial,Helvetica,sans-serif;color:#142b38;background:#f5f6f4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:inherit}header{height:76px;background:#102636;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 5vw}.logo{font-weight:800;letter-spacing:.06em;font-size:18px;text-decoration:none}.logo span{color:#d7b583}.nav{display:flex;gap:28px;align-items:center;font-size:14px}.nav a{text-decoration:none}.nav .contact{border:1px solid #c8a977;padding:11px 19px;border-radius:3px}.hero{background:#102636;color:#fff;min-height:620px;display:grid;grid-template-columns:54% 46%;overflow:hidden}.hero-copy{padding:76px 5vw;position:relative;z-index:1}.eyebrow{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:#d7b583;font-weight:800}.hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(38px,4.4vw,70px);line-height:1.13;letter-spacing:-.035em;max-width:780px;margin:24px 0}.hero h1 em{font-style:normal;color:#dfc299}.lead{font-size:18px;line-height:1.7;color:#d7e0e2;max-width:570px}.actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:34px}.button{background:#d7b583;color:#102636;text-decoration:none;font-weight:800;padding:17px 24px;display:inline-block;border-radius:3px}.button:hover{background:#e9c99a}.textlink{text-decoration:none;border-bottom:1px solid #a5b6bd;padding:8px 0}.hero-photo{background:linear-gradient(90deg,rgba(16,38,54,.12),rgba(16,38,54,.05)),url('architecture.png') center/cover;background-color:#506977;min-height:420px}.hero-note{font-size:12px;color:#9bb0b9;margin-top:34px}.wrap{max-width:1320px;margin:auto;padding:90px 5vw}.section-head{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:35px}h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(30px,3vw,45px);font-weight:400;line-height:1.2;margin:10px 0}.sub{max-width:540px;line-height:1.7;color:#52646c}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.city{background:#fff;border:1px solid #e2e7e6;padding:33px;min-height:245px;display:flex;flex-direction:column}.city small{color:#9c7b52;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:800}.city h3{font-family:Georgia,"Times New Roman",serif;font-size:25px;font-weight:400;margin:24px 0 8px}.city p{line-height:1.65;color:#56666e;margin:0}.city a{margin-top:auto;padding-top:24px;color:#9a7345;text-decoration:underline;text-underline-offset:4px;font-weight:700}.dark{background:#173542;color:#fff}.dark .wrap{padding-top:80px;padding-bottom:80px}.dark h2{max-width:700px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:40px}.step{border-top:1px solid #54707b;padding-top:22px}.step b{color:#d7b583;font-size:14px}.step h3{font-size:20px;margin:17px 0 9px}.step p{line-height:1.65;color:#c3d2d6;margin:0}.offer{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.offer strong{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(85px,12vw,180px);line-height:1;color:#b38e5d;letter-spacing:-.08em}.offer p{line-height:1.7;color:#52646c}.fine{font-size:13px;color:#667981}.about{border-top:1px solid #dde4e2}.about-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:60px}.about p{line-height:1.8;color:#52646c;font-size:17px}.footer{background:#102636;color:white;padding:65px 5vw 32px}.footer-inner{max-width:1200px;margin:auto;display:flex;justify-content:space-between;gap:30px;align-items:end}.footer h2{max-width:700px}.footer p{color:#b8c9ce;line-height:1.6}.footnote{border-top:1px solid #37515d;margin:55px auto 0;padding-top:22px;max-width:1200px;font-size:12px;color:#a8bbc2}.pending{font-size:14px;color:#a8bbc2}a:focus-visible{outline:3px solid #d7b583;outline-offset:4px}@media(max-width:850px){header{height:auto;padding:20px 24px}.nav a:not(.contact){display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:62px 24px}.hero-photo{min-height:340px;grid-row:2}.wrap{padding:65px 24px}.grid,.steps{grid-template-columns:1fr}.city{min-height:205px}.offer,.about-grid{grid-template-columns:1fr;gap:16px}.section-head{display:block}.footer-inner{display:block}.footer{padding:60px 24px 28px}}@media(max-width:480px){.nav .contact{padding:9px 11px;font-size:12px}.logo{font-size:15px}.hero h1{font-size:38px}.lead{font-size:16px}.hero-photo{min-height:260px}}
 .contact-list{display:flex;flex-direction:column;gap:15px;align-items:flex-start;font-size:19px;font-weight:700}.contact-list a{text-decoration:none;border-bottom:1px solid #d7b583;padding-bottom:5px}.contact-list a:hover{color:#d7b583}@media(max-width:850px){.contact-list{margin-top:25px}} .hero-photo{position:relative}.photo-caption{position:absolute;bottom:22px;right:22px;background:rgba(16,38,54,.75);padding:8px 12px;color:white;font-size:12px}.contact-section{background:#dce5e5;padding:85px 5vw}.contact-wrap{max-width:1200px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.contact-copy h2{max-width:520px}.contact-copy p{color:#52646c;line-height:1.75;max-width:500px}.direct-contact{display:flex;flex-direction:column;gap:14px;margin-top:45px;font-size:19px;font-weight:700}.direct-contact a{text-decoration:none;width:max-content;border-bottom:1px solid #a48359;padding-bottom:4px}.lead-form{background:#fff;padding:38px;box-shadow:0 18px 55px rgba(16,38,54,.1);display:grid;gap:18px}.lead-form label{font-size:14px;font-weight:700;display:grid;gap:8px}.lead-form input,.lead-form select,.lead-form textarea{font:inherit;font-size:16px;width:100%;padding:14px 15px;border:1px solid #c7d2d2;background:#f8faf9;color:#142b38;border-radius:2px}.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{outline:2px solid #a48359;outline-offset:1px}.lead-form button{font:inherit;border:0;cursor:pointer;text-align:center}.form-note{font-size:13px;line-height:1.55;color:#64767d;margin:0}@media(max-width:850px){.contact-wrap{grid-template-columns:1fr;gap:32px}.contact-section{padding:65px 24px}}@media(max-width:480px){.lead-form{padding:24px}}
.projects-section{background:#e8eeee}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}.project-card{background:white;min-width:0;box-shadow:0 14px 38px rgba(16,38,54,.045);transition:transform .35s ease,box-shadow .35s ease}.project-card:hover{transform:translateY(-7px);box-shadow:0 22px 45px rgba(16,38,54,.13)}.project-image{display:block;position:relative;height:250px;overflow:hidden;background:#9aaeb1}.project-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.project-card:hover img{transform:scale(1.045)}.project-image span{position:absolute;left:16px;bottom:16px;background:#102636;color:white;padding:9px 12px;font-size:12px;font-weight:700}.project-body{padding:28px;display:flex;flex-direction:column;min-height:315px}.project-index{font-size:12px;text-transform:uppercase;letter-spacing:.13em;color:#9c7b52;font-weight:800}.project-body h3{font-family:Georgia,"Times New Roman",serif;font-size:25px;font-weight:400;margin:13px 0}.project-body p{font-size:15px;line-height:1.65;color:#52646c;margin:0}.project-meta{display:flex;flex-wrap:wrap;gap:6px;margin:20px 0 18px}.project-meta span{font-size:12px;border:1px solid #dce3e1;padding:7px 9px;color:#4b616a}.project-body>a{color:#997148;font-weight:800;text-decoration:underline;text-underline-offset:4px;margin-top:auto;font-size:14px}.source-note{font-size:12px;line-height:1.6;color:#63767d;margin:20px 0 0}.services-section{background:#f6f5f1}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.service-card{background:white;padding:28px;min-height:260px;text-decoration:none;display:flex;flex-direction:column;border:1px solid #e5e5df;transition:background .3s,transform .3s}.service-card:hover{background:#e5eeee;transform:translateY(-4px)}.service-number{font-family:Georgia,"Times New Roman",serif;color:#b58c5c;font-size:30px}.service-card h3{font-size:21px;line-height:1.35;margin:22px 0 10px}.service-card p{font-size:15px;color:#546770;line-height:1.6;margin:0 0 20px}.service-more{font-size:13px;color:#956f46;font-weight:800;margin-top:auto}.about-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1fr);align-items:center;gap:8vw}.portrait-wrap{position:relative;max-width:420px;margin:0 auto;background:#526573}.portrait-wrap>img{display:block;width:100%;height:510px;object-fit:cover;object-position:center 20%}.portrait-label{position:absolute;left:-22px;bottom:22px;background:#102636;color:white;padding:20px 24px;display:flex;flex-direction:column;gap:5px;box-shadow:0 14px 35px rgba(16,38,54,.2)}.portrait-label span{color:#d7b583;letter-spacing:.13em;text-transform:uppercase;font-size:11px;font-weight:800}.portrait-label strong{font-family:Georgia,"Times New Roman",serif;font-size:22px;font-weight:400}.portrait-label small{font-size:12px;color:#b9c9cd}.about-copy h2{max-width:600px}.about-cta{display:inline-block;margin-top:14px;color:#9b754f;text-decoration:none;border-bottom:1px solid;padding-bottom:4px;font-weight:800}.motion-ready .reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}.motion-ready .reveal.is-visible{opacity:1;transform:translateY(0)}.motion-ready .project-card:nth-child(2),.motion-ready .service-card:nth-child(2){transition-delay:.09s}.motion-ready .project-card:nth-child(3),.motion-ready .service-card:nth-child(3){transition-delay:.18s}@media(max-width:900px){.project-grid,.service-grid{grid-template-columns:1fr 1fr}.project-card:last-child,.service-card:last-child{grid-column:span 2}.project-body{min-height:290px}}@media(max-width:650px){.project-grid,.service-grid{grid-template-columns:1fr}.project-card:last-child,.service-card:last-child{grid-column:auto}.project-image{height:230px}.project-body{min-height:0}.portrait-wrap{margin:0 12px}.portrait-wrap>img{height:440px}.about-grid{gap:48px}.portrait-label{left:-12px}.motion-ready .reveal{transition-delay:0s!important}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project-card,.project-image img,.service-card{transition:none!important}.motion-ready .reveal{opacity:1;transform:none}}

.project-grid{row-gap:24px}.project-card:nth-child(4) .project-image img{object-position:center 58%}.project-card:nth-child(5) .project-image img{object-position:center 52%}
@media(max-width:900px){.project-card:last-child{grid-column:auto}}

/* 2026 interactive polish */
:root{--mx:50%;--my:50%}
.hero-copy>*{position:relative;z-index:1}
.motion-ready .hero-copy .eyebrow,.motion-ready .hero-copy h1,.motion-ready .hero-copy .lead,.motion-ready .hero-copy .actions,.motion-ready .hero-copy .hero-note{opacity:0;transform:translateY(18px);animation:hero-in .72s cubic-bezier(.2,.7,.2,1) forwards}
.motion-ready .hero-copy h1{animation-delay:.08s}.motion-ready .hero-copy .lead{animation-delay:.16s}.motion-ready .hero-copy .actions{animation-delay:.24s}.motion-ready .hero-copy .hero-note{animation-delay:.32s}
@keyframes hero-in{to{opacity:1;transform:none}}
.city{transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}.city:hover{transform:translateY(-6px);box-shadow:0 18px 45px rgba(16,38,54,.09);border-color:#cbd8d6}
.button{position:relative;overflow:hidden;transition:background .25s ease,transform .2s ease,box-shadow .25s ease}.button:after{content:"";position:absolute;inset:-2px;transform:translateX(-115%) skewX(-18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.32),transparent);transition:transform .65s ease}.button:hover:after{transform:translateX(115%) skewX(-18deg)}.button:hover{box-shadow:0 10px 28px rgba(16,38,54,.16)}
.step{transition:border-color .35s ease,transform .35s ease}.step.is-visible{border-color:#d7b583}.step:hover{transform:translateY(-5px)}
.offer strong{display:inline-block;will-change:transform}
a:not(.button){transition:color .2s ease}
@media(max-width:850px){
 .about-grid{display:flex;flex-direction:column;gap:38px;align-items:stretch}
 .portrait-wrap{width:min(100%,440px);margin:0 auto}.about-copy{width:100%}
 .portrait-label{left:12px;right:12px;bottom:12px;width:auto}
}
@media(prefers-reduced-motion:reduce){.motion-ready .hero-copy>*{opacity:1!important;transform:none!important;animation:none!important}.offer strong,[data-magnetic]{transform:none!important}.project-grid .project-card{opacity:1!important}}

.form-intro{display:grid;gap:5px;padding-bottom:4px}.form-intro strong{font-family:Georgia,serif;font-size:21px;font-weight:400}.form-intro span{font-size:13px;color:#64767d;line-height:1.5}.footnote{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.footnote span:last-child{max-width:720px;text-align:right}@media(max-width:650px){.footnote{display:grid;gap:10px}.footnote span:last-child{text-align:left}}


/* hero line lock */
.hero-accent{display:inline-block;white-space:nowrap}

/* compact relocation block */
.relocation-section{background:#f6f5f1;border-top:1px solid #e5e5df;border-bottom:1px solid #e5e5df}
.relocation-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(34px,5vw,72px);align-items:center;padding-top:clamp(56px,6vw,84px);padding-bottom:clamp(56px,6vw,84px)}
.relocation-photo{height:clamp(330px,34vw,470px);overflow:hidden;background:#d8dfdc}
.relocation-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}
.relocation-copy{max-width:650px}.relocation-copy .eyebrow{margin-bottom:20px}.relocation-copy h2{margin:0 0 22px;max-width:620px}.relocation-lead{font-size:clamp(18px,1.7vw,22px);line-height:1.55;color:#30464f;margin:0 0 20px}.relocation-copy>p:last-child{font-size:15px;line-height:1.75;color:#53666d;margin:0}

/* project cards: deliberate, quick hover instead of slow drift/tilt */
.project-card{transition:transform .2s cubic-bezier(.2,.75,.25,1),box-shadow .2s ease,border-color .2s ease;border:1px solid transparent}
.project-image img{transition:transform .22s cubic-bezier(.2,.75,.25,1),filter .22s ease}
@media(hover:hover) and (pointer:fine){
  .project-card:hover{transform:translateY(-9px);box-shadow:0 24px 52px rgba(16,38,54,.16);border-color:rgba(156,123,82,.28)}
  .project-card:hover .project-image img{transform:scale(1.065);filter:contrast(1.03) saturate(1.03)}
  .project-card:hover .project-image span{transform:translateY(-3px)}
  .project-image span{transition:transform .2s ease}
}
@media(max-width:850px){.relocation-grid{grid-template-columns:1fr;gap:28px}.relocation-photo{height:320px}.relocation-copy{max-width:none}}
@media(max-width:520px){.hero h1{font-size:clamp(42px,12vw,58px)}.hero-accent{font-size:.92em}.relocation-grid{padding-top:48px;padding-bottom:52px}.relocation-photo{height:250px}.relocation-copy h2{margin-bottom:18px}.relocation-lead{font-size:18px}}
@media(prefers-reduced-motion:reduce){.project-card,.project-image img,.project-image span{transition:none!important}.project-card:hover,.project-card:hover .project-image img{transform:none!important}}
