/* Round 1 additions only. The original styles.css is preserved byte for byte. */
.header .desktop-nav{justify-content:flex-start;gap:clamp(24px,3.5vw,58px)}
.mobile-menu-label{display:none;font-size:12px}
.desktop-nav a[aria-current=page]{text-decoration:underline;text-underline-offset:8px}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:25px}
.hero-actions .text-link{border-bottom:0}
.frame-caption{position:absolute;top:34px;right:30px;font-size:20px;font-weight:300;letter-spacing:-.4px;z-index:3}
.hero-art .flower{top:55px;height:calc(100% - 55px)}
.word-underline path{stroke-dasharray:650;animation:draw-underline 2.8s cubic-bezier(.2,.6,.2,1) both}
@keyframes draw-underline{from{stroke-dashoffset:650}to{stroke-dashoffset:0}}
.scroll-arrow{animation:scroll-cue 1.8s ease-in-out 3}
@keyframes scroll-cue{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
.service-heading{display:grid;grid-template-columns:55px 1fr;align-items:center;gap:20px;padding:30px 0}
.service-content{animation:none}
.service-footnote{justify-content:flex-end}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.project-card{min-width:0}
.project-card>a{display:block}
.project-cover{aspect-ratio:4/3;overflow:hidden;background:#e8e9e0}
.project-cover img,.project-hero-image img,.project-gallery img{width:100%;height:100%;object-fit:cover;display:block}
.project-cover>*{transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.project-card>a:hover .project-cover>*{transform:scale(1.025)}
.image-placeholder{position:relative;min-height:200px;height:100%;width:100%;display:flex;flex-direction:column;justify-content:space-between;background:#e8e9e0;color:#676e5f;padding:24px;border:1px solid #c8ccbf}
.placeholder-index{font-size:12px;font-weight:300;letter-spacing:1px;align-self:flex-end}
.placeholder-label{font-size:13px;font-weight:300}
.project-meta{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-bottom:1px solid var(--line);gap:15px}
.project-category{font-size:11px;color:var(--muted)}
.project-meta h3{font-weight:400;font-size:25px;letter-spacing:-.7px;margin-top:8px}
.project-arrow{font-size:29px;font-weight:300}
.section-end{display:flex;justify-content:flex-end;margin-top:35px}
.about{background:var(--white)}
.about-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:7%;align-items:center;margin-top:60px}
.about-copy h2{margin-bottom:28px}
.about-copy p{font-size:15px;line-height:1.95;color:#62645e;max-width:470px;margin-bottom:15px}
.about-copy .text-link{margin-top:20px}
.about-photo{aspect-ratio:4/4.3;object-fit:cover;max-height:540px;display:block}
.image-placeholder.about-photo{display:flex}
.process{background:var(--white)}
.process-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;list-style:none;margin:0;padding:0;counter-reset:steps}
.process-steps li{border-top:1px solid var(--line);padding-top:25px}
.step-number{font-size:18px;color:var(--muted)}
.process-steps h3{font-size:27px;letter-spacing:-.8px;font-weight:400;margin:30px 0 17px}
.process-steps p{font-size:14px;line-height:1.9;color:var(--muted);max-width:320px}
.faq{background:var(--white)}
.faq-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:9%;margin-top:65px;align-items:start}
.faq-item{border-top:1px solid var(--line)}
.faq-item:last-child{border-bottom:1px solid var(--line)}
.faq-item summary{display:grid;grid-template-columns:30px 1fr 34px;align-items:center;gap:16px;padding:22px 0;list-style:none;font-size:18px;line-height:1.5}
.faq-item summary::-webkit-details-marker{display:none}
.faq-number{font-size:13px;color:var(--muted)}
.faq-answer{padding:0 46px 25px 45px;color:var(--muted);font-size:14px;line-height:1.9;animation:unfold .35s ease both}
.contact{border-top:1px solid var(--line)}
.contact-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:10%;align-items:start;margin-top:65px}
.contact-copy>p{font-size:15px;line-height:1.9;color:var(--muted);max-width:370px;margin:27px 0}
.contact-direct{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.pending-contact{font-size:12px;line-height:1.8;color:var(--muted)}
.site-footer{display:block;padding:55px var(--gutter) 25px;background:var(--dark);color:var(--paper)}
.footer-top{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:40px}
.footer-identity{font-size:12px;color:#bfc4b3;margin-bottom:18px}
.footer-top h2{font-size:clamp(29px,3vw,45px);letter-spacing:-1.3px}
.footer-links{display:flex;justify-content:space-between;gap:35px;padding-bottom:35px;align-items:flex-start}
.footer-contact-links{display:flex;flex-wrap:wrap;align-items:center;gap:20px 35px}
.footer-contact-links .pending-contact{color:#bfc4b3}
.footer-social{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:15px;font-size:14px}
.pending-social{color:#c1c6b7}
.footer-social small{flex-basis:100%;font-size:10px;color:#bfc4b3;text-align:left}
.footer-bottom{border-top:1px solid #4b4f42;padding-top:25px;display:flex;justify-content:space-between;align-items:center;gap:20px;color:#c8ccbf}
.footer-bottom small{font-size:10px;line-height:1.7}
.footer-bottom nav{display:flex;flex-wrap:wrap;gap:25px;font-size:11px}
.footer-bottom a{padding:10px 0}
.page-title{font-size:clamp(56px,6vw,90px);line-height:1.2;font-weight:400;letter-spacing:-3px}
.projects-page{min-height:70vh;padding-bottom:100px}
.all-projects{grid-template-columns:repeat(2,minmax(0,1fr));gap:55px 35px}
.project-opening{margin:55px 0 45px;max-width:850px}
.project-status{font-size:11px;color:var(--muted);margin-bottom:17px}
.project-opening>p:last-child{font-size:17px;color:var(--muted);line-height:1.9;margin-top:25px}
.project-hero-image{aspect-ratio:16/8;min-height:250px;overflow:hidden}
.project-description{display:grid;grid-template-columns:1fr 1.5fr;gap:10%;padding:70px 0}
.project-description h2{font-size:36px;letter-spacing:-1px}
.project-description p{max-width:650px;font-size:16px;line-height:1.95;color:var(--muted)}
.project-gallery{display:grid;grid-template-columns:1fr 1fr;gap:35px}
.project-gallery figure{margin:0;min-width:0}
.project-gallery figure:first-of-type{grid-column:1/-1}
.project-gallery .image-placeholder,.project-gallery img{height:auto;aspect-ratio:4/3}
.project-gallery figure:first-of-type .image-placeholder,.project-gallery figure:first-of-type img{aspect-ratio:16/8}
.project-gallery figcaption{font-size:11px;color:var(--muted);margin-top:13px}
.project-navigation{border-top:1px solid var(--line);margin-top:65px;padding-top:35px;display:flex;justify-content:space-between;align-items:center;gap:30px}
.next-project{display:grid;grid-template-columns:1fr auto;gap:10px 45px}
.next-project>span:first-child{font-size:12px;color:var(--muted)}
.next-project strong{font-size:28px;font-weight:400;grid-column:1}
.next-project>span:last-child{grid-column:2;grid-row:1/3;align-self:center;font-size:35px}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:1050px){.header .desktop-nav{gap:20px;font-size:12px}.header{gap:25px}.header-contact{gap:15px}.service-heading{grid-template-columns:55px 1fr}.project-grid{gap:20px}.project-meta h3{font-size:23px}.contact-grid{gap:6%}.faq-grid{gap:6%}.process-steps{gap:25px}}
@media(max-width:760px){.header .desktop-nav{display:none}.mobile-menu-label{display:block}.header-contact{margin-right:auto}.hero-actions{gap:18px}.frame-caption{font-size:16px;top:23px;right:23px}.hero-art .flower{top:40px;height:calc(100% - 40px)}.hero-bottom p{max-width:170px}.service-heading{grid-template-columns:26px 1fr;gap:10px;padding:26px 0}.service-footnote{align-items:flex-end}.project-grid,.all-projects{grid-template-columns:1fr;gap:32px}.project-meta h3{font-size:25px}.about-grid{grid-template-columns:1fr;gap:35px;margin-top:40px}.about-copy p{font-size:14px}.about-photo{width:100%;max-height:480px;aspect-ratio:4/4.2}.process-steps{grid-template-columns:1fr;gap:30px}.process-steps li{display:grid;grid-template-columns:30px 1fr;gap:12px 18px;padding-top:22px}.step-number{grid-row:1/3;font-size:15px}.process-steps h3{font-size:25px;margin:0}.process-steps p{font-size:13px}.faq-grid{grid-template-columns:1fr;gap:35px;margin-top:40px}.faq-item summary{font-size:16px;grid-template-columns:22px 1fr 27px;gap:10px;padding:20px 0}.faq-answer{font-size:13px;padding:0 32px 22px 0}.contact-grid{grid-template-columns:1fr;gap:40px;margin-top:40px}.contact-copy>p{font-size:14px}.footer-top{flex-direction:column;align-items:flex-start;gap:24px;margin-bottom:30px}.footer-top h2{font-size:32px}.footer-links{flex-direction:column;gap:25px}.footer-contact-links{flex-direction:column;align-items:flex-start;gap:20px}.footer-social{justify-content:flex-start}.footer-social small{text-align:right}.footer-bottom{flex-direction:column;align-items:flex-start;gap:14px}.footer-bottom nav{gap:20px}.site-footer{padding-top:40px}.page-title{font-size:51px;letter-spacing:-2px}.projects-page{padding-bottom:60px}.project-opening{margin:38px 0 30px}.project-opening>p:last-child{font-size:14px}.project-hero-image{aspect-ratio:4/3;min-height:0}.project-description{grid-template-columns:1fr;gap:25px;padding:40px 0}.project-description h2{font-size:30px}.project-description p{font-size:14px}.project-gallery{grid-template-columns:1fr;gap:28px}.project-gallery figure:first-of-type .image-placeholder,.project-gallery figure:first-of-type img{aspect-ratio:4/3}.project-navigation{margin-top:40px;padding-top:28px;align-items:stretch;flex-direction:column;gap:30px}.project-navigation .text-link{align-self:flex-start}.next-project strong{font-size:27px}.project-hero-image .image-placeholder{min-height:180px}}
@media(prefers-reduced-motion:reduce){.scroll-arrow,.word-underline path,.faq-answer{animation:none!important}.word-underline path{stroke-dashoffset:0}.project-cover>*{transition:none}}

/* Round 8: shared contact, its two CTA placements and footer only. */
.contact-centered{max-width:740px;margin:65px auto 0;text-align:center}
.contact-centered .contact-copy>p{max-width:550px;margin:27px auto 34px;text-wrap:pretty}
.contact-actions{display:flex;flex-direction:column;align-items:center;gap:30px;padding:6px}
.talk-button{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 32px;border:1px solid #000;border-radius:0;background:#000;color:#fff;font-family:Noto,sans-serif;font-size:14px;font-weight:500;line-height:1.5;text-decoration:none;white-space:nowrap;transition:background-color .2s ease,color .2s ease}
.talk-button::before,.talk-button::after{content:none}
.talk-button:is(:hover,:focus-visible){background:#fff;color:#000}
.talk-button:focus-visible{outline:2px solid #000;outline-offset:4px}
.header .header-contact.talk-button{padding:7px 16px;font-size:11px;min-height:36px;margin-inline:6px}
.contact-email{font-size:14px;line-height:1.7;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;overflow-wrap:anywhere;max-width:100%}
.contact-email:focus-visible,.site-footer .back-top:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.site-footer{padding:30px var(--gutter) 25px}
.site-footer .footer-identity{margin:0 0 20px}
.site-footer .footer-bottom{padding-top:20px}
.site-footer .back-top{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;transition:opacity .2s}
.site-footer .back-top:hover{opacity:.7}
@media(max-width:760px){.contact-centered{margin-top:40px}.contact-centered .contact-copy>p{margin:24px auto 30px}.site-footer{padding-top:28px}.site-footer .footer-bottom nav{flex-wrap:wrap;gap:16px 20px}.header .header-contact.talk-button{margin-right:auto;padding-inline:18px}}
@media(prefers-reduced-motion:reduce){.talk-button::before,.talk-button::after,.site-footer .back-top{transition:none}}

/* Mobile header: one accessible hamburger on the right, existing WhatsApp on the left. */
@media(max-width:760px){
 .header .mobile-menu-label{display:none}
 .header .menu-button{order:0;flex:0 0 44px}
 .header .header-contact{order:1;margin-right:auto}
 .header .mobile-nav{order:2}
}

/* 15D: contact link and compact shared CTA, preserving mobile header order. */
.contact-email{color:#000;text-decoration:none}
.contact-email:hover{text-decoration:underline;text-underline-offset:5px}
@media(max-width:760px){.header .header-contact.talk-button{min-height:44px;padding:8px 16px}}
@media(prefers-reduced-motion:reduce){.talk-button{transition:none}}
