/* A contemporary editorial system inspired by stone arches, manuscripts and geometric craft. */
:root{--body-leading:1.8;--ease-out:cubic-bezier(.2,.65,.3,1)}
body{font-kerning:normal;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3{text-wrap:balance}p{orphans:3;widows:3}button,input,select,textarea{font:inherit}
.hero h1{font-size:clamp(48px,5.2vw,78px);line-height:1.13;letter-spacing:-.052em}
.hero-description{font-size:clamp(16px,1.45vw,19px);line-height:1.85}
.hero{position:relative;isolation:isolate}.hero-copy{position:relative;z-index:2}
.hero:before{content:'';position:absolute;inset:10% 10% 0 40%;background:radial-gradient(ellipse,#e7ddc74f,transparent 68%);z-index:-1;pointer-events:none}
.hero-visual>.hero-rosette{position:absolute;width:175px;height:175px;right:-20px;top:-28px;color:#a28654;opacity:.64;z-index:0}
.hero-frame{z-index:1}.hero-outline{z-index:2;pointer-events:none}.hero-float{z-index:3;box-shadow:0 14px 40px #3e372312}
.heritage-rosette{stroke:currentColor;stroke-width:.7;overflow:visible;pointer-events:none}.rosette-petals{transform-origin:120px 120px}
.hero-photo{animation:heritage-photo 20s ease-in-out infinite alternate;animation-play-state:var(--motion-state,paused)}
.hero-float{animation:heritage-float 7s ease-in-out infinite;animation-play-state:var(--motion-state,paused)}
.rosette-petals{animation:heritage-turn 100s linear infinite;animation-play-state:var(--motion-state,paused)}
.float-spark{animation:heritage-turn 22s linear infinite;animation-play-state:var(--motion-state,paused)}
.motion-scene{--motion-state:paused}.motion-scene.in-view{--motion-state:running}
.heritage-band{margin-top:52px;padding-block:22px;border-block:1px solid var(--line);background:#ebe6d84a;overflow:hidden}
.heritage-band>.container{display:flex;align-items:center;justify-content:space-between;gap:26px}.heritage-band span{font:italic 400 clamp(25px,3vw,42px)/1.4 var(--serif);color:#697560}.heritage-band svg{width:45px;height:45px;color:#a58d63;flex-shrink:0}
.library-feature{position:relative;isolation:isolate;overflow:hidden}.library-feature:before{content:'';position:absolute;width:540px;height:540px;border:1px solid #b5c19c20;border-radius:50%;right:-230px;top:-80px;box-shadow:0 0 0 28px #b5c19c08,0 0 0 56px #b5c19c07;pointer-events:none;z-index:-1}
.library-arch{position:relative}.library-arch:before{content:'';position:absolute;inset:13px;border:1px solid #bba37370;border-radius:inherit;pointer-events:none}
.spine{transition:transform .55s var(--ease-out)}.library-art:hover .s-b{transform:translateY(-12px) rotate(-3deg)}.library-art:hover .s-d{transform:translateY(-7px) rotate(2deg)}
.tree-intro{position:relative;max-width:none;padding-right:180px;isolation:isolate}.tree-intro .intro-ornament{position:absolute;right:4px;top:48px;width:135px;height:150px;color:#a58b5c;opacity:.58;z-index:-1}.intro-ornament:before,.intro-ornament:after{content:'';position:absolute;inset:0;border:1px solid currentColor;border-radius:80px 80px 0 0}.intro-ornament:after{inset:9px}.intro-ornament svg{position:absolute;inset:27px 15px;width:105px;height:105px}
.tree-intro h1{font-size:clamp(42px,5vw,68px);line-height:1.15}.tree-intro.long-heading h1{font-size:clamp(34px,4.4vw,60px)}.tree-intro p{font-size:17px;line-height:1.85}
.tree-tile{border-color:#d7d9ca;transition:transform .4s var(--ease-out),box-shadow .4s,background .3s}.tree-tile:hover{box-shadow:0 15px 35px #253c2d0d;transform:translateY(-5px)}.tree-tile:focus-visible{outline-offset:5px}
.home-tree-links .tree-tile{padding:0 0 62px;overflow:hidden;background:#f8f7f0}.home-tree-links .tree-tile:nth-child(2){background:#e9ede3}.home-tree-links .tree-tile:nth-child(3){background:#eee6d9}.home-tree-links .tree-tile>h2,.home-tree-links .tree-tile>p{margin-inline:28px}.home-tree-links .tree-tile>h2{font-size:31px;margin-top:26px}.home-tree-links .tree-tile>p{font-size:15px}
.service-tile-art{background:#e9e3d4;position:relative;padding:5px 8px 25px;overflow:hidden}.tree-tile:nth-child(2) .service-tile-art{background:#d7dfcd}.tree-tile:nth-child(3) .service-tile-art{background:#e1ccba}.service-tile-art>svg{display:block;width:100%;height:auto;stroke:#647258;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.art-arch{opacity:.45}.art-ground{opacity:.4}.service-tile-art>span{display:block;text-align:center;font-size:9px;letter-spacing:.2em;color:#536148}.art-steam{animation:heritage-steam 4s ease-in-out infinite;animation-play-state:var(--motion-state,paused)}.steam-two{animation-delay:.7s}.steam-three{animation-delay:1.4s}.art-paper{transform-origin:180px 140px;animation:heritage-paper 7s ease-in-out infinite;animation-play-state:var(--motion-state,paused)}.art-dot,.art-star{animation:heritage-float 6s ease-in-out infinite;animation-play-state:var(--motion-state,paused)}.art-bookmark{animation:heritage-ribbon 5s ease-in-out infinite;animation-play-state:var(--motion-state,paused)}
.service-opening{position:relative;isolation:isolate}.service-opening:after{content:'';position:absolute;right:-110px;bottom:-220px;width:560px;height:560px;border:1px solid #a48c633a;border-radius:50%;box-shadow:0 0 0 24px #a48c630c,0 0 0 48px #a48c6308;z-index:-1;pointer-events:none}.service-emblem{position:relative}.service-emblem:before{content:'';position:absolute;inset:9px;border:1px solid #b6c6a63f;border-radius:inherit}.service-emblem>svg{animation:heritage-float 7s ease-in-out infinite;animation-play-state:var(--motion-state,paused)}.children-symbols span:nth-child(2){animation:heritage-float 6s ease-in-out infinite;animation-play-state:var(--motion-state,paused)}.children-symbols span:nth-child(3){animation:heritage-float 6s 1.5s ease-in-out infinite;animation-play-state:var(--motion-state,paused)}
.award-year{position:relative;background:radial-gradient(circle at 50% 30%,#b7996325,transparent 65%)}.ramadan-symbol{position:relative}.ramadan-symbol:before{content:'';position:absolute;inset:15px;border:1px solid #a28e6470;border-radius:inherit;pointer-events:none}.ramadan-symbol>svg{animation:heritage-float 8s ease-in-out infinite;animation-play-state:var(--motion-state,paused)}
.workshop-art{background-image:radial-gradient(circle at 25% 25%,#fff5 0 1px,transparent 2px);background-size:18px 18px}.workshop-card{transition:box-shadow .3s,transform .3s}.workshop-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #1836290b}
.button{transition:background .25s,color .25s,box-shadow .25s}.button svg,.text-link svg{transition:transform .25s}.button:hover svg,.text-link:hover svg{transform:translate(2px,-2px)}.button:hover{box-shadow:0 8px 22px #253c2d12}
.is-revealed{animation:heritage-arrive .65s var(--ease-out) backwards}.tree-tiles>.is-revealed:nth-child(2),.story-grid>.is-revealed:nth-child(2){animation-delay:.07s}.tree-tiles>.is-revealed:nth-child(3),.story-grid>.is-revealed:nth-child(3){animation-delay:.14s}
.motion-control{position:fixed;bottom:17px;left:18px;z-index:45;display:flex;align-items:center;gap:8px;padding:9px 13px;min-height:40px;background:#f8f7f0f5;color:#41583e;border:1px solid #b5b99f;border-radius:22px;box-shadow:0 3px 14px #152b2412;cursor:pointer;font:500 11px var(--sans)}.motion-control svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5}.motion-control[aria-pressed=true] svg{fill:currentColor;stroke:none}.motion-control:hover{background:#e6eadc}
body[data-motion=paused] *,body[data-motion=paused] *:before,body[data-motion=paused] *:after{animation-play-state:paused!important}body[data-motion=paused] .is-revealed{animation:none!important}
@keyframes heritage-photo{from{transform:scale(1)}to{transform:scale(1.055)}}
@keyframes heritage-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes heritage-turn{to{transform:rotate(360deg)}}
@keyframes heritage-steam{0%,100%{transform:translateY(2px);opacity:.35}50%{transform:translateY(-7px);opacity:.85}}
@keyframes heritage-paper{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-8px) rotate(2deg)}}
@keyframes heritage-ribbon{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
@keyframes heritage-arrive{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.hero-visual>.hero-rosette{right:-8px;width:135px;height:135px}.tree-intro{padding-right:140px}.tree-intro .intro-ornament{width:110px;height:130px}.intro-ornament svg{width:85px;height:85px;inset:24px 12px}}
@media(max-width:739px){.hero h1{font-size:clamp(42px,10.8vw,63px);letter-spacing:-.045em;line-height:1.13}.hero-description{font-size:16px;line-height:1.8}.hero-visual>.hero-rosette{width:120px;height:120px;right:0;top:-18px;opacity:.7}.hero .eyebrow{font-size:10px}.hero-buttons .button{font-size:12px;min-height:48px}.heritage-band{margin-top:34px;padding-block:17px}.heritage-band>.container{gap:13px;flex-wrap:wrap;justify-content:center}.heritage-band span{font-size:25px}.heritage-band svg{width:27px;height:27px}.heritage-band svg:last-of-type,.heritage-band span:last-child{display:none}.tree-intro{padding-right:0}.tree-intro .intro-ornament{top:26px;right:0;width:72px;height:82px;opacity:.2}.intro-ornament svg{width:56px;height:56px;inset:14px 8px}.tree-intro h1{font-size:43px;letter-spacing:-.04em;position:relative}.tree-intro.long-heading h1{font-size:35px;line-height:1.2}.tree-intro p{font-size:16px;line-height:1.85}.home-tree-links .tree-tile>h2{font-size:32px}.service-tile-art>svg{height:235px}.home-tree-links .tree-tiles{gap:25px}.motion-control{bottom:12px;left:10px;width:42px;height:42px;min-height:42px;padding:11px}.motion-control span{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}.service-opening:after{width:360px;height:360px;bottom:-120px;right:-190px}}
@media(max-width:379px){.hero h1{font-size:40px}.hero-buttons .button{font-size:11px}.tree-intro h1{font-size:39px}.tree-intro.long-heading h1{font-size:33px}.heritage-band span{font-size:22px}.heritage-band>.container{gap:10px}.heritage-band svg{width:23px;height:23px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.is-revealed{opacity:1!important;transform:none!important}.motion-control{display:none}}

.service-opening>.service-tile-art{background:transparent;padding:0;align-self:center;width:100%;min-width:0}.kitchen-opening>.service-tile-art>svg{stroke:#c7c7a5}.kitchen-opening>.service-tile-art>span{color:#d6d3b8}.service-opening>.service-tile-art>svg{height:auto;max-height:315px}.service-opening>.service-tile-art>span{font-size:8px}
@media(max-width:739px){.service-opening>.service-tile-art{max-width:280px;justify-self:center}.service-opening>.service-tile-art>svg{height:220px}}
