@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;1,400;1,500&display=swap');:root{--forest:#16382f;--deep:#102a23;--gold:#d9b777;--cream:#f7f5ee;--ink:#21352c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}a{text-decoration:none;color:inherit}img{display:block;width:100%;height:100%;object-fit:cover}.header{position:absolute;z-index:10;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:28px 6%;color:#fff;border-bottom:1px solid #ffffff55}.brand{display:flex;gap:12px;align-items:center}.brand-mark{border:1px solid var(--gold);padding:12px 10px;color:var(--gold);font-family:Georgia,serif;font-size:23px}.brand strong{display:block;font-size:20px;letter-spacing:3px}.brand small{display:block;letter-spacing:2.3px;font-size:9px;margin-top:4px}.header nav{display:flex;align-items:center;gap:31px;font-size:12px;font-weight:600;letter-spacing:.4px}.header nav a:hover{color:var(--gold)}.nav-cta{border:1px solid #fff8;padding:15px 21px}.menu{display:none}.hero{min-height:790px;height:100vh;position:relative;background:linear-gradient(90deg,#071d1a66,#071d1a11),url('https://images.unsplash.com/photo-1510414842594-a61c69b5ae57?w=2200&q=90') center/cover;color:#fff}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#061b1bd1 0%,#061b1b66 48%,#061b1b20 100%)}.hero-content{position:absolute;top:31%;left:9%;max-width:760px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2.8px;color:#8a7651}.eyebrow.light{color:var(--gold)}h1,h2,h3,p{margin-top:0}h1,h2,.quote-band h2{font-family:'Playfair Display',Georgia,serif;font-weight:400}h1{font-size:clamp(66px,7.4vw,122px);line-height:1.08;margin:23px 0}h1 em,h2 em{font-weight:400;color:var(--gold)}.hero-content p{max-width:550px;font-size:16px;line-height:1.85;color:#e9eee8}.actions{display:flex;gap:14px;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:19px 24px;font-size:12px;font-weight:700;letter-spacing:.5px;border:0;cursor:pointer}.btn.gold{background:var(--gold);color:#182c23}.btn.outline{border:1px solid #ffffff99;color:#fff}.btn.dark{background:var(--forest);color:#fff}.hero-side{position:absolute;right:4%;bottom:12%;font-size:10px;letter-spacing:2px;line-height:2;text-align:right}.hero-bottom{position:absolute;bottom:42px;left:9%;font-size:10px;letter-spacing:2px}.hero-bottom span{margin-left:22px}.section{padding:105px 9%}.section-top{display:flex;align-items:center;gap:24px;margin-bottom:66px}.thin-rule{height:1px;background:#c9c8ba;flex:1}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.intro h2,.section-heading h2,.visit h2,.contact h2{font-size:clamp(45px,5vw,78px);line-height:1.17;margin-bottom:26px}.intro h2 em,.section-heading h2 em,.visit h2 em{color:#8b9466}.intro p,.visit p{line-height:1.9;color:#68746b;font-size:14px;max-width:480px}.intro .lead{font-size:19px;color:var(--ink);line-height:1.6}.text-link{display:inline-block;margin-top:18px;border-bottom:1px solid var(--ink);padding-bottom:11px;font-size:13px;font-weight:700}.text-link span{margin-left:26px}.image-stack{height:540px;position:relative}.image-caption{position:absolute;bottom:0;left:0;background:var(--gold);padding:17px 23px;font-size:10px;font-weight:700;letter-spacing:2px}.experiences{background:#e9ede5}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:35px}.section-heading p{max-width:260px;font-size:14px;line-height:1.8;color:#667369}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.card-photo{height:370px;overflow:hidden}.card-photo img{transition:transform .5s}.experience-card:hover img{transform:scale(1.04)}.card-index{display:block;font-size:10px;letter-spacing:2px;color:#8b7956;margin:22px 0 12px}.experience-card h3{font-family:'Playfair Display',serif;font-size:27px;font-weight:400}.experience-card p{font-size:13px;line-height:1.8;color:#657369}.quote-band{padding:110px 10%;background:var(--forest);color:white;text-align:center}.quote-band h2{font-size:clamp(43px,5.5vw,82px);line-height:1.25;margin:24px 0 35px}.gallery-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px;height:390px}.placeholder-note{font-size:11px;color:#68746b;margin-top:16px}.visit{background:#e8e6da}.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:15%}.visit-details>div{padding:22px 0;border-bottom:1px solid #bbbeb0;display:flex;justify-content:space-between;gap:20px}.visit-details span{font-size:10px;letter-spacing:1.5px;color:#69766a}.visit-details strong{font-size:13px;text-align:right}.contact{display:grid;grid-template-columns:1fr 1fr;gap:12%;background:var(--deep);color:white}.contact h2{margin-top:25px}.contact h2 em{color:var(--gold)}.contact p{color:#c1d0c7;line-height:1.8}.social{display:inline-block;margin-top:25px;border-bottom:1px solid var(--gold);padding-bottom:10px;color:var(--gold);font-size:13px}form{display:grid;gap:18px}label{font-size:12px;color:#dce7dc}input,textarea{width:100%;margin-top:8px;padding:15px;border:1px solid #6e8578;background:#ffffff0b;color:#fff;font:inherit;outline:none}input::placeholder,textarea::placeholder{color:#9baaa0}input:focus,textarea:focus{border-color:var(--gold)}input[type=date]{color-scheme:dark}form small{font-size:11px;line-height:1.6;color:#b8c9bf}footer{padding:55px 9%;background:#0c211c;color:#fff;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center}.footer-brand{font-weight:700;font-size:23px;letter-spacing:2px}.footer-brand span{display:block;font-size:9px;letter-spacing:2px;color:var(--gold)}footer p,footer a,footer small{font-size:11px;color:#baccc0}footer a{margin-right:16px}@media(max-width:850px){.header{padding:18px 6%}.menu{display:block;background:none;border:1px solid #fff8;color:#fff;padding:10px;font-size:22px}.header nav{display:none;position:absolute;top:83px;left:0;right:0;background:var(--deep);padding:26px;flex-direction:column;align-items:stretch;gap:24px}.header nav.open{display:flex}.hero{min-height:680px}.hero-content{left:7%;right:7%;top:28%}.hero-side{display:none}.section{padding:72px 6%}.intro-grid,.visit-grid,.contact{grid-template-columns:1fr;gap:45px}.image-stack{height:420px}.cards{grid-template-columns:1fr}.card-photo{height:340px}.section-heading{display:block}.gallery-grid{height:auto;grid-template-columns:1fr 1fr}.gallery-grid img:first-child{grid-column:span 2;height:350px}.gallery-grid img:not(:first-child){height:220px}}@media(max-width:480px){h1{font-size:58px}.hero-content{top:27%}.actions{flex-wrap:wrap}.section-top{gap:12px}.section-top .eyebrow{font-size:8px;letter-spacing:1px}.visit-details>div{display:block}.visit-details strong{display:block;text-align:left;margin-top:8px}.hero{min-height:720px}}

