
:root{--green:#073d35;--deep:#052f29;--sage:#dce7de;--cream:#f8f5ed;--paper:#fffdf8;--gold:#c9a65e;--ink:#203b32;--muted:#58675f;--line:#d6ddd3}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.8 "Be Vietnam Pro",Arial,sans-serif}h1,h2,h3,p,figure{margin:0}h1,h2,.serif{font-family:"Playfair Display",Georgia,serif;font-weight:400;line-height:1.22}h1{font-size:clamp(44px,4.2vw,60px);letter-spacing:-2.2px}h2{font-size:clamp(34px,3.5vw,50px);letter-spacing:-1px}h3{font-size:20px;line-height:1.5}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;max-width:100%}a,button{transition:background .2s,color .2s,opacity .2s}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.wrap{width:min(1180px,calc(100% - 80px));margin:auto}.eyebrow{display:block;font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;margin-bottom:23px}.label{color:#976f29}.muted{color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:52px;padding:13px 25px;background:var(--green);color:#fffdf8;border:1px solid var(--green);border-radius:3px;font-size:14px;font-weight:500}.btn:hover{background:#155a4b}.btn.gold{background:var(--gold);border-color:var(--gold);color:var(--deep)}.btn.gold:hover{background:#dec387}.text-link{display:inline-flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid currentColor;font-size:14px}.arrow{font-size:23px;font-family:Arial;line-height:1}.section{padding:105px 0}.header{background:var(--cream);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}.nav{display:flex;align-items:center;justify-content:space-between;min-height:86px;gap:25px}.brand{display:flex;align-items:center;gap:12px}.monogram{font-family:Georgia,serif;font-size:32px;border:1px solid #a5b3a5;border-radius:50%;width:47px;height:47px;display:grid;place-items:center;line-height:1}.brand-name{font-size:13px;font-weight:600;letter-spacing:1.5px}.brand small{display:block;font-size:9px;letter-spacing:1.6px;color:var(--muted);margin-top:2px}.navlinks{display:flex;gap:28px;font-size:12px;align-items:center}.navlinks a:hover{color:#916b2a}.nav .btn{min-height:43px;padding:9px 18px;font-size:12px}.menu{display:none;background:none;border:1px solid var(--line);height:44px;width:44px;border-radius:3px;font-size:23px}
.hero{background:var(--green);color:var(--cream);position:relative;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.2fr .9fr;gap:60px;align-items:center;padding:54px 0 54px}.hero .eyebrow{color:#d6bc7a;letter-spacing:1.8px;font-size:10px}.hero h1 em{color:#e2c58a}.hero .intro{font-size:15px;line-height:1.9;color:#d4e2da;max-width:480px;margin:25px 0 29px}.hero .btn{margin-right:22px}.hero .text-link{font-size:12px;color:#e1e9e1;border:0}.hero-meta{display:flex;gap:24px;flex-wrap:wrap;margin-top:35px;color:#b4c9be;font-size:10px;letter-spacing:1.4px}.hero-meta span+span:before{content:"·";margin-right:24px;color:var(--gold)}.hero-visual{position:relative;padding:10px 0 28px}.portrait{position:relative;aspect-ratio: .84;background:#1b6556;border-radius:180px 180px 8px 8px;overflow:hidden;border:1px solid #b99d58}.portrait img{position:absolute;width:280%;max-width:none;height:auto;right:-13%;top:-21%}.portrait-note{position:absolute;left:-35px;bottom:0;background:var(--cream);color:var(--green);padding:19px 27px;max-width:290px;border-left:3px solid var(--gold);box-shadow:0 14px 35px #00201838}.portrait-note .serif{font-size:23px;line-height:1.35}.portrait-note small{font-size:10px;letter-spacing:1px;display:block;margin-top:10px;color:var(--muted)}.proofbar{background:#e8eadd;border-bottom:1px solid var(--line)}.proof-grid{display:grid;grid-template-columns:1.2fr repeat(3,1fr);align-items:center;padding:28px 0;gap:30px}.proof-grid>p{font-size:12px;color:var(--muted);max-width:170px}.stat{border-left:1px solid #bfc9ba;padding-left:30px}.stat b{font:38px/1.2 Georgia,serif;font-weight:400}.stat span{font-size:11px;color:var(--muted);display:block;margin-top:6px}
.about{display:grid;grid-template-columns:.8fr 1.1fr;gap:120px}.about h2 em{color:#697b5d}.about-copy p{margin-bottom:20px}.signature{font-family:"Playfair Display",Georgia,serif;font-style:italic;font-size:28px;padding-top:12px}.signature small{font:10px "Be Vietnam Pro",sans-serif;display:block;letter-spacing:1.5px;margin-top:10px;color:var(--muted)}.audience{background:#edf0e7}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:48px}.section-heading>p{font-size:14px;max-width:330px;color:var(--muted)}.rows{border-top:1px solid #bdcbbd}.row{display:grid;grid-template-columns:60px 1fr 1fr;gap:30px;padding:32px 0;border-bottom:1px solid #bdcbbd;align-items:start}.number{font-family:Georgia,serif;font-size:25px;color:#71806a}.row p{font-size:14px;color:var(--muted)}.closing-note{font-size:13px;color:var(--muted);margin-top:28px}
.service-top{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:end;margin-bottom:50px}.service-top p{color:var(--muted);font-size:14px}.service-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:25px}.service-main{padding:45px;background:var(--green);color:var(--cream);display:flex;flex-direction:column;align-items:flex-start}.service-main h3{font:34px/1.3 "Playfair Display",Georgia,serif;margin:20px 0}.service-main p{font-size:14px;color:#d2ded4}.service-main .text-link{margin-top:35px;color:#e9ce94}.service-points{display:flex;flex-direction:column;gap:20px}.point{padding:26px 30px;border:1px solid var(--line);background:var(--paper)}.point h3{font-size:17px}.point p{font-size:13px;color:var(--muted);margin-top:8px}.tag{font-size:10px;letter-spacing:1.5px;color:#b2c9b9}.process{background:#e5e9dc}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;margin-top:50px}.process-item{border-top:1px solid #a5b69f;padding-top:25px}.process-item .number{font-size:40px;display:block;margin-bottom:22px}.process-item h3{font-size:18px;margin-bottom:13px}.process-item p{font-size:13px;color:var(--muted)}
.quote{padding:85px 0;background:var(--green);color:var(--cream);text-align:center}.quote blockquote{font:italic 40px/1.5 "Playfair Display",Georgia,serif;max-width:760px;margin:0 auto 23px}.quote .eyebrow{color:#d7bf86;margin:0}.values{display:flex;gap:32px;justify-content:center;flex-wrap:wrap;margin-top:38px;color:#d3e0d6;font-size:11px;letter-spacing:2px}
.journey-grid{display:grid;grid-template-columns:.75fr 1.15fr;gap:110px}.journey-lead p{font-size:14px;color:var(--muted);margin-top:25px}.timeline{border-left:1px solid #bdc9b8;margin-left:9px}.milestone{position:relative;padding:0 0 27px 31px;display:grid;grid-template-columns:58px 1fr;gap:20px;font-size:13px}.milestone:before{content:"";width:8px;height:8px;background:#9d8150;border-radius:50%;position:absolute;left:-4.5px;top:9px}.milestone b{font-size:14px;color:#6c7c60;font-weight:500}.milestone:last-child{padding-bottom:0}.community{background:#edece3}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:25px}.gallery figure{background:var(--paper);border:1px solid var(--line)}.gallery img{width:100%;height:auto}.gallery figcaption{padding:14px 20px;font-size:12px;color:var(--muted)}.trust{display:grid;grid-template-columns:.8fr 1.1fr;gap:100px}.trust-list{display:grid;gap:25px}.trust-list article{padding-bottom:25px;border-bottom:1px solid var(--line)}.trust-list h3{font-size:17px;margin-bottom:10px}.trust-list p{font-size:14px;color:var(--muted)}.faq{padding-top:0}.faq-inner{max-width:800px;margin:auto}.faq h2{margin-bottom:30px}details{border-bottom:1px solid var(--line);padding:21px 0}summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:25px;font-size:15px;font-weight:500}summary::-webkit-details-marker{display:none}summary:after{content:"+";font:23px Georgia;flex-shrink:0}details[open] summary:after{content:"−"}details p{font-size:14px;color:var(--muted);margin-top:16px;max-width:700px}.contact{background:var(--green);color:var(--cream);padding:85px 0}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:90px;align-items:center}.contact .eyebrow{color:#d6bd83}.contact p{font-size:14px;color:#c5d7ca;max-width:490px;margin-top:23px}.contact-links{border-top:1px solid #507064;padding-top:28px}.contact-links .btn{width:100%;margin-bottom:22px}.contact-line{display:flex;justify-content:space-between;gap:15px;font-size:13px;padding:12px 0;color:#d4e2d9;border-bottom:1px solid #507064;overflow-wrap:anywhere}.contact-line:hover{color:#e6c88f}.contact-sub{display:flex;gap:25px;margin-top:20px;font-size:12px;color:#d6bd83}.footer{padding:27px 0 30px;font-size:10px;letter-spacing:.7px}.footer .wrap{display:flex;justify-content:space-between;gap:20px}.mobile-cta{display:none}
@media(min-width:1440px){.hero-grid{padding-top:65px;padding-bottom:65px}}
@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.hero-grid{gap:40px}.navlinks{gap:16px}.about,.journey-grid,.trust{gap:55px}.hero-meta{gap:12px;letter-spacing:.8px}.hero-meta span+span:before{margin-right:12px}.service-top{gap:40px}.proof-grid{gap:15px}.stat{padding-left:18px}.contact-grid{gap:45px}.portrait-note{left:-10px;padding:15px 20px}.row{grid-template-columns:40px .9fr 1.1fr;gap:22px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.section{padding:70px 0}.nav{min-height:73px}.brand-name{font-size:11px}.brand small{font-size:8px}.monogram{width:39px;height:39px;font-size:27px}.menu{display:block}.nav>.btn{display:none}.menu{margin-left:auto}.navlinks{display:none;position:absolute;top:73px;left:0;right:0;background:var(--cream);border-bottom:1px solid var(--line);padding:18px 20px;flex-direction:column;align-items:stretch;gap:0}.navlinks.open{display:flex}.navlinks a{padding:12px}.hero-grid{grid-template-columns:1fr;gap:38px;padding:52px 0}.hero h1{max-width:530px;font-size:52px}.hero .intro{font-size:14px}.hero .eyebrow{font-size:9px;letter-spacing:1.1px}.hero .btn{margin-right:10px}.hero-visual{width:min(370px,90%);justify-self:center;padding-bottom:24px}.portrait{aspect-ratio:.95}.portrait-note{left:-13px;max-width:250px}.portrait-note .serif{font-size:21px}.hero-meta{margin-top:24px;font-size:9px;gap:8px}.hero-meta span+span:before{margin-right:8px}.proof-grid{grid-template-columns:repeat(3,1fr);gap:8px;padding:25px 0}.proof-grid>p{grid-column:1/-1;max-width:none;margin-bottom:12px}.stat{padding-left:13px}.stat b{font-size:32px}.stat span{font-size:9px;line-height:1.7}.about,.journey-grid,.trust,.contact-grid,.service-top{grid-template-columns:1fr;gap:30px}.about-copy{font-size:14px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:20px}.row{grid-template-columns:32px 1fr;gap:16px;padding:25px 0}.row h3{font-size:19px}.row p{grid-column:2;font-size:13px}.service-grid{grid-template-columns:1fr}.service-main{padding:30px}.process-grid{grid-template-columns:1fr;gap:28px;margin-top:35px}.process-item{display:grid;grid-template-columns:48px 1fr;gap:0 18px;padding-top:18px}.process-item .number{grid-row:span 2;margin:0}.process-item p{grid-column:2}.quote{padding:60px 0}.quote blockquote{font-size:29px}.values{gap:18px;font-size:9px}.gallery{grid-template-columns:1fr;gap:20px}.milestone{grid-template-columns:45px 1fr;gap:15px;padding-left:23px}.contact{padding:65px 0}.contact-grid{gap:35px}.contact h2{font-size:37px}.footer{padding-bottom:95px}.footer .wrap{flex-direction:column;gap:8px}.mobile-cta{position:fixed;bottom:0;left:0;right:0;background:#f8f5edf5;border-top:1px solid var(--line);padding:10px 20px max(10px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:15px;z-index:60}.mobile-cta span{font-size:11px;line-height:1.5}.mobile-cta .btn{min-height:44px;padding:10px 20px;font-size:12px}.faq{padding-top:0}.contact-line{font-size:12px}}
@media(max-width:390px){.hero h1{font-size:46px}.nav>.btn{padding:9px 11px;font-size:11px}.nav{gap:9px}.hero-meta{letter-spacing:0}.hero .text-link{font-size:11px}.contact-line{font-size:11px}.stat span{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Responsive refinements for the combined profile. */
html { scroll-padding-top: 100px; }
body { overflow-x: clip; }
h1,h2,.serif { font-family:'Playfair Display','Times New Roman',serif; font-weight:500; font-kerning:normal; letter-spacing:0; }
h3 { font-family:'Be Vietnam Pro',Arial,sans-serif; font-weight:600; }
.skip { position:fixed; top:-90px; left:20px; padding:12px; background:white; z-index:100; }
.skip:focus { top:10px; }
.hero-grid { grid-template-columns:1.12fr .9fr; gap:64px; padding:56px 0 64px; align-items:center; }
.hero-name { color:#e6ca8e; font-size:18px; font-weight:500; margin:0 0 18px; letter-spacing:.04em; }
.hero h1 { font-size:clamp(38px,4vw,57px); line-height:1.18; letter-spacing:-.02em; }
.hero h1 em { font-style:normal; }
.hero .intro { max-width:540px; margin-top:24px; }
.hero-visual { padding:0; display:flex; flex-direction:column; align-items:center; gap:16px; }
.portrait { width:100%; aspect-ratio:.78; border-radius:220px 220px 16px 16px; background:radial-gradient(ellipse at 50% 40%,#276e5b,#135245); }
.portrait img { position:absolute; width:100%; height:100%; max-width:100%; inset:0; object-fit:contain; object-position:center bottom; }
.portrait-note { position:relative; inset:auto; width:min(100%,310px); max-width:310px; padding:12px 16px; margin:0; box-shadow:none; align-self:center; border-left-width:2px; }
.portrait-note .serif { font-size:18px; line-height:1.35; }
.portrait-note small { font-size:9px; margin-top:7px; letter-spacing:.08em; }
.company-context { padding:18px 20px; background:#edf0e7; border-left:2px solid #c9a65e; font-size:14px; }
.section { padding:85px 0; }
.gallery { grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.gallery figure { min-width:0; overflow:hidden; border-radius:8px; }
.photo-open { display:block; width:100%; padding:0; border:0; background:#073d35; cursor:zoom-in; }
.gallery .photo-open { aspect-ratio:4/3; }
.gallery img { width:100%; height:100%; object-fit:cover; object-position:center; }
.gallery figcaption { padding:15px 16px; line-height:1.55; font-size:12px; }
.more-photos { margin-top:28px; }
.profile-gallery { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:20px; }
.profile-gallery img { width:100%; height:auto; }
.proof-grid { grid-template-columns:1.1fr repeat(3,1fr); }
.quote { padding:55px 0; }
.quote blockquote { max-width:790px; font-size:clamp(26px,3vw,36px); line-height:1.5; }
.values { margin-top:26px; }
.service-main { border-radius:8px; }
.point { border-radius:8px; }
.contact .btn.gold { font-weight:600; }
.contact-line { min-height:52px; align-items:center; }
dialog { border:0; border-radius:10px; padding:0; background:#052f29; max-width:min(1100px,94vw); max-height:92dvh; overflow:auto; }
dialog::backdrop { background:#001c19dc; }
dialog img { display:block; max-width:100%; max-height:85dvh; width:auto; height:auto; object-fit:contain; }
.close-photo { position:sticky; top:8px; float:right; margin:8px; border:1px solid #fff8; border-radius:50%; background:#073d35; color:#fff; font:28px/1 Arial; width:42px; height:42px; z-index:2; }
@media(max-width:1000px) { .hero-grid { gap:36px; } .gallery{grid-template-columns:1fr 1fr;} .about,.trust,.journey-grid{gap:45px;} }
@media(max-width:760px) {
  .wrap { width:calc(100% - 40px); }
  h1,h2 { overflow-wrap:normal; }
  .hero-grid { grid-template-columns:1fr; gap:32px; padding:38px 0 40px; }
  .hero-name { font-size:16px; margin-bottom:16px; }
  .hero h1 { font-size:clamp(33px,9.2vw,43px); line-height:1.22; letter-spacing:0; }
  .hero .eyebrow { line-height:1.8; margin-bottom:17px; }
  .hero .intro { font-size:14px; line-height:1.85; margin:22px 0; }
  .hero-meta { margin-top:22px; font-size:9px; line-height:1.9; }
  .hero .btn { margin-right:12px; }
  .hero-visual { width:min(100%,410px); margin:auto; gap:14px; }
  .portrait { width:100%; aspect-ratio:.82; border-radius:170px 170px 12px 12px; }
  .portrait-note { width:min(100%,250px); max-width:250px; padding:10px 14px; }
  .portrait-note .serif { font-size:16px; line-height:1.35; }
  .portrait-note small { font-size:8px; margin-top:6px; }
  .proof-grid { grid-template-columns:repeat(3,1fr); gap:16px 8px; padding:26px 0; }
  .proof-grid>p { grid-column:1/-1; max-width:100%; font-size:13px; }
  .stat { padding-left:12px; min-width:0; }
  .stat b { font-size:30px; }
  .stat span { font-size:10px; line-height:1.65; }
  .section { padding:60px 0; }
  .section h2 { font-size:32px; line-height:1.25; letter-spacing:0; }
  .about,.trust,.journey-grid,.service-top,.service-grid,.process-grid,.contact-grid { grid-template-columns:1fr; gap:28px; }
  .section-heading { display:block; margin-bottom:30px; }
  .section-heading>p { margin-top:20px; max-width:none; }
  .row { grid-template-columns:32px 1fr; gap:14px; }
  .row p { grid-column:2; }
  .service-main { padding:28px 24px; }
  .service-main h3 { font-size:28px; }
  .process-grid { margin-top:30px; }
  .process-item .number { margin-bottom:14px; font-size:31px; }
  .gallery { grid-template-columns:1fr; gap:22px; }
  .gallery figcaption { font-size:13px; }
  .profile-gallery { grid-template-columns:1fr; }
  .quote { padding:40px 0; }
  .quote blockquote { font-size:26px; }
  .quote .eyebrow { font-size:9px; }
  .values { gap:16px; font-size:10px; }
  .milestone { grid-template-columns:48px 1fr; gap:15px; }
  .contact { padding:56px 0; }
  .contact h2 { font-size:32px; line-height:1.25; }
  .mobile-cta { gap:16px; padding:10px 16px; }
  .mobile-cta small { display:block; font-size:10px; line-height:1.5; }
  .mobile-cta .btn { padding:9px 15px; min-height:44px; white-space:nowrap; }
  .footer { padding-bottom:95px; }
}
/* Portrait and quote share a clean edge and readable type hierarchy. */
.hero-visual { gap:12px; }
.portrait { width:min(100%,350px); aspect-ratio:4/5; border-radius:24px; border-color:#b99d5880; }
.portrait img { object-fit:contain; object-position:center bottom; }
.portrait-note { width:min(100%,350px); max-width:350px; padding:16px 20px; border-radius:0 12px 12px 0; border-left:2px solid var(--gold); }
.portrait-note .serif { margin:0; font-family:'Playfair Display',Georgia,serif; font-size:21px; font-weight:500; line-height:1.4; }
.portrait-note .quote-lead { display:block; font-size:26px; font-weight:600; margin-bottom:4px; }
.portrait-note .quote-body { display:block; }
.portrait-note small { display:flex; align-items:baseline; gap:8px; margin-top:12px; padding-top:10px; border-top:1px solid #1a514025; letter-spacing:0; }
.portrait-note .quote-author { font-family:'Be Vietnam Pro',sans-serif; font-size:14px; font-weight:600; color:var(--green); }
.portrait-note .quote-location { font-size:10px; font-weight:400; color:var(--muted); }
@media(max-width:760px) {
 .hero-visual { width:min(100%,300px); gap:10px; padding:0; }
 .portrait { width:min(100%,280px); aspect-ratio:4/5; max-height:350px; border-radius:20px; }
 .portrait-note { width:min(100%,280px); max-width:280px; padding:13px 16px; }
 .portrait-note .serif { font-size:19px; line-height:1.35; }
 .portrait-note .quote-lead { font-size:23px; margin-bottom:4px; }
 .portrait-note small { margin-top:9px; padding-top:8px; gap:7px; }
 .portrait-note .quote-author { font-size:13px; }
 .portrait-note .quote-location { font-size:10px; }
 .hero-grid { padding-bottom:28px; }
}
@media(prefers-reduced-motion:reduce) { html{scroll-behavior:auto;} *{transition:none!important;} }
