*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}:root{--cream:#FAF8F4;--warm-white:#F5F2EC;--sand:#E8E0D0;--stone:#C4B8A4;--taupe:#8A7D6B;--dark:#2C2620;--accent:#7A9E8E;--accent-light:#A8C5B8}html{scroll-behavior:smooth;scroll-padding-top:4rem}body{font-family:'Jost',sans-serif;background:var(--cream);color:var(--dark);font-weight:300;overflow-x:hidden}.site-wrapper{max-width:1760px;margin-left:auto;margin-right:auto;overflow:hidden}.hamburger{display:none}nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.5rem 4rem;display:flex;justify-content:space-between;align-items:center;background:rgba(250,248,244,0.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--sand)}.nav-logo{font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:400;letter-spacing:0.05em;color:var(--dark);text-decoration:none}.nav-links{display:flex;gap:2.5rem;list-style:none}.nav-links a{font-size:0.75rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--taupe);text-decoration:none;transition:color 0.3s}.nav-links a:hover{color:var(--dark)}.nav-links a.active{color:var(--dark);border-bottom:1px solid var(--accent);padding-bottom:2px}.hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:8rem 4rem 4rem;position:relative;overflow:hidden}.hero::before{content:'';position:absolute;top:0;right:0;width:50%;height:100%;background:var(--warm-white);z-index:0}.hero-text{position:relative;z-index:1;padding-right:4rem}.hero-tag{display:inline-block;font-size:0.7rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--accent);margin-bottom:1.5rem;border-bottom:1px solid var(--accent);padding-bottom:0.4rem}.hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(3rem,5vw,5rem);font-weight:300;line-height:1.1;margin-bottom:0.5rem}.hero h1 em{font-style:italic;color:var(--taupe)}.hero-subtitle{font-size:0.8rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--stone);margin:1.5rem 0 2.5rem}.hero-desc{font-size:1.05rem;line-height:1.8;color:var(--taupe);max-width:38ch;margin-bottom:3rem}.btn{display:inline-block;padding:1rem 2.5rem;font-size:0.75rem;letter-spacing:0.18em;text-transform:uppercase;text-decoration:none;transition:all 0.3s}.btn-dark{background:var(--dark);color:var(--cream);border:1px solid var(--dark)}.btn-dark:hover{background:transparent;color:var(--dark)}.btn-outline{border:1px solid var(--stone);color:var(--taupe);margin-left:1rem}.btn-outline:hover{border-color:var(--dark);color:var(--dark)}.hero-visual{position:relative;z-index:1;display:flex;justify-content:center;align-items:center;padding-left:4rem}.hero-portrait{width:min(340px,40vw);aspect-ratio:3/4;background:var(--sand);position:relative;overflow:hidden}.hero-portrait img{width:100%;height:100%;object-fit:cover;object-position:center top}.hero-ornament{position:absolute;width:180px;height:180px;border:1px solid var(--sand);border-radius:50%;top:15%;right:8%;animation:spin 30s linear infinite;opacity:0.5}@keyframes spin{to{transform:rotate(360deg)}}.divider{display:flex;align-items:center;gap:1.5rem;padding:0 4rem}.divider-line{flex:1;height:1px;background:var(--sand)}.divider-text{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-style:italic;color:var(--stone);white-space:nowrap}.services{padding:5rem 4rem;background:var(--cream)}.section-header{text-align:center;margin-bottom:5rem}.section-tag{display:inline-block;font-size:0.7rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem}.section-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,3.5vw,3rem);font-weight:300}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2px;background:var(--sand);border:1px solid var(--sand)}.service-card{background:var(--cream);padding:3rem 2.5rem;transition:background 0.3s;position:relative;overflow:hidden}.service-card::before{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform 0.4s}.service-card:hover::before{transform:scaleX(1)}.service-card:hover{background:var(--warm-white)}.service-num{font-family:'Cormorant Garamond',serif;font-size:2.5rem;font-weight:300;color:var(--sand);margin-bottom:1.5rem;line-height:1}.service-card h3{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:400;margin-bottom:1rem}.service-card p{font-size:0.9rem;line-height:1.75;color:var(--taupe)}.about{padding:5rem 4rem;background:var(--warm-white);display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:stretch}.about-visual{position:relative;min-width:0}.about-decorative{width:100%;aspect-ratio:unset;height:100%;min-height:320px;background:var(--warm-white);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.about-deco-corner{position:absolute;width:60px;height:60px}.about-deco-corner.tl{top:14px;left:14px}.about-deco-corner.tr{top:14px;right:14px;transform:scaleX(-1)}.about-deco-corner.bl{bottom:14px;left:14px;transform:scaleY(-1)}.about-deco-corner.br{bottom:14px;right:14px;transform:scale(-1)}.about-deco-inner{padding:3.5rem 3rem;display:flex;flex-direction:column;align-items:center;gap:2rem;text-align:center;position:relative;z-index:1;width:100%;height:100%}.about-deco-ornament{width:50px;height:1px;background:var(--accent)}.about-deco-quote{font-family:'Cormorant Garamond',serif;font-size:clamp(1.3rem,1.8vw,1.65rem);font-style:italic;font-weight:300;color:var(--dark);line-height:1.75}.about-deco-name{font-size:0.68rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--taupe)}.about-box-accent{position:absolute;bottom:-1.5rem;right:-1.5rem;width:60%;height:60%;border:1px solid var(--stone);z-index:-1}.about-quote{position:absolute;bottom:-2rem;left:-2rem;background:var(--cream);padding:1.5rem 2rem;border-left:2px solid var(--accent);max-width:280px;box-shadow:0 4px 30px rgba(0,0,0,0.06)}.about-quote blockquote{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-style:italic;line-height:1.6;color:var(--taupe)}.about-photo{width:100%;height:100%;min-height:360px;overflow:hidden;border-radius:8px}.about-photo img{width:100%;max-width:100%;height:100%;object-fit:cover;object-position:center;display:block}.about-quote-inline{border-left:2px solid var(--accent);padding-left:1.5rem;margin:2rem 0;font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-style:italic;font-weight:300;color:var(--taupe);line-height:1.7}.about-quote-inline cite{display:block;font-size:0.7rem;letter-spacing:0.15em;text-transform:uppercase;font-style:normal;color:var(--stone);margin-top:0.75rem}.about-content h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,3vw,2.8rem);font-weight:300;line-height:1.2;margin-bottom:1.5rem}.about-content p{font-size:0.95rem;line-height:1.85;color:var(--taupe);margin-bottom:1.25rem}.credentials{margin-top:2.5rem;display:flex;flex-direction:column;gap:0.75rem}.credential{display:flex;align-items:center;gap:1rem;font-size:0.8rem;letter-spacing:0.05em;color:var(--taupe)}.credential::before{content:'';display:block;width:20px;height:1px;background:var(--accent);flex-shrink:0}.approach{padding:5rem 4rem;background:var(--dark);color:var(--cream);text-align:center}.approach .section-tag{color:var(--accent-light)}.approach .section-title{color:var(--cream);margin-bottom:1rem}.approach-sub{font-size:1rem;color:var(--stone);max-width:55ch;margin:0 auto 4rem;line-height:1.8}.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;max-width:900px;margin:0 auto}.pillar{text-align:center}.pillar-icon{width:56px;height:56px;margin:0 auto 1.5rem;border:1px solid rgba(255,255,255,0.1);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--accent-light)}.pillar h3{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:400;margin-bottom:0.75rem}.pillar p{font-size:0.85rem;color:var(--stone);line-height:1.7}.contact{padding:5rem 4rem;background:var(--cream);display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:start}.contact h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,3vw,2.8rem);font-weight:300;line-height:1.2;margin-bottom:1.5rem}.contact-intro{font-size:0.95rem;line-height:1.85;color:var(--taupe);margin-bottom:2.5rem}.contact-items{display:flex;flex-direction:column;gap:1.25rem}.contact-item{display:flex;align-items:center;gap:1.25rem;padding:1.25rem 1.5rem;background:var(--warm-white);border:1px solid var(--sand)}.contact-item-icon{width:36px;height:36px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--accent)}.contact-item-text{font-size:0.9rem}.contact-item-label{font-size:0.65rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--stone);margin-bottom:0.25rem}.contact-form{display:flex;flex-direction:column;gap:1rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group{display:flex;flex-direction:column;gap:0.4rem}.form-group label{font-size:0.65rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--taupe)}.form-group input,.form-group textarea,.form-group select{padding:0.85rem 1rem;border:1px solid var(--sand);background:transparent;font-family:'Jost',sans-serif;font-size:0.9rem;color:var(--dark);outline:none;transition:border-color 0.3s;resize:none}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--accent)}.form-group textarea{min-height:120px}.form-note{font-size:0.75rem;color:var(--stone);line-height:1.6;margin-top:0.5rem}footer{padding:2.5rem 4rem;background:var(--dark);color:var(--stone);display:flex;justify-content:space-between;align-items:center;font-size:0.75rem;letter-spacing:0.1em}footer a{color:var(--stone);text-decoration:none}.fade-up{opacity:1;transform:translateY(0);transition:opacity 0.7s ease,transform 0.7s ease}.fade-up.hidden{opacity:0;transform:translateY(30px)}.fade-up.visible{opacity:1 !important;transform:translateY(0) !important}.breadcrumb{margin-bottom:0.5rem}.breadcrumb ol{display:flex;align-items:center;gap:0.5rem;list-style:none;font-size:0.7rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--stone)}.breadcrumb li + li::before{content:'/';margin-right:0.5rem;opacity:0.4}.breadcrumb a{color:var(--taupe);text-decoration:none;transition:color 0.3s}.breadcrumb a:hover{color:var(--dark)}.publications{padding:5rem 4rem;background:var(--cream)}.publications-page{padding-top:5.5rem}.section-sub{font-size:0.95rem;color:var(--taupe);max-width:55ch;margin:0.75rem auto 0;line-height:1.75}.pub-list{display:flex;flex-direction:column;gap:2px;background:var(--sand);border:1px solid var(--sand);margin-top:5rem}.pub-entry{background:var(--cream);padding:3.5rem 4rem;position:relative;overflow:hidden;transition:background 0.3s}.pub-entry::before{content:'';position:absolute;top:0;left:0;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform 0.4s}.pub-entry:hover::before{transform:scaleX(1)}.pub-entry:hover{background:var(--warm-white)}.pub-entry-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.pub-tag{font-size:0.65rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--accent)}.pub-date{font-size:0.7rem;letter-spacing:0.08em;color:var(--stone)}.pub-entry-title{font-family:'Cormorant Garamond',serif;font-size:1.65rem;font-weight:400;line-height:1.3;margin-bottom:0.6rem;max-width:50ch}.pub-entry-authors{font-size:0.8rem;color:var(--taupe);letter-spacing:0.02em;margin-bottom:1.75rem}.pub-entry-authors strong{color:var(--dark);font-weight:500}.pub-entry-abstract{font-size:0.92rem;line-height:1.85;color:var(--taupe);max-width:70ch;margin-bottom:1.75rem}.pub-entry-takeaway{background:var(--warm-white);border-left:2px solid var(--accent);padding:1.25rem 1.75rem;margin-bottom:1.75rem;max-width:65ch}.pub-entry-takeaway strong{display:block;font-size:0.68rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--accent);margin-bottom:0.5rem}.pub-entry-takeaway p{font-size:0.9rem;line-height:1.75;color:var(--dark)}.pub-faq-link{margin-top:1rem}.pub-entry-actions{display:flex;gap:1.25rem;align-items:center;flex-wrap:wrap}.pub-link{display:inline-flex;align-items:center;gap:0.5rem;font-size:0.7rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--dark);text-decoration:none;border-bottom:1px solid var(--stone);padding-bottom:2px;transition:color 0.3s,border-color 0.3s}.pub-link:hover{color:var(--accent);border-color:var(--accent)}.pub-share{display:inline-flex;align-items:center;gap:0.6rem}.pub-share-label{font-size:0.7rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--dark)}.pub-share-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--stone);border-radius:50%;color:var(--taupe);background:transparent;cursor:pointer;padding:0;transition:border-color 0.3s,color 0.3s}.pub-share-btn:hover{border-color:var(--accent);color:var(--accent)}.pub-share-btn.copied{border-color:var(--accent);color:var(--accent)}.faq{padding:5rem 4rem;background:var(--warm-white)}.faq-page{padding-top:5.5rem}.faq-list{display:flex;flex-direction:column;gap:2px;background:var(--sand);border:1px solid var(--sand);margin-top:3rem}.faq-entry{background:var(--cream);padding:3.5rem 4rem;position:relative;overflow:hidden;transition:background 0.3s}.faq-entry::before{content:'';position:absolute;top:0;left:0;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform 0.4s}.faq-entry:hover::before{transform:scaleX(1)}.faq-entry:hover{background:var(--warm-white)}.faq-entry-question{font-family:'Cormorant Garamond',serif;font-size:1.65rem;font-weight:400;line-height:1.3;margin:0.75rem 0 1.5rem;max-width:55ch}.faq-entry-answer{max-width:70ch}.faq-entry-answer p{font-size:0.92rem;line-height:1.9;color:var(--taupe);margin-bottom:1rem}.faq-entry-answer p:last-child{margin-bottom:0}.faq-entry-image{float:right;width:320px;margin:0 0 1.25rem 2rem;border-radius:8px;overflow:hidden;display:block}.faq-entry-image img{width:100%;height:auto;display:block}.faq-entry-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0.75rem;margin-top:1.5rem;max-width:70ch}.faq-entry-back{display:inline-block;font-size:0.7rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--taupe);text-decoration:none;border-bottom:none;transition:color 0.3s}.faq-entry-back:hover{color:var(--accent)}.faq-entry-cta{display:inline-block;font-size:0.7rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--accent);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px;transition:opacity 0.2s}.faq-entry-cta:hover{opacity:0.6}.faq .section-header{margin-bottom:0}.faq-toc{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--sand)}.faq-toc-title{font-size:0.65rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--accent);margin-bottom:0.85rem}.faq-toc-list{list-style:none;columns:2;gap:2rem;counter-reset:toc-counter}.faq-toc-list li{counter-increment:toc-counter;display:flex;align-items:baseline;gap:1rem;margin-bottom:0.4rem;break-inside:avoid}.faq-toc-list li::before{content:counter(toc-counter,decimal-leading-zero);font-family:'Cormorant Garamond',serif;font-size:0.85rem;color:var(--stone);flex-shrink:0}.faq-toc-list a{font-size:0.9rem;color:var(--taupe);text-decoration:none;border-bottom:1px solid transparent;padding-bottom:1px;transition:color 0.3s,border-color 0.3s;line-height:1.5}.faq-toc-list a:hover{color:var(--dark);border-bottom-color:var(--accent)}.faq-cta{text-align:center;margin-top:5rem;font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-style:italic;color:var(--taupe)}.faq-cta .btn{margin-top:1.5rem}@media (max-width:1024px){nav{padding:1.25rem 2.5rem}.hero{padding:7rem 2.5rem 4rem;gap:2rem}.hero-text{padding-right:2rem}.services{padding:3.5rem 2.5rem}.about{padding:3.5rem 2.5rem;gap:3rem}.approach{padding:3.5rem 2.5rem}.publications{padding:3.5rem 2.5rem}.publications-page{padding-top:5rem}.pub-entry{padding:2.75rem 2.5rem}.faq{padding:3.5rem 2.5rem}.faq-page{padding-top:5rem}.faq-toc-list{columns:1}.faq-entry{padding:2.75rem 2.5rem}.contact{padding:3.5rem 2.5rem;gap:3rem}}@media (max-width:768px){nav{padding:1rem 1.5rem}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);border-bottom:1px solid var(--sand);box-shadow:0 12px 24px rgba(0,0,0,0.08);max-height:calc(100vh - 4rem);overflow-y:auto;z-index:200}.nav-links.open{display:block}.nav-links li{border-top:1px solid var(--sand)}.nav-links a{display:block;padding:1rem 1.5rem;font-size:1rem;letter-spacing:0.1em;color:var(--dark)}.hamburger{display:flex;flex-direction:column;gap:5px;cursor:pointer;z-index:300;background:none;border:none;padding:4px}.hamburger span{display:block;width:24px;height:1.5px;background:var(--dark);transition:all 0.3s}.hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.hero{grid-template-columns:1fr;padding:6rem 1.5rem 3rem;min-height:auto}.hero::before{display:none}.hero-text{padding-right:0}.hero h1{font-size:3rem}.hero-desc{max-width:100%}.hero-visual{display:flex;padding-left:0;margin-top:2rem;justify-content:flex-start}.hero-portrait{width:200px;aspect-ratio:3/4}.hero-ornament{display:none}.btn-outline{margin-left:0;margin-top:0.75rem;display:inline-block}.divider{padding:0 1.5rem}.divider-text{font-size:1rem;white-space:normal;text-align:center}.services{padding:3rem 1.5rem}.services-grid{grid-template-columns:1fr}.service-card{padding:2rem 1.5rem}.about{grid-template-columns:1fr;padding:3rem 1.5rem;gap:0}.about-visual{display:block;margin-bottom:2rem}.about-decorative{aspect-ratio:auto;padding:2.5rem 1.5rem}.about-deco-inner{padding:1.5rem}.approach{padding:3rem 1.5rem}.pillars{grid-template-columns:1fr;gap:2.5rem}.publications{padding:3rem 1.5rem}.publications-page{padding-top:4.5rem}.pub-entry{padding:2rem 1.5rem}.pub-entry-title{font-size:1.35rem}.pub-entry-takeaway,.pub-entry-abstract{max-width:100%}.faq{padding:3rem 1.5rem}.faq-page{padding-top:4.5rem}.faq-entry{padding:2rem 1.5rem}.faq-entry-question{font-size:1.35rem}.faq-entry-answer{max-width:100%}.faq-entry-image{float:none;width:100%;margin:0 0 1.5rem 0}.faq-cta{margin-top:3rem}.contact{grid-template-columns:1fr;padding:3rem 1.5rem;gap:2.5rem}.form-row{grid-template-columns:1fr}footer{padding:2rem 1.5rem;flex-direction:column;gap:0.75rem;text-align:center}.hero-text .btn{display:block;text-align:center;margin-left:0;margin-bottom:0.75rem}}@media (max-width:400px){.hero h1{font-size:2.5rem}.hero-portrait{width:160px}.service-card{padding:1.75rem 1.25rem}}