
:root{--bg:#fff;--accent:#C9A962;--dk:#1A1A1A;--hd:#1A3D2E;--bd:#1A3D2E;--bl:#3a5d4e;--mt:#7a8a82;--br:#e2e0db;--sf:#F7F5F1;--wh:#fff}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;color:var(--bd);background:var(--bg);-webkit-font-smoothing:antialiased;line-height:1.6}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:900;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);border-bottom:1px solid var(--br);height:68px;display:flex;align-items:center;padding:0 56px}
.nav-inner{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1400px;margin:0 auto}
.nav-logo img{height:38px;width:auto}
.nav-links{display:flex;align-items:center;gap:36px}
.nav-links a{font-size:11.5px;letter-spacing:2.2px;text-transform:uppercase;color:var(--bl);font-weight:500;transition:color .2s}
.nav-links a:hover{color:var(--hd)}
.nav-cta{background:var(--dk)!important;color:var(--wh)!important;padding:9px 22px!important;font-size:10.5px!important;letter-spacing:2.2px!important;transition:opacity .2s!important}
.nav-cta:hover{opacity:.85}
.nav-tog{display:none;background:none;border:none;cursor:pointer;padding:8px}
.nav-tog span{display:block;width:18px;height:1.5px;background:var(--hd);margin:4px 0}

/* HERO */
.hero{margin-top:68px;min-height:100vh;position:relative;display:flex;align-items:flex-end;overflow:hidden}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 25%}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(26,61,46,.95) 0%,rgba(26,61,46,.7) 35%,rgba(26,26,26,.35) 70%,rgba(26,26,26,.15) 100%)}
.hero-inner{position:relative;z-index:2;width:100%;max-width:1400px;margin:0 auto;padding:0 56px 80px}
.hero-label{display:flex;align-items:center;gap:14px;margin-bottom:32px}
.hero-label::before{content:'';width:36px;height:1px;background:var(--accent)}
.hero-label span{font-size:10.5px;letter-spacing:3.5px;text-transform:uppercase;color:var(--accent);font-weight:500}
.hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(48px,6.5vw,84px);font-weight:700;line-height:1.04;color:var(--wh);max-width:780px;margin-bottom:32px}
.hero h1 em{font-style:normal;color:var(--accent)}
.hero-sub{font-size:17px;line-height:1.8;color:rgba(255,255,255,.5);max-width:580px;margin-bottom:48px;font-weight:300}
.hero-btns{display:flex;gap:16px;flex-wrap:wrap}
.btn-gold{background:var(--accent);color:var(--dk);padding:15px 36px;font-size:11px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;border:none;cursor:pointer;font-family:'DM Sans',sans-serif;transition:opacity .2s}
.btn-gold:hover{opacity:.88}
.btn-line{background:transparent;color:var(--wh);padding:15px 36px;font-size:11px;font-weight:500;letter-spacing:2.5px;text-transform:uppercase;border:1px solid rgba(255,255,255,.18);cursor:pointer;font-family:'DM Sans',sans-serif;transition:border-color .2s}
.btn-line:hover{border-color:rgba(255,255,255,.45)}
.hero-scroll{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;z-index:2}
.hero-scroll span{font-size:9px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.2)}
.hero-scroll i{width:1px;height:36px;background:linear-gradient(rgba(201,169,98,.35),transparent);display:block}

/* SECTIONS */
.sec{padding:120px 56px}
.sec-max{max-width:1400px;margin:0 auto}
.lbl{font-size:10.5px;letter-spacing:3.2px;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:20px}
.hdg{font-family:'Cormorant Garamond',serif;font-size:clamp(36px,4vw,52px);font-weight:700;color:var(--hd);line-height:1.12;margin-bottom:24px;max-width:720px}
.bdp{font-size:16px;line-height:1.82;color:var(--bl);max-width:660px;font-weight:300}
.bdp+.bdp{margin-top:18px}
.btn-dk{display:inline-block;background:var(--dk);color:var(--wh);padding:14px 34px;font-size:11px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;font-family:'DM Sans',sans-serif;transition:opacity .2s;margin-top:36px;border:none;cursor:pointer}
.btn-dk:hover{opacity:.85}

/* PILLARS */
.pillars{background:var(--sf)}
.pill-g{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--br);margin-top:56px}
.pill{background:var(--wh);padding:52px 44px}
.pill-t{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:700;color:var(--hd);margin-bottom:8px}
.pill-l{font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:18px}
.pill-b{font-size:15px;line-height:1.72;color:var(--bl);font-weight:300}

