/* Roselin Roy Kapur — refined, calm visual system */
:root{
  --ink:#263b32;
  --ink-soft:#5d6b63;
  --paper:#f7f8f3;
  --white:#ffffff;
  --sage:#e4ebe2;
  --sage-deep:#55715f;
  --sage-mid:#a9bba9;
  --peach:#eee8df;
  --gold:#a58d68;
  --line:#e0e6de;
  --serif:"Playfair Display",Georgia,serif;
  --sans:"DM Sans",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.75;overflow-x:hidden}
a{color:inherit;text-decoration:none}
::selection{background:#dce7dc;color:var(--ink)}
.site-nav{padding:17px 0;background:rgba(247,248,243,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(224,230,222,.55);transition:box-shadow .3s,padding .3s}
.site-nav.nav-scrolled{padding:10px 0;box-shadow:0 8px 30px rgba(38,59,50,.06)}
.brand{font-family:var(--serif);font-size:21px;line-height:1.05;color:var(--ink)!important;letter-spacing:-.5px}
.brand span{font-style:italic;color:var(--sage-deep)}
.brand small{display:block;font:700 8px var(--sans);letter-spacing:1.35px;margin-top:8px;color:#718476}
.nav-link{font-size:12px;color:var(--ink-soft);font-weight:600;position:relative;padding-left:8px!important;padding-right:8px!important}
.nav-link:after{content:"";position:absolute;bottom:2px;left:8px;right:100%;height:1px;background:var(--sage-deep);transition:right .25s}
.nav-link:hover:after,.nav-link.active:after{right:8px}
.nav-cta{font-size:11px;padding:11px 18px;letter-spacing:.1px}
.nav-cta span{margin-left:6px}
.navbar-toggler{border:0}.navbar-toggler:focus{box-shadow:none}
.hero-section{min-height:720px;padding:150px 0 95px;position:relative;display:flex;align-items:center;background:radial-gradient(ellipse at 82% 45%,rgba(224,233,222,.65) 0,transparent 35%),var(--paper)}
.eyebrow{font-size:9px;letter-spacing:2px;font-weight:700;color:var(--sage-deep);margin:0 0 19px;display:flex;align-items:center;gap:10px}
.eyebrow-line{display:inline-block;width:28px;height:1px;background:var(--sage-deep)}
h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:-1.25px}
h1{font-size:clamp(3.1rem,6.1vw,5.8rem);line-height:1.04;max-width:800px;margin:0 0 26px}
h1 em,.section-heading em{font-weight:500;color:var(--sage-deep)}
.hero-copy{max-width:510px;color:var(--ink-soft);font-size:16px;line-height:1.9}
.btn{font-family:var(--sans);font-weight:600;font-size:12px;transition:transform .25s,box-shadow .25s,background .25s}
.btn:hover{transform:translateY(-2px);box-shadow:0 9px 22px rgba(38,59,50,.1)}
.btn-dark{background:var(--ink);border-color:var(--ink)}
.btn-dark:hover{background:#385447;border-color:#385447}
.btn-outline-dark{border-color:#b6c2b7;color:var(--ink)}
.btn-outline-dark:hover{background:#e8eee7;border-color:#9eb09f;color:var(--ink)}
.hero-note{display:flex;gap:13px;align-items:center;margin-top:45px;font-size:11px;line-height:1.65;color:var(--ink-soft)}
.hero-note strong{color:var(--ink)}
.note-mark{font-size:23px;color:var(--sage-deep)}
.portrait-wrap{position:relative;max-width:420px;margin:auto}
.portrait-art{height:475px;position:relative;overflow:hidden;border-radius:210px 210px 12px 12px;background:#e4ebe2;box-shadow:0 24px 70px rgba(38,59,50,.08)}
.sun-disc{position:absolute;width:220px;height:220px;background:#f0e8dc;border-radius:50%;top:48px;right:34px}
.arch{position:absolute;border:1px solid rgba(255,255,255,.7);border-radius:200px 200px 0 0}
.arch-back{width:300px;height:380px;left:30px;bottom:-55px}
.arch-front{width:265px;height:330px;left:67px;bottom:-48px;background:#9caf9e;border:0;border-radius:140px 140px 0 0}
.portrait-placeholder{position:absolute;bottom:-10px;left:50%;transform:translateX(-50%);width:184px;height:305px;background:linear-gradient(90deg,#b7b6a8,#d3cfc0 48%,#a8aa9a);border-radius:90px 90px 0 0;display:flex;align-items:flex-start;justify-content:center;padding-top:38px;color:#f8f8f1;font:italic 68px var(--serif);box-shadow:inset 15px 0 20px rgba(38,59,50,.06)}
.portrait-caption{position:absolute;bottom:24px;right:22px;font:italic 18px/1.35 var(--serif);color:#fff;text-align:right;text-shadow:0 1px 8px rgba(38,59,50,.14)}
.floating-card{position:absolute;left:-28px;bottom:43px;background:rgba(255,255,255,.96);padding:17px 20px;display:flex;align-items:center;gap:13px;box-shadow:0 15px 40px rgba(38,59,50,.08);border:1px solid rgba(255,255,255,.9);border-radius:3px}
.card-spark{font-size:24px;color:var(--sage-deep)}
.floating-card small,.floating-card strong{display:block}
.floating-card small{font-size:8px;letter-spacing:1.25px;color:#758579}
.floating-card strong{font:500 16px var(--serif)}
.hero-bottom-mark{position:absolute;bottom:26px;left:0;right:0;text-align:center;font-size:8px;letter-spacing:2.7px;color:#9aa79a}
.section-pad{padding:100px 0}
.intro-section{background:var(--white)}
.section-heading{font-size:clamp(2.15rem,3.8vw,3.3rem);line-height:1.15;margin:0}
.intro-large{font:500 clamp(1.3rem,2.2vw,1.85rem)/1.58 var(--serif);max-width:700px;letter-spacing:-.35px}
.muted-copy,.body-copy{color:var(--ink-soft);font-size:14px;line-height:1.95}
.text-link{display:inline-flex;gap:13px;align-items:center;font-size:11px;font-weight:700;margin-top:16px;border-bottom:1px solid #bdcbbd;padding-bottom:7px;transition:gap .2s,color .2s}
.text-link:hover{gap:20px;color:var(--sage-deep)}
.pillars-section{background:#f3f5ef}
.section-top{display:flex;justify-content:space-between;align-items:end;gap:35px}
.section-aside{max-width:250px;color:var(--ink-soft);font-size:12px}
.pillar-card{height:100%;min-height:320px;padding:28px 27px 24px;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s,border-color .3s;border-radius:4px}
.pillar-card:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(38,59,50,.07);border-color:#bdcbbd}
.card-sage{background:#e8eee6}.card-peach{background:#f0eee7}
.pillar-number{font-size:8px;letter-spacing:1.5px;color:#718476;font-weight:700}
.pillar-icon{font-size:27px;margin:27px 0 13px;color:var(--sage-deep)}
.pillar-card h3{font-size:25px;margin:0 0 11px}
.pillar-card p{font-size:12px;line-height:1.85;color:var(--ink-soft)}
.card-link{margin-top:auto;padding-top:17px;font-size:10px;font-weight:700;display:flex;justify-content:space-between}
.quote-section{background:#e8eee6;padding:85px 0;text-align:center}
.quote-symbol{font:90px/.8 var(--serif);color:#819785;height:52px}
.quote-section blockquote{font:500 clamp(1.9rem,3.8vw,3.3rem)/1.25 var(--serif);max-width:830px;margin:18px auto;letter-spacing:-.8px}
.quote-caption{font-size:10px;letter-spacing:.8px;color:var(--ink-soft)}
.cta-panel{position:relative;overflow:hidden;background:#2d4338;color:#fff;padding:52px 56px;display:flex;justify-content:space-between;align-items:center;gap:35px;border-radius:4px}
.cta-panel .eyebrow{color:#c7d4c7}
.cta-panel h2{font-size:clamp(2rem,3.7vw,3.15rem);margin-bottom:11px}
.cta-panel p:not(.eyebrow){color:#dbe3db;font-size:12px;margin:0;max-width:490px}
.cta-panel .btn{position:relative;z-index:2;white-space:nowrap;color:var(--ink)}
.cta-orbit{position:absolute;width:300px;height:300px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:8%;top:-175px;box-shadow:0 0 0 32px rgba(255,255,255,.035),0 0 0 65px rgba(255,255,255,.025)}
.site-footer{background:#fff;padding:40px 0 22px;border-top:1px solid var(--line)}
.footer-row{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:30px}
.footer-row>p{font-size:11px;color:var(--ink-soft);margin:0}
.footer-links{display:flex;gap:19px}
.footer-links a{font-size:10px;color:var(--ink-soft)}
.footer-links a:hover{color:var(--sage-deep)}
.footer-bottom{border-top:1px solid var(--line);padding-top:17px;display:flex;justify-content:space-between;color:#89948a;font-size:9px}
.inner-page{padding-top:82px}
.page-hero{padding:100px 0 82px;background:radial-gradient(ellipse at 88% 35%,rgba(224,233,222,.6) 0,transparent 34%),var(--paper);border-bottom:1px solid var(--line)}
.page-hero h1{max-width:850px;font-size:clamp(3rem,5.8vw,5.3rem)}
.page-lead{font-size:15px;max-width:620px;color:var(--ink-soft);line-height:1.9}
.about-art{min-height:420px;position:relative;background:#e4ebe2;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:3px}
.about-art-circle{position:absolute;width:310px;height:310px;border-radius:50%;background:#f0e8dc;top:50px;left:50%;transform:translateX(-50%)}
.about-monogram{position:relative;font:italic 88px var(--serif);color:#66816e;letter-spacing:-11px}
.about-art-label{position:absolute;bottom:22px;left:25px;font:italic 18px/1.35 var(--serif);color:var(--ink)}
.timeline-section{background:#fff}
.timeline{max-width:850px;border-top:1px solid var(--line)}
.timeline-item{display:grid;grid-template-columns:90px 1fr;gap:25px;padding:26px 0;border-bottom:1px solid var(--line)}
.timeline-item>span{font-size:10px;letter-spacing:1px;color:var(--sage-deep);font-weight:700;padding-top:6px}
.timeline-item h3{font-size:25px;margin-bottom:7px}
.timeline-item p{font-size:13px;color:var(--ink-soft);margin:0;max-width:650px}
.service-detail{border-bottom:1px solid var(--line)}
.service-tint{background:#f0f3ed}
.service-index{font:italic 33px var(--serif);color:#809681;display:block;margin-bottom:18px}
.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:32px}
.mini-grid>div{border-top:1px solid #d7e0d5;padding-top:14px}
.mini-grid span{display:block;color:var(--sage-deep);font-size:20px}
.mini-grid strong{font:500 18px var(--serif)}
.mini-grid p{font-size:11px;color:var(--ink-soft);margin:7px 0 0;line-height:1.8}
.elegant-list{list-style:none;padding:0;margin:24px 0}
.elegant-list li{padding:12px 0 12px 26px;border-bottom:1px solid #dce3da;font-size:13px;position:relative}
.elegant-list li:before{content:"✳";position:absolute;left:0;color:var(--sage-deep)}
.small-note{font-size:10px;color:#7d897f;line-height:1.75}
.highlight-quote{padding:24px 28px;border-left:2px solid #8ba18e;background:#f8f9f5;font:italic 21px/1.55 var(--serif);margin:28px 0}
.insight-feature{display:grid;grid-template-columns:.85fr 1.15fr;background:#fff;border:1px solid var(--line);border-radius:3px;overflow:hidden}
.feature-art{min-height:340px;background:#e4ebe2;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
.feature-art>span{position:absolute;top:21px;left:24px;font-size:10px;color:var(--sage-deep)}
.feature-shape{font-size:125px;color:#819785;position:relative}
.feature-art small{position:absolute;bottom:21px;left:24px;letter-spacing:1.7px;font-size:8px}
.feature-copy{padding:42px;align-self:center}
.feature-copy h2{font-size:clamp(1.9rem,3.4vw,2.8rem);line-height:1.17}
.feature-copy>p:not(.eyebrow){font-size:12px;color:var(--ink-soft);line-height:1.9}
.reflection-prompt{padding:15px;background:var(--paper);font-size:11px;line-height:1.75;margin-top:20px;border-left:2px solid #a9bba9}
.insight-card{height:100%;background:#fff;border:1px solid var(--line);transition:transform .3s,box-shadow .3s;border-radius:3px;overflow:hidden}
.insight-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(38,59,50,.07)}
.insight-card-top{height:135px;padding:19px;display:flex;justify-content:space-between;align-items:flex-start}
.insight-card-top span{font:italic 28px var(--serif)}
.insight-card-top b{font-size:8px;letter-spacing:1.25px}
.sage{background:#e4ebe2}.peach{background:#f0eee7}.lavender{background:#e8ebe6}
.insight-card-body{padding:25px}
.insight-card-body h3{font-size:24px;line-height:1.25}
.insight-card-body>p:not(.eyebrow){font-size:11px;color:var(--ink-soft);line-height:1.85}
.insight-card-body .text-link{font-size:9px}
.contact-hero{padding-bottom:68px}
.contact-area{background:#fff}
.contact-info-card{display:flex;gap:14px;padding:19px 0;border-top:1px solid var(--line);margin-top:18px}
.contact-icon{font-size:21px;color:var(--sage-deep)}
.contact-info-card strong{font:500 19px var(--serif)}
.contact-info-card p{font-size:11px;color:var(--ink-soft);line-height:1.85;margin:5px 0 0}
.contact-info-card a{text-decoration:underline;text-underline-offset:3px}
.contact-form{background:#f7f8f3;border:1px solid var(--line);padding:34px;border-radius:3px}
.form-head{margin-bottom:26px}
.form-head .eyebrow{margin-bottom:9px}
.form-head h3{font-size:28px}
.form-label{font-size:10px;font-weight:700;color:var(--ink-soft)}
.form-control,.form-select{border:1px solid #dce3da;border-radius:3px;background:#fff;padding:12px 13px;font-size:12px;color:var(--ink)}
.form-control:focus,.form-select:focus{border-color:#91a895;box-shadow:0 0 0 .2rem rgba(85,113,95,.12)}
.form-check-label{font-size:10px;color:var(--ink-soft)}
.form-check-input:checked{background-color:var(--sage-deep);border-color:var(--sage-deep)}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.reveal.is-visible{opacity:1;transform:translateY(0)}
.delay-1{transition-delay:.1s}.delay-2{transition-delay:.18s}
@media(max-width:991px){
 .site-nav{padding:12px 0}.navbar-collapse{padding:18px 0 8px}.nav-cta{display:inline-block;margin-top:8px}
 .hero-section{padding-top:130px;min-height:auto}.portrait-wrap{max-width:365px}.portrait-art{height:410px}
 .section-pad{padding:76px 0}.section-top{align-items:start;flex-direction:column}.section-aside{max-width:500px}
 .cta-panel{padding:40px;align-items:flex-start;flex-direction:column}.footer-row{align-items:flex-start;flex-wrap:wrap}.footer-row>p{order:3;width:100%}.footer-links{margin-left:auto}
 .feature-copy{padding:30px}.page-hero{padding:78px 0 62px}
}
@media(max-width:575px){
 .brand{font-size:18px}.hero-section{padding:120px 0 70px}.hero-section h1{font-size:3.25rem}.hero-copy{font-size:14px}
 .portrait-art{height:360px}.floating-card{left:-7px;bottom:25px;padding:12px}.floating-card strong{font-size:14px}
 .hero-bottom-mark{font-size:7px;letter-spacing:1.7px}.section-pad{padding:62px 0}.section-heading{font-size:2.3rem}
 .pillar-card{min-height:290px}.cta-panel{padding:30px 23px}.footer-row{gap:19px}.footer-links{width:100%;margin:0;flex-wrap:wrap}
 .footer-bottom{gap:9px;flex-direction:column}.inner-page{padding-top:70px}.page-hero{padding:68px 0 52px}.page-hero h1{font-size:3.05rem}.page-lead{font-size:14px}
 .about-art{min-height:300px}.about-art-circle{width:235px;height:235px}.about-monogram{font-size:70px}
 .timeline-item{grid-template-columns:38px 1fr;gap:12px}.timeline-item h3{font-size:21px}.mini-grid{grid-template-columns:1fr;gap:17px}
 .insight-feature{grid-template-columns:1fr}.feature-art{min-height:220px}.feature-copy{padding:24px}
 .contact-form{padding:23px 17px}.highlight-quote{padding:18px;font-size:19px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
