:root{--sand:#cbb39b;--paper:#f5f1ee;--off:#f7f6f4;--ink:#1a1817;--taupe:#7f736a;--line:#ded8d3}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-weight:300;background:white}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.hidden{display:none!important}.site-header{height:138px;background:var(--sand);display:flex;align-items:center;justify-content:space-between;padding:0 10.5%;position:relative;z-index:10}.brand img{width:108px;display:block;opacity:.74}.desktop-nav{display:flex;align-items:center;gap:48px;font-size:13px;font-weight:500;letter-spacing:.06em}.desktop-nav a{transition:opacity .2s}.desktop-nav a:hover{opacity:.55}.menu-btn{display:none}.mobile-menu{display:none}.hero{background:var(--sand);min-height:760px;display:grid;grid-template-columns:46% 54%;padding:0 8.5% 0 8.5%;overflow:hidden}.hero-copy{align-self:center;position:relative;padding:34px 0 60px;max-width:610px}.eyebrow{font-size:12px;letter-spacing:.34em;font-weight:500;text-align:center;color:#776d66;margin:0 0 24px}.eyebrow.light{text-align:left;color:rgba(255,255,255,.9);margin-bottom:36px}.hero h1{font-family:Baskerville,"Times New Roman",Georgia,serif;color:#fff;font-size:72px;line-height:1.08;font-weight:500;margin:0 0 38px;letter-spacing:-.018em}.hero h1 span{color:rgba(255,255,255,.72)}.hero-copy>p:not(.eyebrow):not(.brands-line){font-size:17px;line-height:1.8;margin:0 0 17px;color:rgba(255,255,255,.78);max-width:500px}.brands-line{font-size:14px;line-height:1.6;color:#fff;max-width:530px;margin:0 0 42px}.primary-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:44px;background:#fff;color:#171515;padding:22px 34px;min-width:355px;font-size:14px;font-weight:600;letter-spacing:.14em;border-radius:4px;box-shadow:0 8px 20px rgba(0,0,0,.06)}.primary-btn span{font-size:29px;font-weight:300;line-height:.7}.new-badge{position:absolute;left:320px;bottom:55px;background:#817a74;color:#fff;border-radius:50%;width:46px;height:46px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600}.hero-visual{height:100%;display:flex;justify-content:center;align-items:flex-end;position:relative}.portrait{width:min(640px,100%);height:auto;display:block;mix-blend-mode:multiply;object-fit:contain}.hero-logo{position:absolute;width:260px;left:1%;bottom:29%;filter:brightness(0) invert(1)}.letter-section{min-height:720px;background:var(--off);display:flex;align-items:center;justify-content:center;padding:100px 24px}.letter-card{position:relative;width:600px;height:390px;border:1px solid #d6d0ca;background:#faf9f8;box-shadow:0 12px 32px rgba(0,0,0,.04);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;color:#504a46}.seal{position:absolute;top:-17px;width:34px;height:34px;border-radius:50%;background:#8b817a;color:#fff;display:grid;place-items:center;font-family:Baskerville,"Times New Roman",Georgia,serif}.letter-title{font-family:Baskerville,"Times New Roman",Georgia,serif;font-size:38px;line-height:1.2;text-align:center}.letter-rule{width:45px;height:1px;background:#c8c1bb;margin:28px 0}.letter-open{font-size:13px;letter-spacing:.32em;color:#82776f}.journey{padding:105px 24px 100px;max-width:1100px;margin:auto}.journey h2,.projects h2,.packages h2,.contact h2{font-family:Baskerville,"Times New Roman",Georgia,serif;font-size:58px;line-height:1.1;font-weight:500;text-align:center;margin:0 0 72px}.timeline{max-width:1010px;margin:auto}.timeline article{display:grid;grid-template-columns:55px 1fr;gap:30px;margin-bottom:72px}.icon{width:48px;height:48px;border-radius:50%;background:#f3efec;color:#7f726a;display:grid;place-items:center;font-size:20px}.timeline h3{font-family:Baskerville,"Times New Roman",Georgia,serif;font-size:25px;font-weight:600;margin:0 0 12px}.timeline p{font-size:17px;line-height:1.7;color:#888582;margin:0;max-width:860px}.journey-cta{margin:70px auto 0;max-width:900px;background:#faf9f8;text-align:center;padding:38px 30px 45px;color:#8a8683}.journey-cta p{margin:0 0 15px;font-size:16px}.journey-cta strong{color:#222}.cta-row{display:flex;gap:20px;justify-content:center;margin-top:35px}.secondary-btn{min-width:175px;padding:17px 25px;border:1px solid #c8c2bd;color:#111;font-size:14px;font-weight:500;background:#fff}.secondary-btn.filled{background:#7f736a;color:#fff;border-color:#7f736a}.projects{background:#f4f0ec;padding:100px 6% 120px}.section-head{max-width:840px;margin:0 auto 65px;text-align:center}.section-head .eyebrow{margin-bottom:20px}.projects h2{margin-bottom:20px}.section-head>p:last-child{color:#8b8784;font-size:16px;line-height:1.6}.project-grid{max-width:1400px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.project-card{background:#fff;border:1px solid #ddd7d2;display:block;transition:transform .2s,box-shadow .2s;overflow:hidden}.project-card:hover{transform:translateY(-4px);box-shadow:0 15px 35px rgba(0,0,0,.07)}.project-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:#eee}.project-card div{padding:25px 26px 30px}.project-card span{font-size:10px;letter-spacing:.16em;color:#83786f;font-weight:600}.project-card h3{font-family:Baskerville,"Times New Roman",Georgia,serif;font-size:26px;line-height:1.15;margin:13px 0 11px;font-weight:600}.project-card p{font-size:13px;line-height:1.6;color:#807b77;margin:0}.portfolio-cta{text-align:center;margin-top:52px}.primary-dark{display:inline-flex;gap:26px;align-items:center;background:#171615;color:white;padding:18px 28px;font-size:13px;font-weight:600;letter-spacing:.12em}.packages{background:var(--paper);padding:90px 6% 120px}.packages h2{margin-bottom:20px}.packages-intro{text-align:center;color:#8c8784;font-size:17px;line-height:1.6;margin:0 0 72px}.cards{max-width:1400px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:25px;align-items:start}.package-card{position:relative;background:#fff;border:1px solid #d4ceca;border-radius:7px;padding:55px 48px 48px;box-shadow:0 3px 14px rgba(0,0,0,.03);min-height:930px}.package-card.featured{margin-top:-14px}.recommended{position:absolute;top:-20px;left:50%;transform:translateX(-50%);background:#7d726b;color:#fff;padding:10px 25px;border-radius:25px;font-size:10px;letter-spacing:.2em;font-weight:600}.package-card h3{font-family:Baskerville,"Times New Roman",Georgia,serif;font-size:26px;line-height:1.25;margin:0 0 18px;font-weight:600}.price{font-family:Baskerville,"Times New Roman",Georgia,serif;font-size:32px;font-weight:600;margin:0 0 25px}.price span{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:14px;font-weight:300;color:#8a8581}.desc{color:#8b8784;line-height:1.65;font-size:16px;min-height:90px}.package-card hr{border:0;border-top:1px solid #ddd7d3;margin:38px 0 30px}.package-card h4{font-size:11px;letter-spacing:.18em;color:#746a64;margin:28px 0 16px;font-weight:500}.old-price{text-decoration:line-through;color:#aaa4a0;letter-spacing:0;font-weight:300;margin-left:8px}.included{letter-spacing:0;text-transform:none;color:#6b625d}.package-card ul{list-style:none;padding:0;margin:0}.package-card li{position:relative;padding-left:28px;margin:0 0 13px;color:#817d79;font-size:15px;line-height:1.45}.package-card li:before{content:"✓";position:absolute;left:0;color:#9b938d}.included-copy{font-size:14px;color:#5d5651;font-weight:500;max-width:280px}.budget-note{font-size:11px;color:#aaa4a0;margin-top:28px}.card-btn{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:36px;padding:17px 15px;font-size:14px;font-weight:500}.card-btn.muted{background:#7a6f67;color:#fff}.card-btn.dark{background:#151515;color:#fff}.contact{background:#f5f1ee;padding:90px 24px 110px}.contact h2{margin-bottom:26px}.contact-intro{text-align:center;color:#8c8784;font-size:17px}.availability{text-align:center;color:#9b9692;font-size:13px;margin:25px 0 55px}.availability span{display:inline-block;width:10px;height:10px;background:#78d390;border-radius:50%;margin-right:8px}.availability strong{color:#514a46}.contact-form{max-width:1030px;margin:auto;background:#fff;border-radius:5px;padding:55px 70px;box-shadow:0 4px 14px rgba(0,0,0,.03)}.contact-form label{display:block;font-size:17px;font-weight:500;color:#52504e;margin-bottom:28px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #ddd7d2;background:#f7f5f3;border-radius:5px;padding:18px 20px;margin-top:12px;color:#2a2928;font-weight:300}.contact-form select{height:58px}.contact-form textarea{min-height:170px;resize:vertical}.form-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:35px}.submit-btn{width:100%;border:0;background:#7d7067;color:#fff;padding:20px;font-size:18px;letter-spacing:.03em;cursor:pointer}.submit-btn span{margin-right:10px}footer{background:#1c1917;color:#d9d3ce;text-align:center;padding:70px 20px 45px}footer img{width:155px;filter:brightness(0) invert(1);opacity:.88}footer p{margin:8px 0;font-size:13px}footer a{text-decoration:underline;text-underline-offset:4px}footer .copyright{margin-top:30px;opacity:.55;font-size:11px}.letter-modal{border:0;padding:0;width:min(900px,calc(100% - 40px));max-height:88vh;background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.25)}.letter-modal::backdrop{background:rgba(46,43,40,.55)}.modal-inner{position:relative;padding:65px 70px 85px}.close-modal{position:absolute;right:28px;top:25px;border:0;background:none;font-size:13px;letter-spacing:.12em;color:#776d66;cursor:pointer}.modal-logo{display:block;width:105px;margin:0 auto 70px}.modal-inner>h2{font-family:Baskerville,"Times New Roman",Georgia,serif;text-align:center;font-size:42px;font-weight:500;margin:0 0 70px}.letter-body{max-width:720px;margin:auto;color:#65615e;font-size:17px;line-height:1.8}.letter-body h3{font-family:Baskerville,"Times New Roman",Georgia,serif;font-size:30px;color:#1c1a19;margin:50px 0 18px}.letter-body p{margin:0 0 22px}.letter-body strong{color:#2e2a27}@media(max-width:1100px){.hero{grid-template-columns:50% 50%;padding-left:6%;padding-right:6%}.hero h1{font-size:62px}.project-grid{grid-template-columns:repeat(2,1fr)}.package-card{padding-left:34px;padding-right:34px}}@media(max-width:900px){.site-header{height:118px;padding:0 9%;background:#f5f3f1}.brand img{width:105px}.desktop-nav{display:none}.menu-btn{display:flex;border:0;background:transparent;width:40px;height:40px;flex-direction:column;justify-content:center;gap:6px}.menu-btn span{display:block;width:28px;height:3px;background:#141211;border-radius:2px}.mobile-menu{display:none;position:absolute;top:118px;left:0;right:0;z-index:20;background:#fff;padding:30px 10% 40px;box-shadow:0 12px 30px rgba(0,0,0,.08)}.mobile-menu.open{display:flex;flex-direction:column;gap:25px}.mobile-menu a{font-size:14px;letter-spacing:.08em}.hero{min-height:0;display:flex;flex-direction:column;padding:0;background:var(--sand)}.hero-visual{order:1;width:100%;height:auto;min-height:0}.portrait{width:100%;mix-blend-mode:multiply}.hero-logo{width:245px;left:12%;bottom:33%;filter:brightness(0) invert(1)}.hero-copy{order:2;padding:65px 7% 85px;max-width:none;width:100%}.hero h1{font-size:58px}.hero-copy>p:not(.eyebrow):not(.brands-line){font-size:18px}.primary-btn{min-width:0;width:100%;padding:22px 25px}.new-badge{right:4%;left:auto;bottom:72px}.letter-section{min-height:690px;padding:100px 8%}.letter-card{width:100%;max-width:520px;height:410px}.journey{padding-top:85px}.journey h2,.projects h2,.packages h2,.contact h2{font-size:48px}.timeline article{grid-template-columns:45px 1fr;gap:18px;margin-bottom:50px}.icon{width:40px;height:40px}.timeline p{font-size:16px}.cta-row{flex-direction:column;align-items:center}.secondary-btn{width:100%;max-width:320px}.project-grid{grid-template-columns:1fr;max-width:650px}.cards{grid-template-columns:1fr;max-width:620px}.package-card,.package-card.featured{margin:0;min-height:0}.package-card.featured{margin-top:20px}.contact-form{padding:35px 24px}.form-grid.two{grid-template-columns:1fr;gap:0}.modal-inner{padding:60px 28px 70px}.modal-inner>h2{font-size:36px}.letter-body{font-size:16px}}@media(max-width:520px){.hero h1{font-size:50px}.hero-logo{width:210px}.letter-title{font-size:34px}.projects,.packages{padding-left:20px;padding-right:20px}.project-card div{padding:22px}.package-card{padding:45px 28px}.journey-cta{padding-left:20px;padding-right:20px}.contact{padding-left:14px;padding-right:14px}.contact-form{padding:30px 18px}}

/* ---- September 2026 master-site refinements ---- */
/* Seamless hero portrait blend: remove the rectangular colour break without darkening the photo. */
.portrait{
  mix-blend-mode:normal!important;
  filter:brightness(1.04) saturate(.92) contrast(.96);
  -webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.18) 3%,#000 14%,#000 100%);
  mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.18) 3%,#000 14%,#000 100%);
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-size:100% 100%;
  mask-size:100% 100%;
}
.hero-visual{background:var(--sand);overflow:hidden}
.hero-visual::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,var(--sand) 0%,rgba(203,179,155,.88) 5%,rgba(203,179,155,.38) 11%,rgba(203,179,155,0) 22%);
}
.hero-logo{z-index:2}
/* Requested white header logo. */
.site-header .brand img { filter: brightness(0) invert(1); opacity:1; }
/* Real native dropdowns, with an obvious interactive cursor. */
.contact-form select { appearance:auto; -webkit-appearance:menulist; cursor:pointer; }
.contact-form select:focus, .contact-form input:focus, .contact-form textarea:focus { outline:2px solid #9a8b80; outline-offset:2px; }
/* Never crop case-study screenshots. */
.project-card { appearance:none; -webkit-appearance:none; padding:0; text-align:left; color:inherit; font:inherit; cursor:pointer; width:100%; }
.project-image-wrap { width:100%; aspect-ratio:16/9; background:#f6f0e9; display:flex; align-items:center; justify-content:center; overflow:hidden; border-bottom:1px solid #ddd7d2; }
.project-card .project-image-wrap img { width:100%; height:100%; object-fit:contain; aspect-ratio:auto; display:block; background:#f6f0e9; }
.project-card-copy { padding:25px 26px 30px; }
.project-lightbox { border:0; padding:0; width:min(96vw,1700px); max-height:94vh; background:#f6f0e9; box-shadow:0 20px 70px rgba(0,0,0,.32); }
.project-lightbox::backdrop { background:rgba(28,25,23,.78); }
.project-lightbox img { width:100%; height:auto; max-height:90vh; object-fit:contain; display:block; }
.project-lightbox-close { position:fixed; top:24px; right:28px; z-index:5; border:0; background:#fff; color:#1b1918; padding:10px 14px; font-size:11px; letter-spacing:.14em; cursor:pointer; box-shadow:0 5px 18px rgba(0,0,0,.14); }
@media(max-width:900px){
  .site-header { background:var(--sand); }
  .site-header .brand img { filter:brightness(0) invert(1); }
  .portrait{
    filter:brightness(1.04) saturate(.92) contrast(.96);
    -webkit-mask-image:none;
    mask-image:none;
  }
  .hero-visual::after{background:none}
}

.form-privacy{font-size:12px;line-height:1.6;color:#8a8581;margin:-4px 0 24px}
.form-privacy a{text-decoration:underline;text-underline-offset:3px;color:#514a46}
.legal-links{display:flex;gap:10px;justify-content:center;align-items:center;margin-top:20px!important}
.legal-links a{text-decoration:underline;text-underline-offset:4px}
.legal-page{min-height:100vh;background:#f7f5f2;color:#272321}
.legal-header{display:flex;align-items:center;justify-content:space-between;padding:34px 8%;border-bottom:1px solid #ddd6d0;background:#cbb39b}
.legal-header img{width:110px;filter:brightness(0) invert(1)}
.legal-header a.back-home{font-size:12px;letter-spacing:.12em;font-weight:600;color:#fff}
.legal-main{max-width:900px;margin:0 auto;padding:80px 24px 110px}
.legal-main .eyebrow{text-align:left;margin-bottom:18px}
.legal-main h1{font-family:Baskerville,"Times New Roman",Georgia,serif;font-size:56px;line-height:1.05;font-weight:400;margin:0 0 18px}
.legal-main .updated{font-size:12px;color:#8a837d;margin-bottom:55px}
.legal-main h2{font-family:Baskerville,"Times New Roman",Georgia,serif;font-size:30px;font-weight:400;margin:44px 0 12px}
.legal-main p,.legal-main li{font-size:15px;line-height:1.75;color:#5f5955}
.legal-main ul{padding-left:22px}
.legal-main a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){.legal-header{padding:25px 7%}.legal-main{padding-top:55px}.legal-main h1{font-size:44px}}

/* Transparent hero portrait asset */
.hero-visual{background:var(--sand);overflow:hidden}
.portrait{
  mix-blend-mode:normal!important;
  filter:none!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
  width:min(650px,100%);
  object-fit:contain;
  object-position:center bottom;
}
.hero-visual::after{display:none!important}
@media(max-width:900px){
  .portrait{width:100%;filter:none!important}
}

/* Hero portrait spacing: keep clear separation from the white logo on desktop */
@media (min-width:901px){
  .hero-visual .portrait{
    width:min(610px,100%);
    transform:translateX(95px);
  }
}


/* ---- Mobile hero polish 2026-09-23 ---- */
@media (max-width:900px){
  .site-header{
    height:96px;
    padding:0 7%;
    background:var(--sand);
  }
  .brand img{
    width:112px;
  }
  .mobile-menu{
    top:96px;
  }
  .hero{
    display:flex;
    flex-direction:column;
    min-height:0;
    padding:0;
    overflow:hidden;
    background:var(--sand);
  }
  .hero-copy{
    order:1;
    width:100%;
    max-width:none;
    padding:46px 7% 40px;
  }
  .eyebrow.light{
    margin-bottom:24px;
    font-size:10px;
    letter-spacing:.28em;
  }
  .hero h1{
    font-size:clamp(46px,11.8vw,58px);
    line-height:1.02;
    margin-bottom:28px;
  }
  .hero-copy>p:not(.eyebrow):not(.brands-line){
    max-width:none;
    font-size:15px;
    line-height:1.65;
    margin-bottom:14px;
  }
  .brands-line{
    max-width:none;
    margin-bottom:28px;
    font-size:13px;
    line-height:1.55;
  }
  .primary-btn{
    width:100%;
    min-width:0;
    padding:19px 22px;
    gap:20px;
  }
  .new-badge{
    display:none;
  }
  .hero-visual{
    order:2;
    width:100%;
    min-height:0;
    height:auto;
    padding:0 5%;
    align-items:flex-end;
    justify-content:center;
    background:var(--sand);
    overflow:hidden;
  }
  .hero-visual .portrait{
    width:min(100%,520px)!important;
    max-height:620px;
    height:auto;
    object-fit:contain;
    object-position:center bottom;
    transform:none!important;
    margin:0 auto;
  }
  .hero-logo{
    display:none!important;
  }
}

@media (max-width:520px){
  .site-header{
    height:90px;
  }
  .mobile-menu{
    top:90px;
  }
  .hero-copy{
    padding:38px 7% 34px;
  }
  .hero h1{
    font-size:44px;
    line-height:1.03;
  }
  .hero-visual{
    padding:0 6%;
  }
  .hero-visual .portrait{
    width:100%!important;
    max-height:560px;
  }
}
