@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500&display=swap");
@font-face { font-family:"Ogg"; font-style:normal; font-weight:400; font-display:swap; src:url("https://static.parastorage.com/fonts/v2/99d5e6a7-2908-4139-a421-5f5388306d98/v1/ogg.latin.woff2") format("woff2"); }
@font-face { font-family:"Ogg"; font-style:italic; font-weight:400; font-display:swap; src:url("https://static.parastorage.com/fonts/v2/effc06d7-b994-4ff3-99c0-05b885d076ab/v1/ogg.latin.woff2") format("woff2"); }

:root { --ink:#0a122a; --paper:#fdfcf2; --blue:#4d729d; --line:rgba(10,18,42,.2); --serif:"Ogg",Georgia,serif; --sans:"DM Sans",Arial,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; overflow-x:hidden; color:var(--ink); background:var(--paper); font-family:var(--sans); font-variant-numeric:oldstyle-nums proportional-nums; }
a { color:inherit; }
.site-header { display:flex; justify-content:space-between; align-items:center; min-height:96px; padding:22px clamp(24px,5vw,80px); }
.wordmark { border-bottom:1px solid currentColor; font:400 clamp(1.7rem,3vw,3rem)/1 var(--serif); text-decoration:none; }
nav { display:flex; gap:clamp(16px,2.5vw,40px); }
nav a, footer a { font-size:.68rem; letter-spacing:.13em; text-decoration:none; text-transform:uppercase; }
nav a[aria-current="page"] { border-bottom:1px solid; }

/* Page hero system: layout controls scale; alignment controls rag; divider controls transition. */
.page-hero { position:relative; display:grid; padding-inline:clamp(24px,5vw,80px); border-bottom:0 solid var(--line); }
.hero-inner { width:min(100%,1600px); margin:auto; }
.page-hero.layout-feature { min-height:calc(100svh - 96px); align-items:center; padding-block:90px 130px; }
.page-hero.layout-compact { min-height:clamp(300px,48svh,500px); align-items:center; padding-block:60px 105px; }
.page-hero.layout-quiet { min-height:260px; align-items:end; padding-block:70px 75px; }
.page-hero.align-center { text-align:center; }
.page-hero.align-right { text-align:right; }
.page-hero.align-left .hero-inner, .page-hero.align-right .hero-inner { max-width:1100px; }
.eyebrow { margin:0 0 16px; font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; }
.page-hero h1 { max-width:11ch; margin:0; font:400 clamp(4rem,9vw,8.5rem)/.96 var(--serif); letter-spacing:-.035em; text-wrap:balance; }
.page-hero.align-center h1 { margin-inline:auto; }
.page-hero.align-right h1 { margin-left:auto; }
.layout-feature h1 { font-size:clamp(5rem,12vw,11rem); }
.layout-quiet h1 { font-size:clamp(3.5rem,7vw,6.5rem); }
.hero-intro { max-width:48ch; margin:22px 0 0; font:italic clamp(.95rem,1.3vw,1.12rem)/1.6 var(--serif); }
.align-center .hero-intro { margin-inline:auto; }
.align-right .hero-intro { margin-left:auto; }
.divider-line { border-bottom-width:1px; }
.section-divider { position:absolute; right:-1%; bottom:-1px; left:-1%; width:102%; height:72px; color:var(--blue); }
.section-divider path { fill:currentColor; stroke:currentColor; }

.page-intro { max-width:1600px; padding:clamp(70px,11vh,130px) clamp(24px,5vw,80px) 0; margin:auto; }
.page-intro h2 { max-width:16ch; margin:0 0 24px; font:400 clamp(2.6rem,5vw,5rem)/1.05 var(--serif); letter-spacing:-.025em; text-wrap:balance; }
.page-intro p { max-width:62ch; margin:0; font-size:1rem; line-height:1.75; }
.page-intro.align-center { text-align:center; }
.page-intro.align-center h2, .page-intro.align-center p { margin-inline:auto; }
.page-intro.align-right { text-align:right; }
.page-intro.align-right h2, .page-intro.align-right p { margin-left:auto; }

.collection { max-width:1600px; padding:0 clamp(24px,5vw,80px); margin:auto; }
.collection-item { border-bottom:1px solid var(--line); }
.layout-alternating .collection-item { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,540px) minmax(0,1fr); gap:clamp(28px,5vw,86px); align-items:center; min-height:min(880px,90svh); padding:clamp(70px,10vh,120px) 0; }
.layout-alternating .collection-item:nth-child(even) .item-heading { order:3; text-align:right; }
.layout-alternating .collection-item:nth-child(even) .item-visual { order:2; }
.layout-alternating .collection-item:nth-child(even) .item-copy { order:1; justify-self:end; text-align:right; }
.item-heading { align-self:start; min-width:0; padding-top:4px; }
.item-number { display:block; margin-bottom:18px; font-size:.68rem; font-variant-numeric:lining-nums tabular-nums; letter-spacing:.18em; }
.item-heading h2 { max-width:9ch; margin:0; font:400 clamp(2.7rem,4.4vw,4.8rem)/1.02 var(--serif); letter-spacing:-.025em; text-wrap:balance; }
.layout-alternating .collection-item:nth-child(even) h2 { margin-left:auto; }
.item-visual { width:100%; height:min(58svh,620px); overflow:hidden; background:#e6e2d1; }
.item-visual img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.item-visual.fit-contain { background:transparent; }
.item-visual.fit-contain img { object-fit:contain; }
.collection-item:hover .item-visual img { transform:scale(1.012); }
.item-copy { max-width:32ch; font-size:.9rem; line-height:1.65; }
.item-copy p { margin:0 0 1.2em; }
.item-subtitle { font:italic 1.5rem/1.25 var(--serif); }
.text-link { display:inline-block; margin-top:14px; padding-bottom:5px; border-bottom:1px solid; font-size:.67rem; letter-spacing:.14em; text-decoration:none; text-transform:uppercase; }
.text-link span { margin-left:8px; }

.layout-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(30px,5vw,70px); padding-block:clamp(70px,10vh,120px); }
.layout-grid .collection-item { display:grid; grid-template-columns:1fr; gap:24px; align-content:start; padding-bottom:50px; }
.layout-grid .item-visual { order:-1; height:min(52vw,580px); }
.layout-grid .item-heading h2 { max-width:14ch; }
.layout-grid .item-copy { max-width:60ch; }
.layout-list { padding-block:clamp(60px,9vh,110px); }
.layout-list .collection-item { display:grid; grid-template-columns:80px minmax(180px,1fr) minmax(280px,2fr); gap:clamp(20px,4vw,70px); align-items:start; padding:38px 0; }
.layout-list .item-number { margin:5px 0 0; }
.layout-list .item-heading { display:contents; }
.layout-list .item-heading h2 { max-width:14ch; font-size:clamp(2rem,3vw,3.5rem); }
.layout-list .item-visual { display:none; }
.layout-list .item-copy { max-width:60ch; }