/* ABOUT SPLIT */
.about-split{display:grid;grid-template-columns:1fr 1fr;min-height:560px}
.about-img{position:relative;overflow:hidden}
.about-img img{width:100%;height:100%;object-fit:cover}
.about-img-tag{position:absolute;bottom:0;left:0;right:0;padding:24px 32px;background:linear-gradient(transparent,rgba(26,61,46,.88))}
.about-img-tag p{font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:2px}
.about-img-tag span{font-size:13px;color:rgba(255,255,255,.5)}
.about-text{padding:80px 64px;display:flex;flex-direction:column;justify-content:center}

/* THESIS */
.thesis{background:var(--sf)}
.th-g{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--br);margin-top:56px}
.thc{background:var(--wh);padding:48px 40px}
.thc:nth-child(2){border-top:3px solid var(--accent)}
.thc-l{font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:14px}
.thc-t{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:700;color:var(--hd);margin-bottom:14px;line-height:1.25}
.thc-b{font-size:14.5px;line-height:1.72;color:var(--bl);font-weight:300}

/* PORTFOLIO */
.port{background:var(--wh)}
.port-g{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:48px;margin-bottom:48px}
.port-c{border:1px solid var(--br);overflow:hidden;transition:border-color .3s}
.port-c:hover{border-color:var(--accent)}
.port-c-img{height:240px;overflow:hidden;position:relative}
.port-c-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.port-c:hover .port-c-img img{transform:scale(1.03)}
.port-c-img .tag{position:absolute;bottom:16px;left:16px;font-size:9.5px;font-weight:600;letter-spacing:2.2px;text-transform:uppercase;color:var(--accent);background:rgba(26,61,46,.88);backdrop-filter:blur(8px);padding:6px 14px}
.port-c-bd{padding:32px 36px}
.port-c-bd h3{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:700;color:var(--hd);margin-bottom:12px}
.port-c-bd p{font-size:15px;line-height:1.72;color:var(--bl);font-weight:300}
.port-note{font-size:15px;color:var(--bl);font-weight:300;line-height:1.72;padding:20px 28px;border-left:2px solid var(--accent);background:var(--sf)}

/* DISCIPLINE */
.disc{background:var(--sf)}
.disc-list{margin-top:56px;max-width:760px}
.disc-item{padding:36px 0;border-bottom:1px solid var(--br);display:flex;gap:32px;align-items:flex-start}
.disc-item:first-child{padding-top:0}
.disc-num{font-family:'Cormorant Garamond',serif;font-size:44px;font-weight:300;color:var(--accent);opacity:.45;line-height:1;min-width:52px}
.disc-ct h3{font-size:12px;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;color:var(--hd);margin-bottom:12px}
.disc-ct p{font-size:15px;line-height:1.72;color:var(--bl);font-weight:300}

/* INSIGHTS */
.ins{background:var(--wh)}
.ins-g{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:56px;margin-bottom:56px}
.ins-c{border:1px solid var(--br);overflow:hidden;transition:border-color .25s}
.ins-c:hover{border-color:var(--accent)}
.ins-c-img{height:200px;overflow:hidden}
.ins-c-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.ins-c:hover .ins-c-img img{transform:scale(1.04)}
.ins-c-bd{padding:28px 32px}
.ins-c-tag{font-size:10px;letter-spacing:2.2px;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:10px}
.ins-c-t{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:700;color:var(--hd);line-height:1.28;margin-bottom:12px}
.ins-c-x{font-size:14px;line-height:1.65;color:var(--bl);font-weight:300;margin-bottom:16px}
.ins-c-lk{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--accent);font-weight:600}

/* NEWSLETTER */
.nl{background:var(--sf);border:1px solid var(--br);padding:52px 48px;max-width:680px}
.nl-t{font-family:'Cormorant Garamond',serif;font-size:32px;font-weight:700;color:var(--hd);margin-bottom:14px}
.nl-b{font-size:15px;line-height:1.72;color:var(--bl);font-weight:300;margin-bottom:28px}
.nl-f{display:flex;gap:12px}
.nl-i{flex:1;padding:12px 16px;border:1px solid var(--br);background:var(--wh);font-family:'DM Sans',sans-serif;font-size:14px;color:var(--bd);outline:none}
.nl-i::placeholder{color:var(--mt)}.nl-i:focus{border-color:var(--accent)}
.nl-btn{background:var(--dk);color:var(--wh);padding:12px 28px;font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;border:none;cursor:pointer;font-family:'DM Sans',sans-serif;white-space:nowrap;transition:opacity .2s}
.nl-btn:hover{opacity:.85}

/* COUNCIL */
.council{position:relative;text-align:center;padding:160px 56px;overflow:hidden}
.council-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%}
.council-ov{position:absolute;inset:0;background:linear-gradient(rgba(26,26,26,.88),rgba(26,61,46,.92))}
.council-inner{position:relative;z-index:2;max-width:700px;margin:0 auto}
.council h2{font-family:'Cormorant Garamond',serif;font-size:clamp(36px,5vw,56px);font-weight:700;color:var(--wh);line-height:1.1;margin-bottom:28px}
.council p{font-size:16px;line-height:1.82;color:rgba(255,255,255,.5);font-weight:300;margin-bottom:12px}
.council p:last-of-type{margin-bottom:48px}

