/* Downers Grove: portfolio page with a floating editorial cover and two front doors. */
.dgr-page{--ink:#303349;--paper:#f5f3f0;--lavender:#e5e1eb;--line:#bab8c3;color:var(--ink);background:var(--paper);font-family:var(--font-body,"DM Sans",sans-serif)}
.dgr-page *{box-sizing:border-box}
.dgr-page a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.22em}
.dgr-page a:hover{color:#67628c}
.dgr-page a:focus-visible{outline:3px solid #757093;outline-offset:4px}
.dgr-page ::selection{background:#5c5976;color:white}
.dgr-shell{width:min(1180px,calc(100% - 3rem));margin-inline:auto}
.dgr-page h1,.dgr-page h2,.dgr-page h3,.dgr-page h4{font-family:var(--font-display,"Cormorant Garamond",Georgia,serif);font-weight:500;letter-spacing:-.025em;text-wrap:balance}
.dgr-page h2{font-size:clamp(2.6rem,4.7vw,5.1rem);line-height:1.02;margin:0}
.dgr-page p{line-height:1.65}
.dgr-hero{position:relative;min-height:690px;background:#c5c8c0}
.dgr-hero>figure{position:absolute;inset:0;margin:0}
.dgr-hero>figure img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.dgr-hero figcaption{position:absolute;right:1rem;bottom:1rem;background:rgba(37,42,52,.8);color:white;padding:.25rem .5rem;font-size:.68rem}
.dgr-hero-panel{position:relative;z-index:1;width:min(620px,calc(100% - 3rem));margin-left:max(3rem,calc((100vw - 1180px)/2));padding:2.5rem 2.8rem 3rem;background:#f3edf0;color:#303349;box-shadow:0 20px 50px rgba(28,30,44,.15)}
.dgr-crumbs{display:flex;gap:.6rem;flex-wrap:wrap;font-size:.78rem;margin-bottom:2.2rem}
.dgr-hero h1{font-size:clamp(3rem,4.4vw,5.2rem);line-height:1.01;margin:0;max-width:17ch}
.dgr-hero h1 span{display:block;font-family:var(--font-body,"DM Sans",sans-serif);font-size:.82rem;line-height:1.5;letter-spacing:.05em;font-weight:700;color:#5c5976;margin-bottom:1rem}
.dgr-hero-panel>p{font-size:1.05rem}
.dgr-hero-action{display:flex;gap:1rem;align-items:end;margin-top:1.2rem}
.dgr-hero-action a,.dgr-button{display:inline-flex;justify-content:space-between;gap:1.3rem;padding:1rem 1.2rem;background:#363751;color:white!important;font-weight:700;text-decoration:none}
.dgr-hero-action p{font-size:.8rem;line-height:1.3;margin:0}
.dgr-hero-action strong,.dgr-hero-action small{display:block}
.dgr-context{padding:clamp(5rem,9vw,9rem) 0}
.dgr-context .dgr-shell{display:grid;grid-template-columns:1.1fr .9fr;gap:6rem}
.dgr-context h2{max-width:14ch}
.dgr-context p{font-size:1.13rem;margin-top:0}
.dgr-context a{display:block;margin:.6rem 0;font-size:.82rem;font-weight:700}
.dgr-fronts{background:#e8e4ed;padding:clamp(5rem,9vw,9rem) 0}
.dgr-fronts h2{max-width:13ch;margin-bottom:3rem}
.dgr-front-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.dgr-front-grid>section{padding:2rem;background:#fff;border-top:4px solid #766b8e}
.dgr-front-grid>section+section{background:#363751;color:#fff;border-top-color:#b9aacd}
.dgr-front-grid span{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700}
.dgr-front-grid h3{font-size:3rem;line-height:1;margin:1rem 0}
.dgr-front-grid>section>a{font-size:.78rem;font-weight:700}
.dgr-front-grid section>div{border-top:1px solid currentColor;margin-top:2rem;padding-top:1rem}
.dgr-front-grid h4{font-size:1.75rem;margin:0}
.dgr-front-grid section>div p{margin:.4rem 0 1.2rem}
.dgr-front-grid section>div a{font-weight:700;font-size:.83rem}
.dgr-argument{background:#6d6984;color:#fff;padding:clamp(5rem,9vw,9rem) 0}
.dgr-argument .dgr-shell{display:grid;grid-template-columns:1fr 1fr;gap:6rem}
.dgr-argument h2{max-width:12ch}
.dgr-argument-lead figure{margin:2.6rem 0 0;border:7px solid #e5dbe2;box-shadow:12px 12px 0 #49465f}
.dgr-argument-lead img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.dgr-argument p{font-size:1.17rem}
.dgr-argument p:first-child{margin-top:0}
.dgr-comparison{padding:clamp(5rem,9vw,9rem) 0}
.dgr-comparison h2{max-width:14ch;margin-bottom:3rem}
.dgr-table-head,.dgr-table-row{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:3rem}
.dgr-table-head{border-top:2px solid var(--ink);padding:1rem 0;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700}
.dgr-table-row{border-top:1px solid var(--line);padding:1.5rem 0}
.dgr-table-row:last-child{border-bottom:1px solid var(--line)}
.dgr-table-row h3{font-size:2.1rem;line-height:1.07;margin:0}
.dgr-table-row p{margin:0}
.dgr-niches{background:#fff;padding:clamp(5rem,9vw,9rem) 0}
.dgr-niches .dgr-shell{display:grid;grid-template-columns:.8fr 1.2fr;gap:6rem}
.dgr-niches h2{max-width:12ch}
.dgr-niches .dgr-shell>div:first-child p{font-size:1.1rem}
.dgr-niches .dgr-shell>div:last-child{border-top:2px solid var(--ink)}
.dgr-niches section{display:grid;grid-template-columns:1fr 1.4fr;gap:1rem;padding:1.2rem 0;border-bottom:1px solid var(--line)}
.dgr-niches h3{font-size:2rem;margin:0}
.dgr-niches section p{margin:0}
.dgr-niches a{grid-column:2;font-size:.83rem;font-weight:700}
.dgr-accounting{background:#e0e3ea;padding:clamp(5rem,9vw,9rem) 0}
.dgr-accounting .dgr-shell{display:grid;grid-template-columns:1fr 1fr;gap:6rem}
.dgr-accounting h2{max-width:13ch}
.dgr-accounting p{font-size:1.1rem}
.dgr-accounting a{display:block;margin:1rem 0;font-weight:700}
.dgr-close{background:#303349;color:#f6f3ef;padding:clamp(5rem,9vw,9rem) 0}
.dgr-close .dgr-shell{display:grid;grid-template-columns:1fr 1fr;gap:6rem}
.dgr-close h2{max-width:13ch}
.dgr-close p{font-size:1.1rem}
.dgr-button{background:#e4d9e7;color:#303349!important;margin-top:1rem}
.dgr-offers{border-top:1px solid currentColor}
.dgr-offers a{display:grid;grid-template-columns:1fr auto auto;gap:1rem;align-items:baseline;padding:1rem 0;border-bottom:1px solid currentColor;text-decoration:none}
.dgr-offers a span:first-child{font-family:var(--font-display,Georgia,serif);font-size:1.55rem}
.dgr-offers strong{font-size:.84rem}
.dgr-offers small{display:block;margin-top:1rem;line-height:1.5}
.dgr-faq{padding:clamp(5rem,9vw,9rem) 0}
.dgr-faq .dgr-shell{display:grid;grid-template-columns:.7fr 1.3fr;gap:4rem}
.dgr-faq h2{max-width:10ch}
.dgr-faq section{border-top:1px solid var(--ink);padding:1rem 0}
.dgr-faq h3{font-family:var(--font-body,"DM Sans",sans-serif);font-size:1rem;font-weight:700;margin:0}
.dgr-faq p{max-width:65ch}
.dgr-foot{background:#e4e1eb;padding:1.2rem 0}
.dgr-foot .dgr-shell{display:flex;justify-content:space-between;align-items:center;gap:2rem}
.dgr-foot p,.dgr-foot nav{font-size:.82rem}
.dgr-foot nav{display:flex;gap:1.3rem}
@media(max-width:800px){.dgr-shell{width:calc(100% - 2rem)}.dgr-hero{display:flex;flex-direction:column;min-height:0}.dgr-hero-panel{order:1;width:100%;margin:0;box-shadow:none;padding:5rem 1rem 2rem}.dgr-hero>figure{position:relative;order:2;height:215px}.dgr-crumbs{margin-bottom:1.3rem}.dgr-hero h1{font-size:clamp(2.35rem,9vw,4rem)}.dgr-hero-panel>p{font-size:.98rem}.dgr-hero-action{display:block;margin-top:.7rem}.dgr-hero-action a{width:100%}.dgr-hero-action p{margin-top:.7rem}.dgr-context .dgr-shell,.dgr-front-grid,.dgr-argument .dgr-shell,.dgr-table-row,.dgr-niches .dgr-shell,.dgr-accounting .dgr-shell,.dgr-close .dgr-shell,.dgr-faq .dgr-shell{grid-template-columns:1fr;gap:1rem}.dgr-table-head{display:none}.dgr-table-row{gap:.5rem}.dgr-table-row p{padding-left:1rem;border-left:1px solid var(--line)}.dgr-niches section{grid-template-columns:1fr}.dgr-niches a{grid-column:1}.dgr-foot .dgr-shell{display:block}.dgr-foot nav{flex-wrap:wrap}}
