:root{--ink:#191713;--paper:#f1eee8;--cream:#d7c8ad;--line:rgba(25,23,19,.18);--muted:#777067;--max:1240px;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img{display:block;width:100%}.site-header{position:absolute;z-index:20;top:0;left:0;width:100%;height:96px;display:flex;align-items:center;padding:0 clamp(24px,4vw,72px);color:white;border-bottom:1px solid rgba(255,255,255,.18);transition:.3s}.site-header.scrolled{position:fixed;height:76px;background:rgba(22,20,17,.94);backdrop-filter:blur(14px)}.brand{display:flex;flex-direction:column;line-height:1}.brand-main{font-size:1.35rem;letter-spacing:.32em;font-weight:600}.brand-sub{font-size:.56rem;letter-spacing:.26em;margin-top:8px}.site-nav{display:flex;gap:32px;margin-left:auto;margin-right:42px}.site-nav a{font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;position:relative}.site-nav a:after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:1px;background:white;transition:.3s}.site-nav a:hover:after{width:100%}.outline-btn,.solid-btn{display:inline-flex;align-items:center;justify-content:center;text-transform:uppercase;letter-spacing:.13em;font-size:.72rem;font-weight:600;padding:15px 23px;border:1px solid currentColor;transition:.25s}.outline-btn:hover{background:white;color:var(--ink)}.solid-btn{background:var(--ink);color:white;border-color:var(--ink)}.solid-btn:hover{transform:translateY(-2px);background:#332f29}.menu-toggle{display:none}.hero{height:min(920px,100vh);min-height:720px;color:#fff;position:relative;display:flex;align-items:center;padding:120px max(7vw,32px) 80px;isolation:isolate}.hero-bg{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(12,11,9,.86) 0%,rgba(12,11,9,.54) 42%,rgba(12,11,9,.1) 80%),url('../images/hero.jpg');background-size:cover;background-position:center;z-index:-2;transform:scale(1.02)}.hero-grain{position:absolute;inset:0;opacity:.12;z-index:-1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E")}.hero-content{max-width:760px}.eyebrow{font-size:.69rem;letter-spacing:.19em;text-transform:uppercase;font-weight:600}.section-kicker{display:flex;align-items:baseline;gap:.8rem;text-transform:uppercase;font-weight:600}.section-number{font-size:1.12rem;line-height:1;letter-spacing:.08em;color:#9a8060;min-width:2.2rem}.section-label{font-size:.69rem;letter-spacing:.19em}.hero h1,.section h2,.craft-overlay h2{font-family:var(--serif);font-weight:500;line-height:1.04;margin:24px 0}.hero h1{font-size:clamp(4rem,7.6vw,8.2rem);letter-spacing:-.04em}.hero h1 em{font-weight:500;color:var(--cream)}.hero-copy{max-width:530px;font-size:1.05rem;color:rgba(255,255,255,.78)}.hero-actions{display:flex;align-items:center;gap:32px;margin-top:40px}.hero .solid-btn{background:#f5f1e9;color:#171511;border-color:#f5f1e9}.text-link{display:inline-flex;gap:10px;align-items:center;font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid currentColor;padding-bottom:5px}.text-link span{transition:.25s}.text-link:hover span{transform:translate(3px,-3px)}.hero-meta{position:absolute;right:5vw;bottom:48px;display:flex;gap:22px;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase}.scroll-cue{position:absolute;left:4vw;bottom:36px;writing-mode:vertical-rl;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;display:flex;align-items:center;gap:10px}.scroll-cue span{display:block;width:1px;height:55px;background:white}.section{padding:130px max(6vw,32px)}.section>*{max-width:var(--max);margin-left:auto;margin-right:auto}.section-kicker{color:#847a6e}.intro-grid,.materials-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:9vw;margin-top:60px}.section h2{font-size:clamp(3rem,5vw,5.7rem);letter-spacing:-.035em}.intro-copy{padding-top:18px}.intro-copy>p{max-width:610px;color:#625d56;font-size:1.06rem}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:55px;padding-top:35px;border-top:1px solid var(--line)}.stats strong{display:block;font-family:var(--serif);font-size:2.7rem;font-weight:500}.stats strong:after{content:"+";font-size:1.4rem}.stats span{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.dark-section{background:#1a1815;color:#f3efe7}.project-heading,.process-top{display:flex;align-items:flex-end;justify-content:space-between;gap:50px}.project-heading>p,.process-top>p{max-width:420px;color:#aaa298}.project-tabs{display:flex;gap:5px;margin-top:65px;border-bottom:1px solid rgba(255,255,255,.18)}.tab{color:#aaa298;background:none;border:0;padding:16px 22px;cursor:pointer;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;border-bottom:2px solid transparent}.tab.active{color:white;border-color:var(--cream)}.project-stage{display:grid;grid-template-columns:1.5fr .8fr;margin-top:35px;min-height:610px;background:#24211d}.project-image-wrap{position:relative;overflow:hidden}.project-image-wrap img{height:100%;object-fit:cover;transition:opacity .35s,transform .7s}.project-stage.changing img{opacity:0;transform:scale(1.035)}.project-index{position:absolute;left:24px;bottom:20px;background:rgba(20,18,15,.78);padding:10px 14px;font-size:.8rem;line-height:1;letter-spacing:.12em}.project-detail{padding:70px 55px;display:flex;flex-direction:column;justify-content:center}.project-detail h3{font-family:var(--serif);font-size:clamp(2.3rem,3.5vw,4.2rem);font-weight:500;line-height:1.08;margin:18px 0}.project-detail>p:not(.eyebrow){color:#bcb4aa}.project-detail ul{list-style:none;padding:0;margin:24px 0 40px;border-top:1px solid rgba(255,255,255,.12)}.project-detail li{padding:11px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.materials-grid{align-items:start}.material-copy p{max-width:480px;color:#665f56}.accordion details{border-top:1px solid var(--line)}.accordion details:last-child{border-bottom:1px solid var(--line)}.accordion summary{cursor:pointer;list-style:none;padding:25px 4px;font-family:var(--serif);font-size:1.45rem}.accordion summary::-webkit-details-marker{display:none}.accordion summary span{display:inline-block;min-width:3.1rem;font-family:var(--sans);font-size:1rem;line-height:1;letter-spacing:.08em;color:#9a8060;margin-right:18px}.accordion details p{padding:0 35px 25px;color:#625d56;margin:0}.craft-band{height:680px;position:relative;color:white;overflow:hidden}.craft-band img{height:100%;object-fit:cover;filter:brightness(.55)}.craft-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px}.craft-overlay h2{font-size:clamp(3rem,5vw,5.5rem)}.process-top h2{margin-bottom:0}.process-steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:85px;border-top:1px solid var(--line)}.process-steps article{padding:35px 28px 20px 0;border-right:1px solid var(--line);min-height:260px}.process-steps article:not(:first-child){padding-left:28px}.process-steps article:last-child{border-right:0}.process-steps span{display:inline-block;font-size:1rem;line-height:1;letter-spacing:.08em;color:#9a8060}.process-steps h3{font-family:var(--serif);font-size:1.65rem;font-weight:500;margin-top:45px}.process-steps p{font-size:.9rem;color:#6d665d}.contact{background:#d8cab3}.contact-card{display:grid;grid-template-columns:1fr 1fr;gap:9vw;background:#ede8df;padding:clamp(35px,6vw,85px)}.contact-card h2{margin-top:16px}.contact-card>div>p:last-child{max-width:440px;color:#655e56}.contact form{display:flex;flex-direction:column;gap:20px}.contact label{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}.contact input,.contact select,.contact textarea{display:block;width:100%;margin-top:8px;background:transparent;border:0;border-bottom:1px solid #9b9185;padding:10px 0;outline:none;border-radius:0}.contact textarea{resize:vertical}.contact form .solid-btn{margin-top:8px;align-self:flex-start}.form-note{font-size:.7rem;color:#7a7269;margin:0}footer{background:#151310;color:#d4cec4;display:grid;grid-template-columns:1.3fr 1fr .7fr 1.2fr;gap:45px;padding:75px max(6vw,32px);font-size:.78rem}footer>div{display:flex;flex-direction:column;gap:8px}footer a:hover{color:white}.cursor-glow{position:fixed;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(210,188,151,.13),transparent 68%);transform:translate(-50%,-50%);pointer-events:none;z-index:2}.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:900px){.site-header{height:78px}.site-nav{position:fixed;inset:78px 0 auto;background:#171511;padding:30px;display:none;flex-direction:column;margin:0}.site-nav.open{display:flex}.header-cta{display:none}.menu-toggle{display:block;margin-left:auto;width:34px;height:28px;background:none;border:0;padding:4px}.menu-toggle span{height:1px;background:#fff;display:block;margin:7px 0}.hero{min-height:700px}.hero-meta{display:none}.intro-grid,.materials-grid,.contact-card{grid-template-columns:1fr}.project-stage{grid-template-columns:1fr}.project-image-wrap{height:470px}.project-detail{padding:50px 35px}.process-steps{grid-template-columns:1fr 1fr}.process-steps article:nth-child(2){border-right:0}.process-steps article:nth-child(3),.process-steps article:nth-child(4){border-top:1px solid var(--line)}footer{grid-template-columns:1fr 1fr}.cursor-glow{display:none}}@media(max-width:620px){.section{padding:90px 22px}.hero{padding-left:24px;padding-right:24px}.hero h1{font-size:3.8rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:22px}.scroll-cue{display:none}.intro-grid,.materials-grid{margin-top:35px}.stats{grid-template-columns:1fr}.stats div{display:flex;justify-content:space-between;align-items:end}.project-heading,.process-top{display:block}.project-tabs{overflow-x:auto}.tab{white-space:nowrap;padding-left:13px;padding-right:13px}.project-image-wrap{height:330px}.project-detail{padding:38px 24px}.process-steps{grid-template-columns:1fr}.process-steps article,.process-steps article:not(:first-child){border-right:0;border-top:1px solid var(--line);padding-left:0}.craft-band{height:520px}.contact-card{padding:32px 24px}footer{grid-template-columns:1fr}.brand-main{font-size:1.15rem}}

/* Consistent numbered labels */
@media(max-width:620px){.section-kicker{gap:.65rem}.section-number{font-size:1rem;min-width:2rem}.section-label{font-size:.64rem;letter-spacing:.16em}.accordion summary{display:grid;grid-template-columns:2.5rem 1fr;align-items:baseline;column-gap:.4rem}.accordion summary span{min-width:0;margin-right:0;font-size:.92rem}.process-steps span{font-size:.92rem}.project-index{left:16px;bottom:14px;font-size:.74rem;padding:9px 11px}}

/* Mobile process layout: keep step number compact and aligned with title */
@media(max-width:620px){
  .process-steps article,
  .process-steps article:not(:first-child){
    display:grid;
    grid-template-columns:2.1rem minmax(0,1fr);
    column-gap:.45rem;
    row-gap:.75rem;
    align-items:baseline;
    min-height:0;
    padding:24px 0 26px;
  }
  .process-steps article>span{
    grid-column:1;
    grid-row:1;
    font-size:.78rem;
    line-height:1;
    margin:0;
    align-self:baseline;
  }
  .process-steps article>h3{
    grid-column:2;
    grid-row:1;
    margin:0;
    font-size:1.55rem;
    line-height:1.15;
  }
  .process-steps article>p{
    grid-column:2;
    grid-row:2;
    margin:0;
    max-width:28rem;
  }
}

/* Mobile density pass — less scrolling while retaining a premium rhythm */
@media(max-width:620px){
  body{font-size:15px;line-height:1.5}
  .site-header{height:72px;padding:0 22px}
  .site-header.scrolled{height:66px}
  .site-nav{inset:66px 0 auto;padding:24px 22px;gap:20px}
  .brand-sub{margin-top:6px}

  .section{padding:58px 22px}
  .section h2{font-size:clamp(2.65rem,12.5vw,3.45rem);line-height:1.01;margin:16px 0}
  .section-kicker{margin-bottom:0}
  .intro-grid,.materials-grid{margin-top:24px;gap:24px}

  /* About section: compact enough to read as one visual composition */
  .intro{padding-top:42px;padding-bottom:48px}
  .intro-grid{display:block}
  .intro-grid>h2{max-width:9.2em;margin-bottom:30px}
  .intro-copy{padding-top:0}
  .intro-copy>p{font-size:.98rem;line-height:1.55;margin:0 0 16px}
  .stats{margin-top:28px;padding-top:22px;gap:0}
  .stats div{min-height:50px;padding:10px 0;border-bottom:1px solid var(--line)}
  .stats div:last-child{border-bottom:0}
  .stats strong{font-size:2.15rem;line-height:1}
  .stats strong:after{font-size:1rem}
  .stats span{font-size:.62rem;letter-spacing:.09em;text-align:right}

  /* Projects */
  .projects{padding-top:56px;padding-bottom:58px}
  .project-heading>p,.process-top>p{margin:16px 0 0;font-size:.92rem;line-height:1.5}
  .project-tabs{margin-top:30px}
  .tab{padding-top:12px;padding-bottom:12px;font-size:.68rem}
  .project-stage{margin-top:22px;min-height:0}
  .project-image-wrap{height:285px}
  .project-detail{padding:30px 22px}
  .project-detail h3{font-size:2.35rem;margin:12px 0}
  .project-detail>p:not(.eyebrow){margin:0;font-size:.92rem}
  .project-detail ul{margin:18px 0 26px}
  .project-detail li{padding:9px 0;font-size:.68rem}

  /* Design details */
  .materials{padding-top:54px;padding-bottom:54px}
  .material-copy p{margin:14px 0 0;font-size:.94rem}
  .accordion summary{padding:18px 2px;font-size:1.25rem;line-height:1.2}
  .accordion details p{padding:0 0 18px 2.9rem;font-size:.9rem;line-height:1.5}

  /* Craft image band */
  .craft-band{height:400px}
  .craft-overlay{padding:22px 18px}
  .craft-overlay .eyebrow{font-size:.64rem;letter-spacing:.15em}
  .craft-overlay h2{font-size:2rem;line-height:1.08;margin:12px 0;max-width:12ch}

  /* Process */
  .process{padding-top:56px;padding-bottom:50px}
  .process-top h2{margin-bottom:14px}
  .process-steps{margin-top:30px}
  .process-steps article,
  .process-steps article:not(:first-child){
    grid-template-columns:1.8rem minmax(0,1fr);
    column-gap:.35rem;
    row-gap:.45rem;
    padding:17px 0 18px;
  }
  .process-steps article>span{font-size:.72rem}
  .process-steps article>h3{font-size:1.42rem}
  .process-steps article>p{font-size:.84rem;line-height:1.45}

  /* Contact */
  .contact{padding-top:52px;padding-bottom:52px}
  .contact-card{gap:28px;padding:28px 22px}
  .contact-card h2{font-size:2.8rem;margin:12px 0}
  .contact-card>div>p:last-child{font-size:.92rem;margin-bottom:0}
  .contact form{gap:14px}
  .contact input,.contact select,.contact textarea{margin-top:4px;padding:7px 0}
  .contact textarea{min-height:72px}
  .contact form .solid-btn{width:100%;margin-top:4px}

  footer{padding:44px 22px;gap:25px}
}

/* Extra compression for short mobile screens */
@media(max-width:620px) and (max-height:760px){
  .section{padding-top:46px;padding-bottom:46px}
  .intro{padding-top:36px;padding-bottom:40px}
  .intro-grid>h2{font-size:2.55rem;margin-bottom:22px}
  .intro-copy>p{font-size:.91rem;line-height:1.45;margin-bottom:12px}
  .stats{margin-top:20px;padding-top:14px}
  .stats div{padding:7px 0;min-height:42px}
  .stats strong{font-size:1.85rem}
}



.project-stage{overflow:hidden}
.project-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px}
.gallery-cta{max-width:var(--max);margin:40px auto 0;padding:30px 32px;border:1px solid rgba(255,255,255,.16);display:flex;align-items:center;justify-content:space-between;gap:28px;background:rgba(31,28,24,.92)}
.gallery-copy .eyebrow{margin:0 0 8px;color:#b9ad9b}
.gallery-cta h3{font-family:var(--serif);font-size:clamp(1.6rem,2.8vw,2.6rem);font-weight:500;line-height:1.12;margin:0;color:#f3efe7}
.gallery-btn{padding:14px 20px;font-size:.68rem;gap:10px;white-space:nowrap}
.gallery-btn span{display:inline-block;margin-left:8px}
@media(max-width:900px){
  .project-actions{gap:14px}
  .gallery-cta{margin-top:26px;padding:24px}
}
@media(max-width:620px){
  .project-actions{flex-direction:column;align-items:flex-start}
  .gallery-cta{margin-top:18px;padding:22px 20px;align-items:flex-start;flex-direction:column;gap:18px}
  .gallery-cta h3{font-size:1.7rem}
  .gallery-btn{width:100%;justify-content:center;padding:13px 18px}
}


/* Social presence */
.social{background:#e9e4db}
.social-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px}
.social-heading>p{max-width:430px;color:#6d665d}
.social-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:58px}
.social-card{position:relative;display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:20px;min-height:150px;padding:28px 30px;border:1px solid var(--line);background:rgba(255,255,255,.28);transition:transform .25s ease,background .25s ease,border-color .25s ease}
.social-card:hover{transform:translateY(-4px);background:#f3efe7;border-color:rgba(25,23,19,.35)}
.social-icon{width:52px;height:52px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:1.45rem}
.social-card h3{font-family:var(--serif);font-size:1.65rem;font-weight:500;margin:0 0 4px}
.social-card p{margin:0;color:#6d665d;font-size:.88rem;line-height:1.45}
.social-arrow{font-size:1.2rem;transition:transform .25s ease}
.social-card:hover .social-arrow{transform:translate(3px,-3px)}
.footer-links>span{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:#8f877c;margin-bottom:4px}
.footer-end{justify-content:space-between}
@media(max-width:900px){
  .social-heading{display:block}.social-heading>p{margin-top:18px}.social-grid{margin-top:38px}
  footer{grid-template-columns:1fr 1fr 1fr}.footer-end{grid-column:1/-1;flex-direction:row;align-items:center}
}
@media(max-width:620px){
  .social{padding-top:54px;padding-bottom:54px}
  .social-grid{grid-template-columns:1fr;gap:10px;margin-top:28px}
  .social-card{grid-template-columns:44px 1fr auto;gap:14px;min-height:108px;padding:18px}
  .social-icon{width:42px;height:42px;font-size:1.15rem}
  .social-card h3{font-size:1.35rem}.social-card p{font-size:.78rem}
  footer{grid-template-columns:1fr}.footer-end{grid-column:auto;flex-direction:column;align-items:flex-start}
}


/* Refined process section */
.process{padding-top:105px;padding-bottom:105px}
.process-top{align-items:center}
.process-top h2{font-size:clamp(3.6rem,5.3vw,6.2rem);max-width:900px}
.process-top>p{font-size:1rem;line-height:1.55;max-width:390px}
.process-steps{margin-top:54px}
.process-steps article{min-height:215px;padding:26px 28px 18px 0}
.process-steps article:not(:first-child){padding-left:28px}
.process-steps span{font-family:var(--serif);font-size:3.5rem;line-height:1;color:#a98b64;letter-spacing:-.03em}
.process-steps h3{font-size:1.7rem;margin:28px 0 14px;line-height:1.15}
.process-steps p{margin:0;line-height:1.55}
@media(max-width:900px){
  .process{padding-top:82px;padding-bottom:82px}
  .process-top{align-items:flex-start}
  .process-steps{margin-top:42px}
  .process-steps article{min-height:210px}
  .process-steps span{font-size:3rem}
}
@media(max-width:620px){
  .process{padding-top:50px;padding-bottom:46px}
  .process-top h2{font-size:2.7rem;line-height:1.02;margin:14px 0 10px}
  .process-top>p{font-size:.9rem;line-height:1.45;margin-top:12px}
  .process-steps{margin-top:24px}
  .process-steps article,
  .process-steps article:not(:first-child){
    display:grid;
    grid-template-columns:2.7rem minmax(0,1fr);
    column-gap:.75rem;
    row-gap:.35rem;
    align-items:start;
    min-height:0;
    padding:17px 0 18px;
  }
  .process-steps article>span{grid-column:1;grid-row:1 / span 2;font-family:var(--serif);font-size:1.75rem;line-height:1;margin-top:1px;color:#a98b64}
  .process-steps article>h3{grid-column:2;grid-row:1;font-size:1.38rem;line-height:1.15;margin:0}
  .process-steps article>p{grid-column:2;grid-row:2;font-size:.82rem;line-height:1.45;margin:3px 0 0}
}


/* Compact social banner integrated with contact */
.contact{padding-bottom:82px}
.social-banner{max-width:var(--max);margin:24px auto 0;padding:22px 26px;border:1px solid rgba(25,23,19,.18);display:flex;align-items:center;justify-content:space-between;gap:28px;background:rgba(237,232,223,.72)}
.social-banner-copy{min-width:0}
.social-banner-copy .eyebrow{margin:0 0 5px;color:#85796b}
.social-banner h3{font-family:var(--serif);font-size:clamp(1.45rem,2.25vw,2.2rem);font-weight:500;line-height:1.12;margin:0;color:var(--ink)}
.social-banner-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.social-link-btn{padding:11px 14px;font-size:.62rem;white-space:nowrap;color:var(--ink)}
.social-link-btn:hover{background:var(--ink);color:white}
.social-link-btn span{margin-left:6px}
@media(max-width:900px){
  .social-banner{align-items:flex-start;flex-direction:column;padding:20px 22px;gap:16px}
  .social-banner-links{justify-content:flex-start}
}
@media(max-width:620px){
  .contact{padding-bottom:50px}
  .social-banner{margin-top:14px;padding:17px 16px;gap:14px}
  .social-banner h3{font-size:1.48rem}
  .social-banner-links{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:7px}
  .social-link-btn{width:100%;padding:10px 9px;font-size:.58rem}
}


/* Animated process timeline */
.process{overflow:hidden}
.process-top{align-items:flex-end;gap:5vw}
.process-top h2{font-family:var(--serif);font-size:clamp(3rem,5vw,5.7rem);line-height:1.04;letter-spacing:-.035em;max-width:850px;margin:24px 0 0}
.process-top>p{max-width:390px;margin:0 0 12px;color:#8a8278;font-size:1rem;line-height:1.55}
.process-timeline{position:relative;max-width:var(--max);margin-top:58px;padding-top:28px}
.timeline-track{position:absolute;top:0;left:0;right:0;height:1px;background:var(--line);overflow:visible}
.timeline-progress{display:block;width:0;height:2px;background:#a98b64;transition:width .7s cubic-bezier(.22,.61,.36,1)}
.process-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;border:0}
.process-step{position:relative;min-height:230px;padding:34px 30px 24px;border-right:1px solid var(--line);cursor:pointer;outline:none;transition:background .35s ease,transform .35s ease}
.process-step:first-child{padding-left:0}
.process-step:last-child{border-right:0;padding-right:0}
.process-step:not(:first-child){padding-left:30px}
.step-dot{position:absolute;top:-33px;left:30px;width:12px;height:12px;border:2px solid #a98b64;border-radius:50%;background:var(--paper);transform:translateX(-50%);transition:background .3s ease,transform .3s ease,box-shadow .3s ease}
.process-step:first-child .step-dot{left:0;transform:none}
.process-step.is-active .step-dot,.process-step:hover .step-dot,.process-step:focus-visible .step-dot{background:#a98b64;transform:translateX(-50%) scale(1.18);box-shadow:0 0 0 6px rgba(169,139,100,.13)}
.process-step:first-child.is-active .step-dot,.process-step:first-child:hover .step-dot,.process-step:first-child:focus-visible .step-dot{transform:scale(1.18)}
.step-number{display:block;font-family:var(--serif);font-size:clamp(3rem,4.2vw,4.5rem);line-height:.9;letter-spacing:-.04em;color:#b1936d;transition:color .3s ease,transform .35s ease}
.process-step h3{font-family:var(--serif);font-size:clamp(1.5rem,2vw,1.9rem);font-weight:500;line-height:1.15;margin:28px 0 14px;letter-spacing:-.02em}
.process-step p{margin:0;max-width:265px;color:#6d665d;font-size:.9rem;line-height:1.55}
.process-step:hover,.process-step:focus-visible,.process-step.is-active{background:rgba(169,139,100,.055)}
.process-step:hover .step-number,.process-step:focus-visible .step-number,.process-step.is-active .step-number{color:#8f704c;transform:translateY(-3px)}

@media(max-width:900px){
  .process-top{align-items:flex-start}
  .process-timeline{margin-top:44px}
  .process-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .process-step{min-height:210px;border-bottom:1px solid var(--line)}
  .process-step:nth-child(2){border-right:0;padding-right:0}
  .process-step:nth-child(3){padding-left:0}
  .process-step:nth-child(3),.process-step:nth-child(4){border-bottom:0;margin-top:34px}
  .step-dot{display:none}
  .timeline-track{display:none}
}
@media(max-width:620px){
  .process-top h2{font-size:clamp(2.65rem,12.5vw,3.45rem);line-height:1.01;margin:16px 0}
  .process-top>p{font-size:.92rem;margin-top:12px}
  .process-timeline{margin-top:26px;padding-top:0}
  .process-steps{display:block}
  .process-step,.process-step:not(:first-child),.process-step:first-child,.process-step:last-child{display:grid;grid-template-columns:3.7rem minmax(0,1fr);column-gap:14px;row-gap:5px;min-height:0;padding:18px 0;border-right:0;border-bottom:1px solid var(--line);margin:0;background:transparent}
  .process-step:last-child{border-bottom:0}
  .step-number{grid-column:1;grid-row:1 / span 2;font-size:2.45rem;line-height:1;align-self:start}
  .process-step h3{grid-column:2;grid-row:1;margin:2px 0 4px;font-size:1.42rem}
  .process-step p{grid-column:2;grid-row:2;font-size:.84rem;line-height:1.45;max-width:none}
  .process-step:hover,.process-step:focus-visible,.process-step.is-active{background:transparent}
  .process-step:hover .step-number,.process-step:focus-visible .step-number,.process-step.is-active .step-number{transform:none}
}
@media (prefers-reduced-motion:reduce){.timeline-progress,.step-dot,.step-number,.process-step{transition:none}}

/* v16 — refined mobile process timeline */
@media(max-width:620px){
  .process{padding-top:52px;padding-bottom:48px}
  .process-top{display:block}
  .process-top h2{
    font-family:var(--serif);
    font-size:clamp(2.55rem,11vw,3.15rem);
    line-height:1.02;
    letter-spacing:-.035em;
    margin:15px 0 16px;
    max-width:8.8em;
  }
  .process-top>p{
    max-width:32rem;
    margin:0;
    font-size:.9rem;
    line-height:1.5;
  }
  .process-timeline{
    position:relative;
    margin-top:26px;
    padding:0;
  }
  .process-timeline::before{
    content:"";
    position:absolute;
    left:8px;
    top:12px;
    bottom:18px;
    width:1px;
    background:var(--line);
  }
  .process-steps{display:block}
  .process-step,
  .process-step:not(:first-child),
  .process-step:first-child,
  .process-step:last-child{
    position:relative;
    display:grid;
    grid-template-columns:2.55rem minmax(0,1fr);
    column-gap:10px;
    row-gap:5px;
    min-height:0;
    margin:0;
    padding:14px 0 17px;
    border:0;
    background:transparent;
    cursor:default;
  }
  .process-step:not(:last-child){border-bottom:1px solid var(--line)}
  .step-dot{
    display:block;
    position:absolute;
    left:3px;
    top:19px;
    width:11px;
    height:11px;
    border:2px solid #a98b64;
    border-radius:50%;
    background:var(--paper);
    transform:none;
    z-index:1;
    box-shadow:none;
  }
  .process-step.is-active .step-dot,
  .process-step:hover .step-dot,
  .process-step:focus-visible .step-dot{
    transform:none;
    background:#a98b64;
    box-shadow:0 0 0 5px rgba(169,139,100,.11);
  }
  .step-number{
    grid-column:1;
    grid-row:1;
    align-self:baseline;
    padding-left:20px;
    font-family:var(--sans);
    font-size:.92rem;
    line-height:1;
    letter-spacing:.08em;
    color:#9a8060;
    transform:none;
  }
  .process-step h3{
    grid-column:2;
    grid-row:1;
    margin:0;
    font-family:var(--serif);
    font-size:1.42rem;
    font-weight:500;
    line-height:1.16;
    letter-spacing:-.02em;
  }
  .process-step p{
    grid-column:2;
    grid-row:2;
    max-width:none;
    margin:1px 0 0;
    font-size:.82rem;
    line-height:1.45;
  }
  .process-step:hover,
  .process-step:focus-visible,
  .process-step.is-active{background:transparent}
  .process-step:hover .step-number,
  .process-step:focus-visible .step-number,
  .process-step.is-active .step-number{color:#8f704c;transform:none}
}


/* v17 — unified design and build journey */
.journey{background:var(--paper)}
.journey-head{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);align-items:end;gap:7vw}
.journey-head h2{font-family:var(--serif);font-size:clamp(3rem,5vw,5.7rem);font-weight:500;line-height:1.04;letter-spacing:-.035em;margin:24px 0 0}
.journey-head>p{max-width:430px;margin:0 0 10px;color:#756e65;font-size:1rem;line-height:1.6}
.journey-list{position:relative;margin-top:58px;border-top:1px solid var(--line)}
.journey-list::before{content:"";position:absolute;left:34px;top:0;bottom:0;width:1px;background:rgba(169,139,100,.28);pointer-events:none}
.journey-step{position:relative;border-bottom:1px solid var(--line)}
.journey-step summary{display:grid;grid-template-columns:70px minmax(230px,1.05fr) minmax(220px,.8fr) 34px;align-items:center;gap:24px;min-height:96px;padding:18px 6px 18px 0;cursor:pointer;list-style:none;outline:none}
.journey-step summary::-webkit-details-marker{display:none}
.journey-step summary::before{content:"";position:absolute;left:29px;top:50%;width:9px;height:9px;border:2px solid #aa8960;border-radius:50%;background:var(--paper);transform:translateY(-50%);transition:background .25s ease,box-shadow .25s ease}
.journey-step[open] summary::before,.journey-step summary:hover::before,.journey-step summary:focus-visible::before{background:#aa8960;box-shadow:0 0 0 6px rgba(169,139,100,.12)}
.journey-number{padding-left:0;text-align:right;font-family:var(--sans);font-size:1rem;line-height:1;letter-spacing:.08em;font-weight:600;color:#9a8060}
.journey-title{font-family:var(--serif);font-size:clamp(1.5rem,2.2vw,2rem);font-weight:500;line-height:1.15;letter-spacing:-.02em}
.journey-caption{color:#847d74;font-size:.78rem;line-height:1.35;letter-spacing:.12em;text-transform:uppercase}
.journey-toggle{position:relative;width:24px;height:24px;justify-self:end}
.journey-toggle::before,.journey-toggle::after{content:"";position:absolute;left:50%;top:50%;width:16px;height:1px;background:var(--ink);transform:translate(-50%,-50%);transition:transform .25s ease}
.journey-toggle::after{transform:translate(-50%,-50%) rotate(90deg)}
.journey-step[open] .journey-toggle::after{transform:translate(-50%,-50%) rotate(0)}
.journey-detail{display:grid;grid-template-columns:1fr 1fr;gap:5vw;margin-left:70px;padding:0 58px 28px 24px;animation:journeyReveal .35s ease both}
.journey-detail>div{padding-top:22px;border-top:1px solid rgba(25,23,19,.1)}
.journey-detail-label{display:block;margin-bottom:9px;color:#9a8060;font-size:.66rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase}
.journey-detail p{max-width:500px;margin:0;color:#615b53;font-size:.94rem;line-height:1.6}
.journey-hint{margin-top:18px!important;color:#8a8278;font-size:.72rem;letter-spacing:.07em;text-align:right}
@keyframes journeyReveal{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

@media(max-width:900px){
  .journey-head{grid-template-columns:1fr;gap:18px}
  .journey-head>p{margin:0;max-width:620px}
  .journey-list{margin-top:42px}
  .journey-step summary{grid-template-columns:62px minmax(0,1fr) 34px;gap:18px;min-height:88px}
  .journey-caption{grid-column:2;grid-row:2;margin-top:-18px}
  .journey-toggle{grid-column:3;grid-row:1 / span 2}
  .journey-detail{margin-left:62px;padding-left:18px;padding-right:44px}
  .journey-list::before{left:30px}
  .journey-step summary::before{left:25px}
}

@media(max-width:620px){
  .journey{padding-top:54px;padding-bottom:54px}
  .journey-head h2{font-size:clamp(2.65rem,12.5vw,3.45rem);line-height:1.01;margin:16px 0 0}
  .journey-head>p{font-size:.92rem;line-height:1.5}
  .journey-list{margin-top:30px}
  .journey-list::before{left:7px}
  .journey-step summary{grid-template-columns:34px minmax(0,1fr) 28px;gap:12px;min-height:76px;padding:14px 0}
  .journey-step summary::before{left:2px;width:8px;height:8px}
  .journey-number{text-align:left;font-size:.83rem;padding-left:20px}
  .journey-title{font-size:1.36rem;line-height:1.14}
  .journey-caption{grid-column:2;grid-row:2;margin-top:-8px;font-size:.61rem;letter-spacing:.1em}
  .journey-toggle{width:22px;height:22px}
  .journey-toggle::before,.journey-toggle::after{width:14px}
  .journey-detail{grid-template-columns:1fr;gap:18px;margin-left:34px;padding:0 28px 22px 12px}
  .journey-detail>div{padding-top:16px}
  .journey-detail p{font-size:.86rem;line-height:1.5}
  .journey-hint{margin-top:14px!important;font-size:.65rem;line-height:1.4;text-align:left;padding-left:34px}
}

@media(prefers-reduced-motion:reduce){.journey-detail{animation:none}.journey-toggle::after,.journey-step summary::before{transition:none}}

/* v18 — bilingual language control */
.language-switch{display:flex;align-items:center;gap:3px;margin-right:18px;padding:3px;border:1px solid rgba(255,255,255,.3);background:rgba(18,16,13,.16);backdrop-filter:blur(8px)}
.language-switch>span{font-size:.62rem;color:rgba(255,255,255,.4);padding:0 1px}
.language-option{min-width:32px;height:28px;padding:0 7px;border:0;background:transparent;color:rgba(255,255,255,.68);font-size:.64rem;font-weight:600;letter-spacing:.13em;cursor:pointer;transition:background .2s ease,color .2s ease}
.language-option:hover,.language-option:focus-visible{color:#fff;outline:none}
.language-option.active{background:#f3efe7;color:#191713}
html[lang="ms"] .hero-content{max-width:820px}
html[lang="ms"] .hero h1{font-size:clamp(4rem,7.1vw,7.8rem)}
html[lang="ms"] .journey-title{letter-spacing:-.025em}
@media(max-width:1100px){.site-nav{gap:22px;margin-right:24px}.language-switch{margin-right:14px}.header-cta{padding-left:16px;padding-right:16px}}
@media(max-width:900px){
  .language-switch{margin-left:auto;margin-right:0;padding:2px}
  .language-option{min-width:30px;height:26px;font-size:.61rem}
  .site-header .menu-toggle{margin-left:13px}
}
@media(max-width:620px){
  html[lang="ms"] .hero h1{font-size:clamp(3.45rem,15.2vw,4.2rem);line-height:1.01}
  html[lang="ms"] .hero-copy{font-size:.96rem;line-height:1.55}
  .language-switch{border-color:rgba(255,255,255,.25)}
  .language-option{min-width:28px;height:25px;padding:0 5px}
  .brand-sub{max-width:180px;white-space:nowrap}
}

/* Business contact details */
.contact-details{display:grid;gap:16px;margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}
.contact-detail{display:flex;flex-direction:column;gap:5px;max-width:520px;color:#4f4942;transition:color .25s ease}
.contact-detail:hover{color:var(--ink)}
.contact-detail-label{font-size:.66rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#8b7b68}
.contact-detail>span:last-child{font-size:.9rem;line-height:1.55}
.contact-detail b{font-weight:500;margin-left:4px}
.footer-contact{line-height:1.55}
.footer-contact a:first-child{max-width:280px}
@media(max-width:620px){
  .contact-details{gap:13px;margin-top:22px;padding-top:18px}
  .contact-detail>span:last-child{font-size:.82rem;line-height:1.5}
  .footer-contact a:first-child{max-width:none}
}


/* Mobile contact information placement */
.mobile-contact-details{display:none}
@media(max-width:620px){
  .contact-card>div>.contact-details{display:none}
  .mobile-contact-details{
    display:grid;
    width:100%;
    margin:12px 0 0;
    padding:20px 0 0;
    gap:14px;
    border-top:1px solid var(--line);
  }
  .mobile-contact-details .contact-detail>span:last-child{
    font-size:.82rem;
    line-height:1.48;
  }
  .contact form .form-note{margin-top:2px}
}