footer { display:flex; justify-content:space-between; padding:26px clamp(24px,5vw,80px); border-top:1px solid var(--line); font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; }
@media(max-width:900px){
    .site-header { min-height:78px; align-items:flex-start; padding:18px 20px; }
    nav { max-width:55%; flex-wrap:wrap; justify-content:flex-end; gap:10px 14px; }
    .page-hero { padding-inline:20px; }
    .page-hero.layout-feature { min-height:520px; }
    .page-hero.layout-compact { min-height:390px; }
    .section-divider { height:55px; }
    .page-intro { padding-inline:20px; }
    .collection { padding-inline:20px; }
    .layout-alternating .collection-item, .layout-list .collection-item { grid-template-columns:1fr; gap:26px; min-height:auto; padding:70px 0; }
    .layout-alternating .collection-item:nth-child(even) .item-heading, .layout-alternating .collection-item:nth-child(even) .item-visual, .layout-alternating .collection-item:nth-child(even) .item-copy { order:initial; text-align:left; justify-self:start; }
    .layout-alternating .collection-item:nth-child(even) h2 { margin-left:0; }
    .item-heading h2 { max-width:12ch; font-size:clamp(2.8rem,15vw,4.5rem); }
    .item-visual { height:min(62svh,560px); }
    .item-copy { max-width:60ch; }
    .layout-grid { grid-template-columns:1fr; }
    .layout-grid .item-visual { height:min(70svh,560px); }
    .layout-list .item-number { margin:0; }
    .layout-list .item-heading { display:block; }
    footer { gap:20px; padding:22px 20px; }
}