.brand-logo{width:112px;height:66px;object-fit:contain;background:#fffffff2;border-radius:3px;padding:3px}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{z-index:1}.hero-content,.hero-side,.hero-bottom{z-index:2}.hero-content{position:absolute}.hero{background:#173e35 url('assets/tet-paul-09.jpg') center/cover}.gallery-grid img{object-position:center}.header{z-index:20}@media(max-width:480px){.brand-logo{width:80px;height:50px}.brand strong{font-size:15px}.brand small{font-size:8px}.hero-content h1{font-size:clamp(42px,10vw,58px)}}@media(prefers-reduced-motion:reduce){.hero-video{display:none}}

/* V2.1: contain gallery imagery and protect contact readability */
.gallery-grid{overflow:hidden;align-items:stretch;isolation:isolate}
.gallery-grid img{min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:cover;overflow:hidden}
.contact{position:relative;isolation:isolate;z-index:2;background:#102a23!important;color:#fff;align-items:start}
.contact>div,.contact form{position:relative;z-index:1;min-width:0}
.contact h2,.contact h2 em,.contact p,.contact .eyebrow,.contact .social{position:relative;z-index:1}
.contact form{padding:28px;background:#173c32;border:1px solid #45695c;border-radius:6px}
.contact label{display:block;color:#fff;font-size:14px;font-weight:600}
.contact input,.contact textarea{display:block;background:#fff!important;color:#182d25!important;border:2px solid #c5d4cb!important;border-radius:3px;min-height:48px}
.contact input::placeholder,.contact textarea::placeholder{color:#57665e!important;opacity:1}
.contact input:focus,.contact textarea:focus{outline:3px solid #d9b777;outline-offset:1px}
.contact input[type=date]{color-scheme:light}
.contact form small{color:#e0eae4;font-size:12px}
@media(max-width:850px){.contact form{padding:22px}.gallery-grid{overflow:hidden}}


/* Staging V3 — brand and hero layout corrections */
.brand-logo{width:175px;height:105px;object-fit:contain;flex-shrink:0;background:#fff;padding:6px;border-radius:5px}
.header{padding:14px 6%;min-height:126px}
.hero{min-height:760px;height:auto;display:flex;align-items:center;padding:170px 9% 125px;overflow:hidden}
.hero-content{position:relative;top:auto;left:auto;right:auto;max-width:760px;width:100%;z-index:2}
.hero-content h1{font-size:clamp(54px,6vw,100px);line-height:1.06;margin:20px 0 24px}
.hero-content p{max-width:600px;margin-bottom:0}
.hero-bottom{position:absolute;left:9%;bottom:35px;z-index:3;white-space:nowrap;background:#08251d9c;padding:9px 13px;border-radius:3px}
.hero-side{bottom:38px}
.site-credit{display:flex;align-items:center;gap:14px;flex-basis:100%;justify-content:flex-end;border-top:1px solid #ffffff30;padding-top:20px;margin-top:12px}
.site-credit span{font-size:11px;color:#e0e8e3}
.site-credit img{width:125px;height:62px;object-fit:contain;background:#fff;border-radius:3px;padding:5px}
@media(max-width:850px){.header{min-height:105px}.brand-logo{width:128px;height:76px}.header nav{top:105px}.hero{min-height:720px;padding:155px 7% 125px}.hero-content h1{font-size:clamp(48px,8vw,75px)}.hero-bottom{left:7%;bottom:25px}}
@media(max-width:480px){.header{min-height:88px}.brand-logo{width:95px;height:64px}.brand strong{font-size:14px}.brand small{font-size:7px}.header nav{top:88px}.hero{min-height:700px;padding:135px 7% 105px}.hero-content h1{font-size:clamp(42px,11vw,58px)}.hero-content p{font-size:14px;line-height:1.6}.hero-bottom{font-size:9px}.site-credit{justify-content:center}}

/* V4: white header, actual logo enlarged (source artwork cropped only to remove empty white margins) */
.header{position:relative!important;top:auto;left:auto;width:100%;background:#fff!important;color:#18372c!important;min-height:148px;padding:14px 5%;border-bottom:1px solid #e8e9e2;gap:22px}
.brand{flex:0 0 auto;gap:0;max-width:43%;}
.brand-logo{width:clamp(260px,30vw,440px)!important;height:120px!important;max-width:100%;object-fit:contain;object-position:left center;padding:0!important;background:transparent!important;border:0;border-radius:0}
.brand>span{display:none}
.header nav{gap:clamp(12px,1.8vw,30px);font-size:13px;color:#18372c}
.header nav a:hover{color:#aa792e}
.header .nav-cta{background:#dfb974;border:1px solid #dfb974;color:#18372c;padding:16px 20px;border-radius:3px}
.hero{min-height:650px;padding:90px 9% 120px}
.hero-content{max-width:780px}
.hero-bottom{bottom:25px}
@media(max-width:850px){.header{min-height:105px;padding:12px 5%}.brand{max-width:76%}.brand-logo{width:clamp(215px,50vw,345px)!important;height:82px!important}.menu{color:#18372c;border-color:#18372c55}.header nav{top:100%;background:#fff;color:#18372c;box-shadow:0 12px 25px #0002}.hero{padding:85px 7% 110px}}
@media(max-width:480px){.header{min-height:88px}.brand{max-width:76%}.brand-logo{width:245px!important;height:70px!important}.hero{padding:75px 7% 110px}.hero-content h1{font-size:clamp(42px,11vw,58px)}}

/* V5: Tet Paul team photo in gallery */
.gallery-grid .team-photo{margin:0;min-width:0;overflow:hidden;display:flex;flex-direction:column;background:#fff}
.gallery-grid .team-photo img{width:100%;height:100%;min-height:280px;max-height:470px;object-fit:cover;object-position:center 48%;display:block}
.gallery-grid .team-photo figcaption{padding:12px 8px;font-size:12px;color:#25483a;text-align:center}

/* V6: natural-size, uncropped responsive photo gallery */
.gallery-grid {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:22px !important;
  height:auto !important;
  overflow:visible !important;
  align-items:start !important;
}
.gallery-grid > img,
.gallery-grid > figure {
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  min-height:0 !important;
  grid-column:auto !important;
  margin:0 !important;
}
.gallery-grid > img {
  object-fit:contain !important;
  object-position:center !important;
  background:#eeece4;
}
.gallery-grid .team-photo {
  display:block !important;
  overflow:visible !important;
  background:transparent !important;
}
.gallery-grid .team-photo img {
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  min-height:0 !important;
  object-fit:contain !important;
}
.gallery-grid .team-photo figcaption {padding:12px 0 !important;text-align:left !important;}
@media(max-width:700px){
  .gallery-grid{grid-template-columns:1fr !important;gap:22px !important;}
  .gallery-grid > img,.gallery-grid > figure{grid-column:auto !important;height:auto !important;}
}
