
/* Extensions of the original Parapluie visual system. */
:root { color-scheme: dark; }
::selection { background: var(--gold); color: var(--noir-deep); }
:focus-visible { outline: 2px solid var(--gold-light); outline-offset: 5px; }
[hidden] { display: none !important; }
html { scrollbar-color: var(--gold) var(--noir-deep); }
input, select, textarea { caret-color: var(--gold-light); }
.graduation-intro { display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:64px;align-items:center;margin-top:36px; }
.graduation-hero h1 { max-width:9ch;font-size:clamp(52px,6.5vw,96px);line-height:.98;text-wrap:balance; }
.graduation-lede { font-family:var(--font-body);color:var(--cream);font-size:clamp(18px,1.6vw,22px);line-height:1.7;max-width:42ch;margin:28px 0; }
.graduation-actions {display:flex;flex-wrap:wrap;gap:14px;}
.graduation-photo {margin:0;position:relative;}
.graduation-photo img {width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius-sm);}
.graduation-photo figcaption {font:11px var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:14px;}
.graduation-hero .page-hero-meta {gap:16px;flex-wrap:wrap;margin-top:40px;}
.graduation-hero .page-hero-meta-item {padding-right:16px;}
.graduation-extras {display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;border-top:1px solid var(--line);margin-top:48px;padding-top:32px;}
.graduation-extras h3,.service-copy h3 {font-family:var(--font-display);font-size:32px;font-weight:400;text-transform:uppercase;margin-bottom:12px;}
.graduation-extras p,.service-copy p {max-width:65ch;font-family:var(--font-body);color:var(--cream);font-size:17px;line-height:1.8;}
.graduation-extra-price {font:48px var(--font-display);color:var(--gold);text-align:right;font-variant-numeric:tabular-nums;}
.graduation-extra-price span {display:block;font:12px var(--font-ui);color:var(--cream);margin-top:8px;}
.service-copy h3:not(:first-child) {margin-top:32px;}
.service-copy .rules-link {margin-top:28px;display:inline-flex;}
.product-options {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch;}
.product-options .pkg {display:flex;flex-direction:column;min-width:0;}
.product-options .pkg-name {font-weight:400;}
.product-options .pkg .btn {margin-top:auto;padding-left:16px;padding-right:16px;letter-spacing:.1em;}
.product-options .pkg-features {margin-bottom:32px;}
.product-options .custom-price {font-size:clamp(40px,3.5vw,56px);line-height:1.2;margin-top:18px;}
.product-custom-copy {font-family:var(--font-body);color:var(--cream);font-size:17px;line-height:1.8;margin:24px 0 32px;}
.product-estimate {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start;}
.product-estimate h2 {font:400 clamp(36px,4vw,60px)/1.05 var(--font-display);text-transform:uppercase;margin-bottom:24px;text-wrap:balance;}
.product-estimate p {font-family:var(--font-body);color:var(--cream);line-height:1.8;margin-bottom:18px;}
.estimate-form {padding:32px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--noir);}
.estimate-fields {display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.estimate-fields>div:first-child {grid-column:1/-1;}
.estimate-fields label {display:block;font-size:12px;letter-spacing:.06em;margin-bottom:10px;}
.estimate-fields input,.estimate-fields select {width:100%;padding:14px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);font:16px var(--font-ui);background:var(--noir-deep);color:var(--cream);}
.estimate-form #estimateHelp {font-size:13px;margin-top:18px;color:var(--muted);}
.estimate-form .estimate-error {color:#f4bdb3;font-family:var(--font-ui);font-size:14px;}
.estimate-total {display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding-top:24px;margin-top:24px;}
.estimate-total>span {font-size:13px;}
.estimate-total output {font:48px var(--font-display);color:var(--gold-light);font-variant-numeric:tabular-nums;}
.estimate-form #estimateBreakdown {font-size:14px;margin-top:12px;}
.estimate-form .btn {width:100%;letter-spacing:.1em;}
.btn[aria-disabled="true"] {opacity:.5;cursor:not-allowed;}
.journal-empty {padding:48px 0;font-family:var(--font-body);font-size:20px;color:var(--cream);}
.journal-empty button {font:inherit;color:var(--gold);text-decoration:underline;text-underline-offset:4px;}
.filter-search input {min-width:0;}
.journal-article-hero {padding-bottom:48px;}
.journal-article-hero h1 {max-width:16ch;font:400 clamp(46px,6vw,88px)/1.02 var(--font-display);text-transform:uppercase;text-wrap:balance;}
.article-deck {max-width:60ch;font:19px/1.8 var(--font-body);color:var(--cream);margin:28px 0;}
.article-meta {display:flex;gap:12px 24px;flex-wrap:wrap;color:var(--gold);font:12px var(--font-ui);letter-spacing:.06em;margin-top:24px;}
.article-hero-image {margin:0;}
.article-hero-image img {width:100%;max-height:580px;aspect-ratio:2.2/1;object-fit:cover;object-position:center 35%;border-radius:var(--radius-sm);}
.article-hero-image figcaption {font:12px/1.6 var(--font-ui);color:var(--muted);margin-top:12px;max-width:75ch;}
.article-layout {display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(40px,7vw,100px);align-items:start;}
.article-toc {position:sticky;top:130px;font:13px/1.65 var(--font-ui);}
.article-toc h2 {font:400 26px var(--font-display);text-transform:uppercase;margin-bottom:18px;color:var(--gold);}
.article-toc ol {list-style:none;padding:0;margin:0;}
.article-toc li {border-bottom:1px solid var(--line);padding:11px 0;}
.article-toc a:hover {color:var(--gold-light);}
.article-body {max-width:68ch;font:18px/1.9 var(--font-body);color:var(--cream);}
.article-body p {margin:0 0 24px;}
.article-body .article-intro {font-size:22px;line-height:1.8;color:var(--gold-light);}
.article-body h2 {font:400 clamp(30px,3vw,40px)/1.18 var(--font-display);text-transform:uppercase;color:var(--cream);margin:52px 0 20px;text-wrap:balance;scroll-margin-top:130px;}
.article-body a {color:var(--gold-light);text-decoration:underline;text-underline-offset:4px;}
.article-next {margin-top:56px;border-top:1px solid var(--line);padding-top:32px;}
.article-next .btn {text-decoration:none;font-family:var(--font-ui);color:var(--noir-deep);max-width:100%;white-space:normal;}
.article-footer-links {display:flex;gap:24px;flex-wrap:wrap;margin-top:28px;font:13px var(--font-ui);}
.article-related {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;}
.article-related a {border-top:1px solid var(--line);padding-top:24px;}
.article-related small {font:11px var(--font-ui);letter-spacing:.1em;color:var(--gold);}
.article-related h3 {font:400 30px/1.2 var(--font-display);text-transform:uppercase;margin:14px 0;}
.article-related p {font:15px/1.7 var(--font-body);color:var(--muted);}
.casting-preview-note {padding:16px;border:1px solid var(--line);border-radius:var(--radius-sm);font:14px/1.7 var(--font-ui);color:var(--cream);margin-top:20px;}
@media(max-width:1100px) { .graduation-intro {gap:32px;} .product-options {gap:16px;} .product-options .pkg {padding:28px 22px;} .product-estimate {gap:32px;} }
@media(max-width:900px) { .graduation-intro,.product-estimate {grid-template-columns:1fr;} .graduation-hero h1 {max-width:13ch;} .graduation-photo {max-width:600px;} .graduation-photo img {aspect-ratio:5/4;object-position:center 35%;} .product-options {grid-template-columns:1fr;} .product-options .pkg {padding:32px;} .article-layout {grid-template-columns:1fr;gap:40px;} .article-toc {position:static;} .article-toc ol {display:grid;grid-template-columns:1fr 1fr;gap:0 24px;} .article-body {max-width:68ch;} .article-related {grid-template-columns:1fr;} }
@media(max-width:600px) { .graduation-actions {display:grid;} .graduation-hero .page-hero-meta {display:grid;grid-template-columns:1fr;gap:14px;} .graduation-hero .page-hero-meta-item {border:0;} .graduation-extras {gap:20px;grid-template-columns:1fr;} .graduation-extra-price {text-align:left;} .estimate-form {padding:24px 20px;} .estimate-fields {grid-template-columns:1fr;} .estimate-total {align-items:flex-start;flex-direction:column;gap:10px;} .article-toc ol {grid-template-columns:1fr;} .article-hero-image img {aspect-ratio:4/3;} .article-body {font-size:17px;} .article-body .article-intro {font-size:20px;} .article-meta {gap:10px 18px;} .filter-bar .container {min-width:0;} .filter-pills {min-width:0;max-width:100%;overflow-x:auto;} .filter-search {width:100%;min-width:0;} }
@media(max-width:600px) { .top-strip .right {flex-wrap:wrap;justify-content:center;gap:6px 14px;} .top-strip .right a {white-space:nowrap;} .top-strip .right .sep {display:none;} .whatsapp-float {display:none;} }
@media(prefers-reduced-motion:reduce) { html {scroll-behavior:auto;} *,*::before,*::after {animation:none!important;transition:none!important;} }