/* APPLICATION */
.app{display:grid;grid-template-columns:1fr 1fr;background:var(--wh)}
.app-form{padding:100px 64px}
.app-info{padding:100px 64px;background:var(--sf);display:flex;flex-direction:column;justify-content:center}
.app-t{font-family:'Cormorant Garamond',serif;font-size:36px;font-weight:700;color:var(--hd);margin-bottom:14px}
.app-st{font-size:15px;color:var(--bl);font-weight:300;line-height:1.72;margin-bottom:40px}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.fg{margin-bottom:16px}
.fl{font-size:10px;letter-spacing:2px;text-transform:uppercase;font-weight:600;color:var(--hd);margin-bottom:8px;display:block}
.fi{width:100%;padding:12px 14px;border:1px solid var(--br);background:var(--wh);font-family:'DM Sans',sans-serif;font-size:14px;color:var(--bd);outline:none;transition:border-color .2s}
.fi:focus{border-color:var(--accent)}.fi::placeholder{color:var(--mt)}
.fs{width:100%;padding:12px 14px;border:1px solid var(--br);background:var(--wh);font-family:'DM Sans',sans-serif;font-size:14px;color:var(--mt);outline:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%237a8a82' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;cursor:pointer;transition:border-color .2s}
.fs:focus{border-color:var(--accent)}
.ft{width:100%;padding:12px 14px;border:1px solid var(--br);background:var(--wh);font-family:'DM Sans',sans-serif;font-size:14px;color:var(--bd);outline:none;min-height:100px;resize:vertical;transition:border-color .2s}
.ft:focus{border-color:var(--accent)}.ft::placeholder{color:var(--mt)}
.fnote{font-size:12px;color:var(--mt);line-height:1.6;margin-top:16px}

/* FOOTER */
footer{background:var(--hd);padding:80px 56px 40px}
.foot-max{max-width:1400px;margin:0 auto}
.foot-top{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:48px}
.foot-logo img{height:28px;width:auto;opacity:.65}
.foot-lk{display:flex;gap:32px}
.foot-lk a{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.35);transition:color .2s}
.foot-lk a:hover{color:var(--accent)}
.foot-disc{margin-bottom:40px}
.foot-disc h4{font-size:9.5px;letter-spacing:2.2px;text-transform:uppercase;color:rgba(255,255,255,.25);font-weight:600;margin-bottom:10px;margin-top:22px}
.foot-disc h4:first-child{margin-top:0}
.foot-disc p{font-size:11.5px;line-height:1.72;color:rgba(255,255,255,.18);font-weight:300}
.foot-bot{display:flex;justify-content:space-between;align-items:center;padding-top:28px;border-top:1px solid rgba(255,255,255,.06)}
.foot-bot span{font-size:11px;color:rgba(255,255,255,.18)}
.foot-bot-lk{display:flex;gap:24px}
.foot-bot-lk a{font-size:11px;color:var(--accent);opacity:.55;letter-spacing:1px;transition:opacity .2s}
.foot-bot-lk a:hover{opacity:1}

/* ANIMATIONS */
@keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
.hero-inner>*{animation:fadeUp .8s ease forwards;opacity:0}
.hero-label{animation-delay:.1s}.hero h1{animation-delay:.25s}.hero-sub{animation-delay:.45s}.hero-btns{animation-delay:.6s}

/* RESPONSIVE */
@media(max-width:960px){
.nav-links{display:none}.nav-links.open{display:flex;flex-direction:column;position:fixed;top:68px;left:0;right:0;bottom:0;background:var(--wh);padding:28px 32px;gap:6px;z-index:99}.nav-links.open a{font-size:14px;padding:10px 0}.nav-tog{display:block}
.nav,.sec{padding-left:28px;padding-right:28px}.hero-inner{padding:0 28px 60px}.hero h1{font-size:clamp(36px,8vw,52px)}
.pill-g,.th-g{grid-template-columns:1fr}.about-split,.port-g,.ins-g,.app,.fr{grid-template-columns:1fr}
.about-text{padding:56px 28px}.port-g,.ins-g{gap:20px}.council{padding:80px 28px}.council h2{font-size:clamp(30px,7vw,40px)}
.app-form,.app-info{padding:56px 28px}footer{padding:56px 28px 32px}.foot-top{flex-direction:column;gap:20px}.foot-bot{flex-direction:column;gap:12px;text-align:center}
.nl-f{flex-direction:column}.hero-btns{flex-direction:column;gap:12px}.btn-gold,.btn-line{text-align:center;width:100%}
}
