Alors en fait, la page index, qu'elle soit en .php, en .jsp, en .html, etc. est par convention la page que le serveur web va tenter d'ouvrir en premier si aucune page n'est spécifiée dans l'url.
Ainsi, si tu demandes à accéder à l'url
http://www.phpfrance.com/ le serveur va regarder s'il trouve une page index.php (ou .html ou .autreChose, ca dépend de sa configuration) à la racine du site et si c'est le cas te la retourner.
De même si tu demandes la page
http://www.phpfrance.com/forums/ alors il va regarder s'il trouve une page portant ce nom dans le dossier forums/ du site.
Tu peux ainsi avoir plusieurs pages index.xxx dans un site, mais tu n'en auras qu'une seule par dossier
Concernant l'organisation d'un site et les répertoires, il y a probablement autant de façon de faire que de développeurs. La solution préconnisé étant généralement "la plus logique", l'idée étant que quelqu'un qui ne connait pas (ou plus) le site puisse s'y retrouver facilement pour le modifier. A partir de là, il existe des frameworks avec leur architecture propre, des exemples dans des livres, et des habitudes persos de chacun
Enfin, concernant les "../" il faut savoir qu'en php tout comme html, tu peux faire appel à des éléments se trouvant dans d'autres répertoires que celui où la page se trouve. C'est fort pratique par exemple pour créer un dossier "images/" contenant... ben les images du site par exemple et que chacune des pages va pouvoir venir chercher.
Pour faire appel à une image, ou dans ton exemple à une feuille de style css, il faut donner le chemin de celle-ci.
La syntaxe "../" indique que pour accéder au fichier en question, il est nécessaire de remonter d'un dossier dans l'arborescence. Le nom d'un dossier désigne le dossier dans lequel l'on doit descendre.
"../design/style1.css" indique donc que pour accéder à la feuille de style style1.css à partir de la page où tu te trouve, il te faut remonter dans le dossier parent (ou supérieur, comme tu préfères) puis descendre dans le dossier "design/"
Tu peux en utiliser plusieurs pour remonter de plusieurs dossiers, par exemple : "../../../design/style1.css" indique qu'il faut remonter de 3 dossiers pour trouver le dossier "design/"
Tu peux également le trouver avec un seul point : "./" cela correspond au dossier courrant (donc en gros, ça ou rien, c'est pareil

, mais il peut arriver qu'un jour tu tombes dessus ou en ait besoin, justement pour spécifier que c'est dans le dossier courrant qu'il faut chercher quelque chose )
Enfin, pour en finir avec les chemins, il se peut également qu'un chemin commence directement par un slash "/", par exemple : "/design/style1.css". Le "/" désigne alors la racine des dossiers. Cela signifie donc que peu importe où se trouve la page, il faut partir de la racine pour aller trouver le fichier css.
Attention toutefois, s'il est utilisé pour une url (ex : lien, image, fichier javascript ou css), le "/" désigne la racine du site (c'est à dire le nom de domaine). S'il est utilisé pour le système de fichier (par exemple un include en php) le "/" désigne alors la racine du disque dur (en gros le C:\ si ton site est sur le disque C: de windows)
HTH
