:root{--paper:#f5f0e5;--card:#fffdf8;--ink:#183932;--muted:#5e6a60;--green:#234b40;--coral:#d96d50;--gold:#e6b64f;--line:#d9d4c8;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;--max:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.65 var(--sans)}a{color:var(--green);text-decoration:underline;text-decoration-color:#9aab9e;text-underline-offset:3px}a:hover{color:var(--coral)}.wrap{width:min(var(--max),calc(100% - 48px));margin:auto}.topline{background:var(--green);color:#fffaf0;text-align:center;padding:8px 16px;font-size:12px;letter-spacing:.07em}header{position:relative;background:rgba(245,240,229,.97);border-bottom:1px solid var(--line)}.head{display:flex;align-items:center;justify-content:space-between;gap:26px;min-height:78px;padding:12px 0}.brand{color:var(--green);text-decoration:none;font-weight:800;letter-spacing:.05em;line-height:1.15}.brand small{display:block;color:var(--coral);font:italic 13px var(--serif);letter-spacing:0;margin-top:5px}.nav{display:flex;align-items:center;justify-content:flex-end;gap:10px 20px;flex-wrap:wrap}.nav a{font-size:13px;font-weight:700;text-decoration:none;color:var(--ink)}.nav a:hover{color:var(--coral)}.hero{position:relative;isolation:isolate;overflow:hidden;background:var(--paper);border-bottom:1px solid var(--line);padding:48px 0 44px;min-height:245px}.hero:before,.hero:after{content:'';position:absolute;z-index:-1;display:block;background-color:var(--card);background-size:cover;background-position:center;border:8px solid var(--card);box-shadow:0 14px 30px #19352c20}.hero:before{width:178px;height:224px;right:max(19vw,calc((100vw - var(--max))/2 + 170px));top:25px;transform:rotate(-7deg);background-image:url('/assets/student-projects/autumn-pumpkins.jpg')}.hero:after{width:190px;height:245px;right:max(4vw,calc((100vw - var(--max))/2 + 10px));top:18px;transform:rotate(5deg);background-image:url('/assets/student-projects/moonlit-forest.jpg')}.hero .wrap{position:relative}.crumb{font-size:13px;color:var(--muted);margin:0 0 14px}.crumb a{color:var(--green)}h1,h2,h3{line-height:1.17}h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:-.03em;color:var(--green)}h1{font-size:clamp(38px,5vw,58px);max-width:60%;margin:0 0 14px}.hero p{font-size:17px;max-width:56%;color:#4f6057;margin:0}.hero .actions{max-width:55%;margin-top:18px}.actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-block;border-radius:3px;background:var(--green);padding:12px 19px;color:#fff;text-decoration:none;font-weight:800}.button:hover{background:#17392f;color:#fff}.button.secondary{background:var(--coral);border:1px solid var(--coral);color:#fff}.button.secondary:hover{background:#bd563d}main{padding:0 0 56px;display:grid;grid-template-columns:minmax(0,2.2fr) minmax(245px,.8fr);gap:44px;align-items:start}.content{padding:34px 0 0;max-width:none;min-width:0}.content section{padding:19px 0 24px;border-bottom:1px solid var(--line)}.content section:first-child{padding-top:4px}.content h2{font-size:29px;margin:0 0 12px}.content h3{font:24px var(--serif);font-weight:500;margin:0 0 10px}.content p{margin:0 0 14px;color:#354c43}.content ul,.content ol{padding-left:24px;margin:8px 0 15px}.content li{padding:3px 0}.callout{background:#eae3d5;border-left:3px solid var(--coral);padding:20px 22px;margin:22px 0;color:var(--ink)}.faq{border:0!important}.faq details{border-top:1px solid var(--line);padding:15px 4px;margin:0;background:transparent}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-weight:800;color:var(--green)}.faq details p{margin:10px 0 0}.more{position:sticky;top:22px;margin-top:42px;padding:24px;background:#eae3d5;border-top:3px solid var(--gold)}.more h2{font:23px var(--serif);font-weight:500;margin:0 0 14px}.more ul{list-style:none;padding:0;margin:0}.more li{margin:0;border-top:1px solid #d1cabd}.more li a{display:block;padding:8px 0;font-size:13px;text-decoration:none}.more li a:hover{color:var(--coral)}footer{background:var(--green);color:#f7f3e9;padding:30px 0;font-size:13px}footer a{color:#fff;text-decoration-color:#ffffff80}footer .foot-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin:10px 0 12px}footer p{margin:5px 0}.gallery-content{grid-column:1/-1;max-width:none;padding-top:20px}.project-section{padding:10px 0 22px!important;border:0!important}.project-section h2{font-size:30px!important;padding-bottom:10px;border-bottom:1px solid var(--line)}.project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0 0}.project-card{margin:0;border:1px solid var(--line);border-radius:2px;overflow:hidden;background:var(--card);box-shadow:0 7px 18px #19352c0c}.project-card>a{display:block;background:#eae3d5;padding:8px}.project-card img{display:block;width:100%;height:182px;object-fit:contain}.project-card figcaption{padding:11px 13px}.project-card h3{font:18px var(--serif);font-weight:500;margin:0}.project-card a:focus-visible{outline:4px solid var(--gold);outline-offset:-4px}.gallery-next{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:25px;padding:25px;background:#eae3d5}.gallery-next h2{font:27px var(--serif);margin:0 0 5px}.gallery-next p{margin:0 0 12px;color:var(--muted)}.gallery-links{display:flex;flex-wrap:wrap;gap:8px 18px}.gallery-links a{font-weight:700;font-size:13px}.gallery-next>.button{white-space:nowrap}.art-viewer{border:0;border-radius:4px;padding:18px;background:#fffdf8;color:var(--ink);width:min(94vw,980px);max-height:94vh;box-shadow:0 25px 90px #1118}.art-viewer::backdrop{background:#101b18c9}.viewer-image{display:block;max-width:100%;max-height:70vh;margin:auto;object-fit:contain}.viewer-controls{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:12px}.viewer-close{float:right;border:0;background:var(--green);color:white;padding:8px 12px;cursor:pointer}.viewer-button{border:1px solid var(--line);background:#eae3d5;padding:9px 13px;cursor:pointer}.gallery-page .hero{min-height:220px;padding:42px 0}.gallery-page .hero h1{max-width:70%}.gallery-page .hero p{max-width:60%}
@media(max-width:900px){.head{align-items:flex-start;flex-direction:column;justify-content:center;gap:12px}.nav{justify-content:flex-start}.hero:before{right:18vw;width:150px;height:190px}.hero:after{right:3vw;width:160px;height:210px}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}main{gap:28px}.more{padding:18px}}
@media(max-width:650px){.wrap{width:min(100% - 32px,560px)}.head{padding:14px 0}.nav{gap:8px 14px}.nav a{font-size:12px}.hero{min-height:0;padding:34px 0 32px}.hero:before,.hero:after{display:none}h1{max-width:none;font-size:clamp(36px,10vw,48px)}.hero p{max-width:none;font-size:16px}.hero .actions{max-width:none}.hero .button{padding:10px 14px;font-size:13px}main{display:flex;flex-direction:column;gap:16px;padding-bottom:38px}.content{padding-top:24px}.content section{padding:16px 0 20px}.content h2{font-size:25px}.more{position:static;margin:8px 0 0;width:100%}.more ul{columns:2;column-gap:20px}.more li{break-inside:avoid}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.project-card img{height:150px}.project-card figcaption{padding:9px}.project-card h3{font-size:16px}.gallery-next{display:block;padding:20px}.gallery-next>.button{margin-top:18px}.gallery-page .hero h1,.gallery-page .hero p{max-width:none}}

/* Shared studio editorial treatment across every content page */
.content section:not(.faq){background:var(--card);border:1px solid var(--line);border-top:2px solid var(--gold);padding:24px 26px;margin:0 0 18px}
.content section:first-child{padding-top:24px}
.content section.faq{background:var(--card);border:1px solid var(--line)!important;border-top:2px solid var(--gold)!important;padding:22px 26px;margin:0 0 18px}
.content section.faq details:first-of-type{border-top:0}
.callout{background:var(--green);border-left:4px solid var(--gold);color:#fffaf0}
.callout strong{color:#f1c56d}
.more{background:var(--green);border-top:3px solid var(--coral);color:#fffaf0}
.more h2{color:#fffaf0}
.more li{border-color:#ffffff30}
.more li a{color:#f4f0e5}
.more li a:hover{color:#f1c56d}
:focus-visible{outline:3px solid var(--coral);outline-offset:3px}
@media(max-width:650px){.content section:not(.faq),.content section.faq{padding:20px 18px}.content section:first-child{padding-top:20px}}
