.philosophy-hero,.philosophy-principles,.philosophy-project,.philosophy-cta { margin-inline:auto; max-width:var(--layout-width); padding-inline:clamp(1.25rem,4vw,3rem); }
.philosophy-hero { align-items:center; display:grid; gap:clamp(2rem,7vw,6rem); grid-template-columns:1.2fr .8fr; min-height:min(38rem,calc(100vh - 5.25rem)); padding-block:clamp(3rem,8vw,7rem); }
.philosophy-hero h1 { font-size:clamp(3.3rem,7vw,6.2rem); max-width:9ch; }
.philosophy-hero > div > p:not(.eyebrow) { color:#40564e; font-size:clamp(1.1rem,2vw,1.35rem); line-height:1.6; max-width:37rem; }
.philosophy-hero .button { margin-top:1.2rem; }
.philosophy-hero__art { align-self:stretch; display:flex; min-height:19rem; position:relative; }
.philosophy-hero__art > img { height:100%; object-fit:contain; width:100%; }
.philosophy-hero__note { background:#fff; border:1px solid #d8ddd5; border-radius:.75rem; box-shadow:.35rem .35rem 0 #f3c969; display:flex; flex-direction:column; justify-content:center; max-width:17rem; padding:1.2rem; position:absolute; right:-1rem; top:-1.25rem; transform:rotate(-6deg); }
.philosophy-hero__note span { color:#2f6d52; font-size:2.5rem; line-height:1; }
.philosophy-hero__note p { font-size:clamp(1rem,1.8vw,1.25rem); font-weight:750; letter-spacing:-.035em; line-height:1.2; margin:.75rem 0 0; }
.philosophy-intro { align-items:center; background:#e8ede2; display:grid; gap:clamp(2rem,7vw,6rem); grid-template-columns:minmax(16rem,.75fr) minmax(0,1.25fr); max-width:none; padding-block:clamp(4rem,8vw,7rem); padding-inline:max(1.25rem,calc((100vw - var(--layout-width))/2)); }
.philosophy-intro__content { max-width:51rem; }
.philosophy-intro h2 { max-width:17ch; }
.philosophy-intro p:not(.eyebrow) { color:#40564e; font-size:clamp(1.08rem,1.8vw,1.3rem); line-height:1.65; margin-top:1.5rem; max-width:51rem; }
.philosophy-intro__art { display:block; height:auto; max-width:30rem; width:100%; }
.philosophy-principles { padding-block:clamp(4rem,8vw,7rem); }
.philosophy-principles__grid { display:grid; gap:1rem; grid-template-columns:repeat(2,1fr); margin-top:2rem; }
.philosophy-principles article { background:#fff; border:1px solid #d8ddd5; border-radius:1.25rem; min-height:15rem; padding:clamp(1.5rem,3vw,2.5rem); }
.philosophy-principles article:nth-child(2) { background:#edf5ec; }
.philosophy-principles article:nth-child(3) { background:#f4eee3; }
.philosophy-principles__top { align-items:center; column-gap:clamp(.75rem,2vw,1.25rem); display:grid; grid-template-columns:clamp(6.25rem,10vw,7.5rem) minmax(0,1fr) auto; }
.philosophy-principles__icon { display:block; height:auto; width:100%; }
.philosophy-principles__number { align-self:start; color:#2f6d52; font-size:.8rem; font-weight:800; letter-spacing:.1em; }
.philosophy-principles h3 { font-size:clamp(1.45rem,2.4vw,2rem); margin:.15rem 0 0; max-width:15ch; }
.philosophy-principles p { color:#52635b; margin:.9rem 0 0; max-width:30rem; }
.philosophy-project { align-items:start; background:#17362e; color:#fff; display:grid; gap:clamp(2rem,8vw,8rem); grid-template-columns:.85fr 1fr; max-width:none; padding-block:clamp(4rem,8vw,7rem); padding-inline:max(1.25rem,calc((100vw - var(--layout-width))/2 + 3rem)); }
.philosophy-project .eyebrow { color:#b9d0bc; }
.philosophy-project h2 { max-width:11ch; }
.philosophy-project p { color:#dbe7da; font-size:1.08rem; line-height:1.65; max-width:38rem; }
.philosophy-project .text-link { color:#fff; }
.philosophy-cta { padding-block:clamp(4rem,8vw,7rem); text-align:center; }
.philosophy-cta h2 { margin-inline:auto; max-width:14ch; }
.philosophy-cta > p:not(.eyebrow) { color:#52635b; font-size:1.1rem; margin:1.2rem auto 0; max-width:35rem; }
.philosophy-cta > div { display:flex; flex-wrap:wrap; gap:.75rem; justify-content:center; margin-top:1.75rem; }

@media (max-width:48rem) {
 .philosophy-hero,.philosophy-intro,.philosophy-project { grid-template-columns:1fr; }
 .philosophy-hero { min-height:auto; }
 .philosophy-hero__art { min-height:13rem; } .philosophy-hero__note { right:0; top:-.5rem; transform:rotate(-3deg); }
 .philosophy-principles__grid { grid-template-columns:1fr; }
 .philosophy-project { grid-template-columns:1fr; }
}
